@aztec/protocol-contracts 0.46.3 → 0.46.5

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
- {"transpiled":true,"noir_version":"0.31.0+97ecff5ea76a0da878bdccc453b121147f726ec4","name":"MultiCallEntrypoint","functions":[{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::caller_context::CallerContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7P3friw7t9yJvcu5FhpJJv/qVQzDaFvdhoCGZFjylaB3d219q6rmOnNmJWutkcXgiLjqo0Z9tTl+sTcZMWZx8H/823/6P/6f/7//9//jP/+X//O//rd/+4//t//xb//Xf/1//e///T//1/9y+3/9j3+L5X/9//tv/5///b/88//8b//9f////vd/+4/bf/i3/+O//Kfb//d//od/+z//8//1f/zbf9x7/5//4dvnYgn910djSeHx6RDjD5/ea4q/Pr23rZ98uqcefn265/xcSbz9c/7v/+HfYl114W3VhffPLTyFel9Kinv4u4Xv298sfG9xezDM5fHpnv7Xd4cLvzv+9N0p3f8nqfaT7w99S78+HPq+Pz79zz/q+4dze3w49+dXx/4vijvUahLUavLfr6bf/0uNsZysJoa93JcTb+sJ//5fnPLh5ZSwP5ZTym/L+eFf+vT8lz59+e7wz67w7dO13iut7fkfSPhVaGUptLEU2kkKTRtLoYGl0MhS6M5SaGIpNLMUiu2Mcrl/ei9bPS20/vpwC8913MLVT6su9Z6+Qv0nQ90/HerbCLE91xIIsd3cEgixfeIKCDO2A10CIba3XQIhtmteAiG2H18CYRLCv0WInSGWQMiaTmp+dNdrzb8h/AcLa+I4wcKaIk6wsCaD11gKq9s/wcLq4E+wsLryEyysTvsESxKWn7CwOuITLKwut235jqXF8g0Lq8s9wcLqck+wsLrc11gqq8s9wcLqck+wsLrcEyysLvcESxKWn7CwutwTLNgut6T2wFLyCZY9PRmG37D8Uyi2bzUsFNuJGhaK7S3tCm3YbtGwUGz/Z1gotqMzLBTboxkWmlgKxfZRhoV+3Bk97hLG0Fp8XWjcWyj3j+8tt68f/2f1denVt6VX31defd/AV1+fq+8x//vVh6VXH5de/b706tPSq89Lrx79rH29evCztu/3dlFMW/i234OftSerBz9rX68+bOCH7dnywU/bs+WDH7dnywc/b8+Wj33gpm0vz+XX+m352Cfu6fKxj9zT5WOfuSlujy9PsW7flo996KbY2mP5e47flo996p4tP2CfuqfLxz51T5ePfeqmXh47T97S/m352Kfu6fKxT928tceX51C/mYaAfeqeLh/71D1d/qdP3f4YqXH7v9P39TSw9Xz6XOz98ceRm+M4+ePI19Vv4cu0wvqv1ce/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uGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euWard67Z6p1rtnrnmq3et8RVLpWr6lyz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvVbPW6Uc1Wv5XL5Kpu5TK5qlu5TK7qVm7iKpfJVd3KZXJVt3KZXNWtXCZXdSuXy1VRzVa/lcvlqqhmq9/K5XJVVLPVb+VyuSqq2eq3crlcFdVs9Vu5XK6Karb6rVwuV0U1W/1WLperopqtfiuXy1VRzVa/lcvlqqhmq9/K5XJVVLPVb+VyuSqq2eq3crlcFdVs9Vu5XK6Karb6rVwuV0U1W/1WLperopqtfiuXy1VRzVa/lcvlqqhmq9/K5XJVVLPVb+VyuSqq2eq3crlcFdVs9Vu5XK6Karb6rVwuV0U1W/1WLperopqtfiuXy1VRzVa/lcvlqqhmq9/K5XJVVLPVb+VyuSqq2eq3crlcFdVs9Vu5XK6Karb6rVwuV0U1W/1WLperopqtfiuXy1VRzVa/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33xErleqqrQTPiLXK1VV2tsekeuVqrx2q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt9rbR9++td357vej4ufvZP3sfU1udPXr69etpvf/vJ+/H8yfPFT17a/Oe1S7ufWFQoK9S0aKu05byqRYUyWVWLCuXIqhYVyr5VLWpYlN2iQh2jqkWFps1VLSo0Ia9qEdOF9BYxXehr0f74wcux/N2iStc+qlrEdCG9RUwX0lvEdKGvRdvLovXEooZF2S1iupDeIqYL6S1iupDeIqYL6S1iutDXouXxF0DL+ve/ANoqXb2qahHThfQWMV1IbxHThfQWNSzKbhHThfQWMV1IbxHThfQWMV1IbxHThewWVbr+WNUipgvpLWK6kN4ipgvpLWpYlN0ipgvpLWK6kN4ipgvpLWK6kN4ipgvZLap0BbmqRUwX0lvEdCG9RUwX0lvUsCi7RUwX0lvEdCG9RUwX0lvEdCG9RUwXslu0MF1IbxHThfQWMV1IbxHThfQWNSzKbhHThfQWMV1IbxHThewWrb69SLt7cfVtL2KQvh1DDNK3CYhBNkBqQPqmajFI3+wrBumbUMUgfX9LJQbp+7skLciNZiMCSbOJgLxeibzRbEQgaTYikA2QGpA0mwjI6yWjG81GBJJmIwJJsxGBpNloQO40GxFImo3mt4g7zUYEkmYjAtkAqQFJsxGBpNmIQNJsRCBpNiKQNBsNyINmIwJJsxGBpNmIQNJsRCAbIDUgaTYikDQbEUiajQgkzUYEkmYjAbnfaDYikDQbEUiajQgkzUYEsgFSA5JmIwJJsxGBpNmIQNJsRCBpNhqQE81GBJJmIwJJ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37Usl+uVqpLvWZbL9UpVyXcsy+V6park+5Xlcr1SVfLdynK5Xqkq+V5luVyvVJV8p7JcrleqSr5PWS7XK1Ul36Usl+uVqu5eqerulaqSb8mWy/VKVc0rVTWvVJV8B7pcrleqSr4DXS7XK1Ul34Eul+uVqpLvQJfL9UpVyXegy+V6parkO9Dlcr1SVfId6HK5XqnKa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+9dqvPXrvVZ6/d6rPXbvX51rzkWqWq2Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671e9eu9XvXrvV71671e9eu9Xvt+Yl1ypV3b12q9+9dqvfvXar3712q9+9dqvfvXar3712q9+9dqvfvXar3712q9+9dqvfvXar3712q98rbd8+tvnx4u1+IrfQczcit9An87HvzxdvJ3ILfTJH5Bb6ZI7ILfTJHJFbqO8G5FbazxyRW+m5G5Bb6bkbkFuo70bkNi+5Xqmq0n7miNxhU9VLwrBJ6SUhdfr5eh/z8nwjt329+J/d+c9+Cs69SfkTglMnoE8ITp2B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qipdBY/I9UpVlS5gR+R6papK154jcr1SVaXLxhG5Xqmq0hXfiFyvVFXpYm1ErleqqnSdNSLXK1VVukQakeuVqipd3YzI9UpVlS5MRuR6papK1xQjcr1SVaXLgRG5Xqmq0pW8iFyvVFXpIlxErleqqnT9LCLXK1VVuvQVkeuVqipdtYrI9UpVlS44ReR6papK14oicr1SVaXLPBG5Xqmq0hWaiFyvVFXp4kpErleqqnRdJCLXK1VVuqQRkeuVqipdjYjI9UpVlS4kROR6papK1wAicr1SVaWt+hG5Xqmq0ub7iFyvVFVpO31ErleqqrRBPiLXK1VV2vIekeuVqiptYo/I9UpVXrvVN6/d6pvXbvXNa7f65rVbffParb557VbfvHarb1671Tev3eqb1271zWu3+ua1W33z2q2+ee1W37x2q29eu9U3r93qu9du9d1rt/rutVt999qtvt+al1yrVLV77VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f64bVb/fDarX547VY/vHarH7fmJdcqVR1eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/2w2q2+3ax2q3/JdUpVX3KdUtWXXKdU9SW3ecl1SlVfcp1S1Zdcp1T1JdcpVX3J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1LrlWqmrx2q09eu9Unr93qk9du9S8xXnKtUtXktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du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yC2USyNyCyXNiNxC2TEit3nJLZTvInILJbaI3EIZLCLXK1XNXqnq7pWq7l6p6u6Vqu5eqerevOR6paq7V6q6e6Wqu1equnulquaVqppXqmpeqap5parWvOR6parmlaqaV6qqdMc+ItcrVVW62R6R65WqKt0nj8j1SlWVbnFH5Hqlqkp3pyNyvVJVpRvLEbleqarSPeGIXK9UVel2bkSuV6qqdCc2ItcrVVW6iRqR65WqKt3/jMj1SlWVbl1G5Hqlqkp3HSNyvVJVpRuGEbleqarSvb6IXK9UVek2XUSuV6qqdIctItcrVVW6ORaR65WqKt3Xisj1SlWVbklF5Hqlqkp3kyJyvVJVpRtBEbleqarSPZyIXK9UVen2S0SuV6qqdOckItcrVVW66RGRa5Wq1kr3KyJyrVLVWulWQ0SuVapab81LrlWqWivt4I/ItUpVa6U9+RG5Xqmq0i77iFyvVFVp33xErleqqrQTPiLXK1VV2tsekeuVqrx2q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt9rbR9++td357vej4ufvZP3sfU1udPXr69etpvf/vJ+/H8yfPFT17a/Oe1S7ufWFQoK9S0aKu05byqRYUyWVWLCuXIqhYVyr5VLWpYlN2iQh2jqkWFps1VLSo0Ia9qEdOF9BYxXehr0f74wcux/N2iStc+qlrEdCG9RUwX0lvEdKGvRdvLovXEooZF2S1iupDeIqYL6S1iupDeIqYL6S1iutDXouXxF0DL+ve/ANoqXb2qahHThfQWMV1IbxHThfQWNSzKbhHThfQWMV1IbxHThfQWMV1IbxHThewWVbr+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MlfwVcFfKf78RbK73kRPY4ve4Gtkv9P78Y+e72ISfUqb9Cb6jDbpTfQJbdKbqBOb9CZqxCa9mZ6/Fr2Znr8GvcHXx/rrTdSETXrF8lXw3bH+euuoet80DJuZ3jTEzkH7sj3/U9qXT83843Xou97YOchfb+wc5K83dg5y1xt8uau/3tg5yF9v7Bzkrzd2DvLXW8X0xs5M/nrF8lXwra7+esXyVfCdru56g6909dcrlq+CL3T11yuWr7YqplcsXwVf2OuvVyxfbWL5KvhGZne9wVcy++sVy1fBlzL76xXLV8HXMvvrFctXwRcz++sVy1fBVzP76xXLV8GXM/vrFctXwVc5++sVy1fB1z776xXLV8GXPvvrFctXwVc+++vVyldT8H3P/nq18tUUfNezv16tfHVXI6ZXK19NwXc8++vVyldT8P3O/nrF8lXw3c7+esXyVfC9zv56xfJV8J3O/nrF8lXwfc7+esXyVfBdzv56xfJV8D3O/nrF8lXwHc7+esXyVfD9zf56xfJV8N3N/nrF8lXwvc3+esXyVfCdzf56xfJV8H3N/nrF8lXwXc3+esXy1SyWr2axfBV8D7e/XrF8VcXyVRXLV8H3rPvrFctXwfes++sVy1fB96z76xXLV8H3rPvrFctXwfes++sVy1fB96z76xXLV8H3rPvrFctXYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf3sR299exPa3F7H97UVsf3u5VTG9WvmqiO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1v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376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97YfY/vZDbH/7Iba//RDb337cqpherXx1iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2t/+3bT2t9+1yuVr+56pfLVXa9UvrrrrWJ6pfLVXa9UvrrrlcpXd71S+equVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+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7ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72Ira/vYjtby9i+9uL2P72cqtierXyVRHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rfPYvvbZ7H97bPY/vZZbH/7fKtierXy1Sy2v30W298+i+1vn8X2t89i+9tnsf3ts9j+9llsf/sstr99FtvfPovtb5/F9rfPYvvb50z7vY+tPF68zWd6Ez1/TXoTfT4f+/588XamN9Hns0lvos9nk95En88mvYn6r0Vvpv3PJr2Znr8WvZmevxa9ifqvSW8V0yuWrzLtfzbpHTZfvWkYNjO9aQidg+7voyzPN3Lb1w//5Z3/7Jfi2JuamygOnYWaKA6dhpooDp2HmiiucopDZ6ImikOnoiaKQ+eiJopDp6gmiuUyV+ztzU0Uy2Wu2BucmyiWy1yxtzg3USyXuWJvcm6iWC5zxd7m3ESxXOaKvdG5iWK5zBV7q3MTxXKZK/Zm5yaK5TJX7O3OTRTLZa7YG56bKJbLXLG34n6reKmPv4Nd6qniVE8nk+JUn1zL8vhbjWU9+1uN2LtTmyhO9cllURx7f2oTxanaoklxqrZoUpzqeXzX9OvV61zOFKd6HpsUp2qLJsWp2qJJcarMZVKc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81eVtut3zWvmryptwO+a18xfVdpS3zWvmb+qtEm+a14zf1Vp23vXvGb+ymx/+2a2v30z29++me1v38z2t29m+9s3s/3tm9n+9s1sf/tmtr99M9vfvpntb9/M9rdvZvvbN7P97ZvZ/vbNbH/7Zra/fTfb376b7W/fzfa372b72/dbM5vXy1/tZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vffpjtbz/M9rcfZvvbD7P97cetmc3r5a8Os/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+eO1v325e+9sf81r5q8e8Vv7qMa+Vv3rM28zmtfJXj3mt/NVjXit/9ZjXyl895jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Xv5rM9rdPZvvbJ7P97ZPZ/vbHNGbzevmryWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPlXa7/1417evdz0fH/72T97H/X5ffr34ft+n7/dxLP/mX55v8/PF8217YTfd/uov78fXX54//OWlzb9eu7T7mfqF3Ajq/1j9Qt4M9X+sfkN9Y/UL+XbU/7H6hVIM6v9Y/UKZDvV/rH6hhIv6P1a/0PcpqP9D9edK11VQ/8fq0/U5q0/XV1X9/QljOZYz9en6nNVvqG+sPl2fs/p0fVXV377VX8/Up+tzVp+u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"},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b3U7bQBCF18GhBoOb2HGckEAIBaTehRSScMfLtM/d60p9haqss6Mclmm0UcdLVool5LG9O+ebsz+EyERqfSSvP5GJ2+Z8rN4f1ObFnGf/dzwI5po1yRkFwtkKhPMoEM5YkDNiOPU5NrFed3rNfVLr9fjuIXbWA30Ez9W2RLZqYgJ8eC1V6Wr2fAzJEVwZ8Ng8o7PGSc0zBEtNkXUbuEeFtuAe6RzBPdrBSCcxpgjX+5RskOXyvs4+XcOJyUXcKcT4bAzWxQ3V2Jav8bGRMXn1rqExqVcx+d42uRO4pjE4NbHgb44H1I7Mz6k1F2KIR9CW2pEfLWDVx7narJfTLf1iq18GbY6hn7230DWNtfaqa2J9btOeAPkb8HCm86byed+MTWx5l0JNGXgioz1f6fxn6u0RWdfXEGfAcy7Os1578nWux+4zsMvkfXrUXnUsr84srzJogwydBvyLQJdy03WH0ZbzYrHS2l0HL7oMT9ezF11GW9CLZ62dO3iRMzy5Zy9yRlvOi+U3rV04eFEwPIVnLwpGW86Lef0ZoOfgRY/h6Xn2osdoC66Rel6UDl6UDE/p2YuS0Rb04ofW7jt40Wd4+p696DPagl5819qVgxcVw1N59qJitAX3zvrzxcDBiwHDM/DsxYDRFvRirrWHDl4MGZ6hZy+GjLbgGqm1Lxy8uGB4Ljx7QXq7MvcCZK4CZC72gDmxYhntRb1/jhy8GDE8I89e4HcuuzCXe8CcWLGM9uJJa48dvBgzPGPPXpDersx5gMxFgMz9AJnLAJmrAJn3YT4nViyjvaz30EsHLy4ZnkvPXpDersx5gMyjAJmLPWBOrFhGe1l/N3fl4MUVw3Pl2QvS25V5ECBzdw+YEyuW0V4utPbEwYsJwzPx7AXp7co8DJC5CpB5FCBzESBzP0DmMkDmwxr0w5zvATO+e/S7UZ75c2rxkGfKYlQWYwpxBozU9kXJva+SWbWT1lTcj/X42POFrqeNas9XOu+XBmrSeW/l89Z/I9yZXPQO3y3j1b2JI+FxuoO8EejQ/RjiX9CW2pEftB8Qu36X68bE91v6Tax+GbS5gX63Vj+6prHW3v00cVNzy2Ved9RmLX8Fngb2wUd8J1eBV8pipGMCPNfyPA8N1TnDd/j+KNm1N7W8OrG8yqAN7tEftW8emA/M/2LGzxMncA956F7LqgX/v2EKOf4CARQXTpY1AAA=","debug_symbols":"ndpRattAGIXRveg5FN/f0owmWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLrX/ent52x9uL03n3fp7ut63fTfvj0/Wp1+fd9Hx42V+fx/j8dncbDRhtNzKKjEpGWxnNMlpk1GTUZSRFbKWIWYqYpYhZipiliFmKmKWIWYqYpYhZipiliEWKWKSIRYpYpIhFilikiEWKWKSIRYpYpIgmRTQpokkRTYpoUkSTIpoU0aSIJkU0KaJLEV2K6FJElyK6FNGliC5FdCmiSxFdililiFWKWKWIVYpYpYhVililiFWKWKWIVYoYUsSQIoYUMaSIIUUMKWJIEUOKGFLEkCKy2dAqtCpabWk102qhVaNVp9VKK2oj1EaojVAboTZCbYTaCLURaiPURqiNojaK2ihqo6iNojaK2ihqo6gNAs2QaIZIM2SaIdQMqWaINUOuGYLNkGyGaDNkmyHcDOlmiDdDvhkCzpBwhogzZJwh5AwpZ4g5Q84Zgs6QdIaoM2SdIewMaWeIO0PeGQLPkHiGyDNkniH0DKlniD1D7hmCz5B8hugzZJ8h/AzpZ4g/Q/4ZAtCQgIYINGSgIQQNKWiIQUMOGoLQkISGKDRkoSEMDWloiENDHhoC0ZCIhkg0ZKIhFA2paIhFQy5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWnbRk1y0yEWLXLTIRYtctMhFi1y0/ttFr6efu/fD7uFlf7vbe/v4cXz8d9X3ejz/evv75frvbw=="}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_parameters"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_abi"}]}},"file_map":{"122":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<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\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"136":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n PrivateCallStackItem::deserialize(fields)\n}\n"},"141":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\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 // WARNING: if updating, see comment in public_call_stack_item.ts's PublicCallStackItem.hash()\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\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 l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_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 note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n item\n}\n"},"168":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS, FIXED_L2_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: FIXED_L2_GAS }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n"},"170":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr","source":"use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"171":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"173":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr","source":"use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u32,\n nullifier_read_requests: u32,\n key_validation_requests_and_generators: u32,\n note_hashes: u32,\n nullifiers: u32,\n l2_to_l1_msgs: u32,\n private_call_requests: u32,\n public_call_stack_hashes: u32,\n note_encrypted_logs_hashes: u32,\n encrypted_logs_hashes: u32,\n unencrypted_logs_hashes: u32,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n note_hashes: validate_array(public_inputs.note_hashes),\n nullifiers: validate_array(public_inputs.nullifiers),\n l2_to_l1_msgs: validate_array(public_inputs.l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n note_hashes: [NoteHash; MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier; MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n l2_to_l1_msgs: [L2ToL1Message; MAX_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n // Note: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.note_hashes == other.note_hashes) &\n (self.nullifiers == other.nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.l2_to_l1_msgs == other.l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.note_hashes.len() {\n fields.extend_from_array(self.note_hashes[i].serialize());\n }\n for i in 0..self.nullifiers.len() {\n fields.extend_from_array(self.nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.l2_to_l1_msgs.len() {\n fields.extend_from_array(self.l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL]),\n nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x15c9b0a92b9b541598e24c9f0b0b4b04b7f2408599751c45aa12de671fd9b363;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"174":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item_compressed.nr","source":"use crate::abis::{call_context::CallContext, function_data::FunctionData, gas::Gas};\nuse crate::address::AztecAddress;\nuse crate::constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH};\nuse crate::traits::{Hash, Empty, Serialize, Deserialize};\nuse crate::utils::reader::Reader;\n\n/**\n * A compressed version of the PublicCallStackItem struct used to compute the \"hash\"\n * of a PublicCallStackItem.\n * \n * Historically, we have been zeroing most values in the PublicCallStackItem struct\n * to compute the hash involved when adding a PublicCallStackItem to the PublicCallStack.\n * \n * This struct is used to store the values that we did not zero out, and allow us to hash\n * only these, thereby skipping a lot of computation and saving us a lot of constraints\n * \n * Essentially this struct exists such that we don't have a `hash` function in the \n * PublicCallStackItem struct that practically throws away some values of the struct\n * without clearly indicating that it does so.\n */\nstruct PublicCallStackItemCompressed {\n contract_address: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n revert_code: u8,\n start_gas_left: Gas,\n end_gas_left: Gas,\n}\n\nimpl Eq for PublicCallStackItemCompressed {\n fn eq(self, other: PublicCallStackItemCompressed) -> bool {\n (self.contract_address == other.contract_address)\n & (self.call_context == other.call_context)\n & (self.function_data == other.function_data)\n & (self.args_hash == other.args_hash)\n & (self.returns_hash == other.returns_hash)\n & (self.revert_code == other.revert_code)\n & (self.start_gas_left == other.start_gas_left)\n & (self.end_gas_left == other.end_gas_left)\n }\n}\n\nimpl Hash for PublicCallStackItemCompressed {\n fn hash(self) -> Field {\n std::hash::pedersen_hash_with_separator(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PublicCallStackItemCompressed {\n fn empty() -> Self {\n PublicCallStackItemCompressed {\n contract_address: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n }\n }\n}\n\nimpl Serialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn serialize(self) -> [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n\n assert_eq(fields.len(), PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn deserialize(fields: [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH]) -> PublicCallStackItemCompressed {\n let mut reader = Reader::new(fields);\n\n let item = PublicCallStackItemCompressed {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n };\n reader.finish();\n item\n }\n}\n"},"176":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr","source":"use crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n"},"177":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr","source":"use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"180":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr","source":"use crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"181":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"185":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr","source":"use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH},\n hash::compute_siloed_nullifier, traits::{Empty, Hash, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = compute_siloed_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"194":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr","source":"use crate::utils::field::field_from_bytes;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\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 Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\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 = 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"},"195":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr","source":"use crate::{\n abis::{\n private_call_stack_item::PrivateCallStackItem, call_context::CallContext,\n function_data::FunctionData, caller_context::CallerContext,\n side_effect::{Ordered, RangeOrdered, Scoped}\n},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n target: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.target == other.target) \n & (self.call_context == other.call_context) \n & (self.function_data == other.function_data) \n & (self.args_hash == other.args_hash) \n & (self.returns_hash == other.returns_hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n target: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.target.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n target: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n\n pub fn matches_stack_item(self, stack_item: PrivateCallStackItem) -> bool {\n (self.target == stack_item.contract_address)\n & (self.call_context == stack_item.public_inputs.call_context)\n & (self.function_data == stack_item.function_data)\n & (self.args_hash == stack_item.public_inputs.args_hash)\n & (self.returns_hash == stack_item.public_inputs.returns_hash)\n & (self.start_side_effect_counter\n == stack_item.public_inputs.start_side_effect_counter)\n & (self.end_side_effect_counter\n == stack_item.public_inputs.end_side_effect_counter)\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"200":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"209":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr","source":"use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x065f2831db9ac0db5e710bd3a865b5facd8cf83f1585e1af8fd1d6ce9c47f685;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"210":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr","source":"use crate::address::AztecAddress;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"212":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr","source":"use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the counter when exposing to public.\n // The log hash must already be siloed when we call this.\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n"},"216":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr","source":"struct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u32 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n"},"217":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n"},"218":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr","source":"use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n"},"221":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr","source":"use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"228":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr","source":"use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"23":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\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 + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n"},"238":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr","source":"use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n num_txs: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.num_txs);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let num_txs = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n num_txs,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n num_txs: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.num_txs == other.num_txs)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n"},"240":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr","source":"use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"241":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse 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 private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\npub fn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n 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 recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\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_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"242":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n"},"244":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr","source":"use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"250":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n"},"264":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<N> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"276":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"290":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr","source":"use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\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"},"291":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","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_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash,\n traits::{Empty, FromField, 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 FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\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 FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\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_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"},"399":{"path":"/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr","source":"// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.storage()[2], 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"},"56":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"94":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<M>(&mut self, randomness: Field, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<M>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n 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 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 let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\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_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<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_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<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_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let 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 item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_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_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_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 item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\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.start_side_effect_counter, self.side_effect_counter);\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\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"}}}
1
+ {"transpiled":true,"noir_version":"0.31.0+8403e849dff51c99a38ae15a4c39a40edc558214","name":"MultiCallEntrypoint","functions":[{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b3U7bQBCF18GhBoOb2HGckEAIBaTehRSScMfLtM/d60p9haqss6Mclmm0UcdLVool5LG9O+ebsz+EyERqfSSvP5GJ2+Z8rN4f1ObFnGf/dzwI5po1yRkFwtkKhPMoEM5YkDNiOPU5NrFed3rNfVLr9fjuIXbWA30Ez9W2RLZqYgJ8eC1V6Wr2fAzJEVwZ8Ng8o7PGSc0zBEtNkXUbuEeFtuAe6RzBPdrBSCcxpgjX+5RskOXyvs4+XcOJyUXcKcT4bAzWxQ3V2Jav8bGRMXn1rqExqVcx+d42uRO4pjE4NbHgb44H1I7Mz6k1F2KIR9CW2pEfLWDVx7narJfTLf1iq18GbY6hn7230DWNtfaqa2J9btOeAPkb8HCm86byed+MTWx5l0JNGXgioz1f6fxn6u0RWdfXEGfAcy7Os1578nWux+4zsMvkfXrUXnUsr84srzJogwydBvyLQJdy03WH0ZbzYrHS2l0HL7oMT9ezF11GW9CLZ62dO3iRMzy5Zy9yRlvOi+U3rV04eFEwPIVnLwpGW86Lef0ZoOfgRY/h6Xn2osdoC66Rel6UDl6UDE/p2YuS0Rb04ofW7jt40Wd4+p696DPagl5819qVgxcVw1N59qJitAX3zvrzxcDBiwHDM/DsxYDRFvRirrWHDl4MGZ6hZy+GjLbgGqm1Lxy8uGB4Ljx7QXq7MvcCZK4CZC72gDmxYhntRb1/jhy8GDE8I89e4HcuuzCXe8CcWLGM9uJJa48dvBgzPGPPXpDersx5gMxFgMz9AJnLAJmrAJn3YT4nViyjvaz30EsHLy4ZnkvPXpDersx5gMyjAJmLPWBOrFhGe1l/N3fl4MUVw3Pl2QvS25V5ECBzdw+YEyuW0V4utPbEwYsJwzPx7AXp7co8DJC5CpB5FCBzESBzP0DmMkDmwxr0w5zvATO+e/S7UZ75c2rxkGfKYlQWYwpxBozU9kXJva+SWbWT1lTcj/X42POFrqeNas9XOu+XBmrSeW/l89Z/I9yZXPQO3y3j1b2JI+FxuoO8EejQ/RjiX9CW2pEftB8Qu36X68bE91v6Tax+GbS5gX63Vj+6prHW3v00cVNzy2Ved9RmLX8Fngb2wUd8J1eBV8pipGMCPNfyPA8N1TnDd/j+KNm1N7W8OrG8yqAN7tEftW8emA/M/2LGzxMncA956F7LqgX/v2EKOf4CARQXTpY1AAA=","debug_symbols":"ndpRattAGIXRveg5FN/foxkpWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLLX/ent52x9uL03n3fp7ut33cTfvj0/Vp1Ofd9Hx42U/3bbP5/HZ3G60w2m5kFBmVjLYyajKaZdRlNGQkRWyliCZFNCmiSRFNimhSRJMimhTRpIgmRTQpYpYiZililiJmKWKWImYpYpYiZililiJmKaJLEV2K6FJElyK6FNGliC5FdCmiSxFdihhSxJAihhQxpIghRQwpYkgRQ4oYUsSQIhYpYpEiFilikSIWKWKRIhYpYpEiFilikSJWKWKVIlYpYpUiVililSJWKWKVIlYpYpUistnQKrQqWm1p1Wg106rTatBqoRW1EWoj1EaojVAboTZCbYTaCLURaiPURlEbRW0UtVHURlEbRW0UtVHUBoFmSDRDpBkyzRBqhlQzxJoh1wzBZkg2Q7QZss0QboZ0M8SbId8MAWdIOEPEGTLOEHKGlDPEnCHnDEFnSDpD1BmyzhB2hrQzxJ0h7wyBZ0g8Q+QZMs8QeobUM8SeIfcMwWdIPkP0GbLPEH6G9DPEnyH/DAFoSEBDBBoy0BCChhQ0xKAhBw1BaEhCQxQastAQhoY0NMShIQ8NgWhIREMkGjLREIqGVDTEoiEXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy276EkuWuSiRS5a5KJFLlrkokUuWv/totfTz937Yffwsr/d7b19/Dg+/rvqez2ef739/XL99zc="},{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::caller_context::CallerContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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yidsXfmEbSufsG3lE7atfMK2lU/YT8+8sF38yidsW/mEbSufsG3lE7atfML2lU/YvvIJ21c+YfvKJ+ynZ5XYLn7lE7avfML2lU/YvvIJ2xc+Yfu28Anbt4VP2L4tfML2beETtm8Ln7B9W/iE7dvCJ2zfFj5h+7bwCdu3lU/YsPIJG1Y+YcPKJ2xY+YT99Gwg28WvfMKGlU/YsPIJG1Y+YcPKJ2xc+YSNK5+wceUTNq58woLPdDpZ/MonLPhMp5PFr3zCgs90Oln8yifsyjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536yjOd+soznfrKM536wjOd9m3hmU63xa97wt4Wv+4Je1v8uifsbfHrnrC3xa97wt4Wv+4Je1v8uifsbfHrnrC3xa98wi480+m2+JVP2IVnOt0Wv/IJu/BMp9viVz5hF57pdFv8yifswjOdbotf+YRdeKbTbfErn7ALz3S6LX7lE3bhmU63xf/1CRtuf6C4Lz6W/fXiY+jx/tW3/zu1r4v/twUVtAVVtAU1tAV1sAX9/dwj6wUFtAVFtAXtaAtKaAtC26k/PT4kl+3+1SG3GL4vKKItaEdbUEJbUEZbUEFbUEVbUENbUAdb0KdHVpwvCG1jzGgbY0bbGDPaxpjRNsaM9p99QfvPvqAZtIK2DxW0faig/VdW0OxHQbMfBW0fqmj7UEXbhyraPlTR9qFP3949XxCaH6po+1BF24ca2j7U0PahBrYPhZ9/gnz/Z7aTxezt0THcWy7fvz1c+u3x0m/fL/32dOm350u/vVz67fXSb2+Xfnu/8tsD2uYRwExM+PRP384XBGZiQgCLmyGAxc0QwGxeCGA2L0QwmxcimM1LG9hfbtMG9hubtIH9xiZtYL+x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slyuV6pKvmdZLtcrVSXfsSyX65Wqku9Xlsv1SlXJdyvL5XqlquR7leVyvVJV8p3KcrleqSr5PmW5XK9UlXyXslyuV6q6e6Wqu1eqSr4lWy7XK1U1r1TVvFJV8h3ocrleqSr5DnS5XK9UlXwHulyuV6pKvgNdLtcrVSXfgS6X65Wqku9Al8v1SlXJd6DL5XqlKq/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt99tqtPnvtVp+9dqvPXrvV51vzkmuVqmav3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577Va/e+1Wv3vtVr977Va/e+1Wv9+al1yrVHX32q1+99qtfvfarX732q1+99qtfvfarX732q1+99qtfvfarX732q1+99qtfvfarX732q1+r7R9+9jmx4u3+4ncQs/diNxCn8zHvj9fvJ3ILfTJHJFb6JM5IrfQJ3NEbqG+G5BbaT9zRG6l525AbqXnbkBuob4bkdu85Hqlqkr7mSNyh01VLwnDJqWXhNTp5+t9zMvzjdz29eJ/duc/+yk49yblTwhOnYA+ITh1BvqE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tkfkNi+5Xqmq0lXwiFyvVFXpAnZErleqqnTtOSLXK1VVumwckeuVqipd8Y3I9UpVlS7WRuR6papK11kjcr1SVaVLpBG5Xqmq0tXNiFyvVFXpwmRErleqqnRNMSLXK1VVuhwYkeuVqipdyYvI9UpVlS7CReR6papK188icr1SVaVLXxG5Xqmq0lWriFyvVFXpglNErleqqnStKCLXK1VVuswTkeuVqipdoYnI9UpVlS6uROR6papK10Uicr1SVaVLGhG5Xqmq0tWIiFyvVFXpQkJErleqqnQNICLXK1VV2qofkeuVqiptvo/I9UpVlbbTR+R6papKG+Qjcr1SVaUt7xG5Xqmq0ib2iFyvVOW1W33z2q2+ee1W37x2q29eu9U3r93qm9du9c1rt/rmtVt989qtvnntVt+8dqtvXrvVN6/d6pvXbvXNa7f65rVbffParb577VbfvXar71671Xev3er7rXnJtUpVu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712qx9eu9UPr93qh9du9cNrt/pxa15yrVLV4bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6vd6tvNarf6l1ynVPUl1ylVfcl1SlVfcpuXXKdU9SXXKVV9yXVKVV9ynVLVl1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+RaparJa7f65LVbffLarT557Vb/EuMl1ypVTV671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVb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G5A7F0qxEbmFcmlEbqGkGZFbKDtG5DYvuYXyXURuocQWkVsog0XkeqWq2StV3b1S1d0rVd29UtXdK1Xdm5dcr1R190pVd69UdfdKVXevVNW8UlXzSlXNK1U1r1TVmpdcr1TVvFJV80pVle7YR+R6papKN9sjcr1SVaX75BG5Xqmq0i3uiFyvVFXp7nRErleqqnRjOSLXK1VVuicckeuVqirdzo3I9UpVle7ERuR6papKN1Ejcr1SVaX7nxG5Xqmq0q3LiFyvVFXprmNErleqqnTDMCLXK1VVutcXkeuVqirdpovI9UpVle6wReR6papKN8cicr1SVaX7WhG5Xqmq0i2piFyvVFXpblJErleqqnQjKCLXK1VVuocTkeuVqirdfonI9UpVle6cROR6papKNz0icq1S1VrpfkVErlWqWivdaojItUpV6615ybVKVWulHfwRuVapaq20Jz8i1ytVVdplH5Hrlaoq7ZuPyPVKVZV2wkfkeqWqSnvbI3K9UpXXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr5W2b3+969vzXc/Hxc/+yfuY2vr8ycu3V0/79LufvB/Pnzxf/OSlzb9eu7T7iUWFskJNi7ZKW86rWlQok1W1qFCOrGpRoexb1aKGRdktKtQxqlpUaNpc1aJCE/KqFjFdSG8R04W+Fu2PH7wcy+8tqnTto6pFTBfSW8R0Ib1FTBf6WrS9LFpPLGpYlN0ipgvpLWK6kN4ipgvpLWK6kN4ipgt9LVoefwG0rL//C6Ct0tWrqhYxXUhvEdOF9BYxXUhvUcOi7BYxXUhvEdOF9BYxXUhvEdOF9BYx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bH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra//RDb336I7W8/xPa3H2L7249bFdOrla8Osf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+aO1v325a+9vveqXy1V2vVL6665XKV3e9VUyvVL6665XKV3e9UvnqrlcqX931iuUrrf3td71i+Uprf/tdr1i+0trfftcrlq+09rff9YrlK6397Xe9YvlKa3/7Xa9YvtLa337XK5avtPa33/WK5Sut/e13vWL5Smt/+12vWL7S2t9+1yuWr7T2t9/1iuUrrf3td71i+Uprf/tdr1i+0trfftcrlq+09rff9YrlK6397Xe9YvlKa3/7Xa9YvtLa337XK5avtPa33/WK5Sut/e13vWL5Smt/+12vWL7S2t9+1yuWr7T2t9/1iuUrrf3td71i+Uprf/tdr1i+0trfftcrlq+09rff9YrlK6397Xe9YvlKa3/7Xa9YvtLa337XK5avtPa33/WK5Sut/e13vWL5Smt/+12vWL7S2t9+1yuWr7T2t9/1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SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97UVsf3sR299exPa3F7H97eVWxfRq5asitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vn8X2t89i+9tnsf3ts9j+9vlWxfRq5atZbH/7LLa/fRbb3z6L7W+fxfa3z2L722ex/e2z2P72WWx/+yy2v30W298+i+1vn8X2t8+Z9nsfW3m8eJvP9CZ6/pr0Jvp8Pvb9+eLtTG+iz2eT3kSfzya9iT6fTXoT9V+L3kz7n016Mz1/LXozPX8tehP1X5PeKqZXLF9l2v9s0jtsvnrTMGxmetMQOgfd30dZnm/ktq8f/ss7/9kvxbE3NTdRHDoLNVEcOg01URw6DzVRXOUUh85ETRSHTkVNFIfORU0Uh05RTRTLZa7Y25ubKJbLXLE3ODdRLJe5Ym9xbqJYLnPF3uTcRLFc5oq9zbmJYrnMFXujcxPFcpkr9lbnJorlMlfszc5NFMtlrtjbnZsolstcsTc8N1Esl7lib8X9VvFSH38Hu9RTxameTibFqT65luXxtxrLeva3GrF3pzZRnOqTy6I49v7UJopTtUWT4lRt0aQ41fP4runXq9e5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lvPzvt1yft63W87P+3bL+Xnfbjk/79st5+d9u+X8vG+3nJ/37Zbz877dkn7eT0k/76ekn/dT0s/7Kenn/ZT0835K+nk/Jf28n5J+3k9JP++npJ/3c9LP+znp5/2c9PN+Tvp5Pyf9vJ+Tft7PST/v56Sf93PSz/s56ef9Penn/T3p5/096ef9Penn/T3p5/096ef9Penn/T3p5/096ef9PennfUv6ed+Sft63pJ/3LennfUv6ed+Sft63pJ/3LennfUv6ed+Sft4vST/vl6Sf90vSz/sl6ed90r+vbUn/vrYl/fvalvTva1vSv69tSf++tiX9+9qW9O9rW9K/r21J/762Jf372pb072tb0r+vbUn/vrYl/fvalvTva1vSv69tSf++tiX9+9qW9O9rW9K/r21J/762Jf372pb072tb0r+vbUn/vrYl/fvalvTva1vSv69tSf++tiX9+9qW9O9rW9K/r21J/762Jf372pb072tb0r+vbUn/vrYl/fvalvTva1vSv69tSf++tiX9+9qW9O9r16s3XP/HV//wAvr9/nwjx7Z8v5O/vYD+o5+93dbHj96W2/er2/Jv/uT5vjx+8nw/1u9X36a/+8n78fzJ84efvLT512uXdj9TNNE1OBSVKJrokh6KShRtKFpM0UQXHFFUomii65coKlE00eVQFJUomujqKopKFE10jRxFFYpefYkHRf+4onRG1RSlMxpJ0f32UPRYzhSlM6qmaEPRYorSGVVTlM5oJEW3b0XXM0XpjKopSmdUTVE6o2KKrnRG1RSlM6qmKJ3RSIou+0PRdTtTlM6omqINRYspSmdUTVE6o2qK0hlVU5TOqJqidEbFFN3ojKopSmdUTVE6o2qK0hlVU7ShaDFF6YyqKUpnVE1ROqNqitIZVVOUzqiYojudUTVF6YyqKUpnVE1ROqNqijYULaYonVE1RemMqilKZ1RNUTqjaorSGRVT9KAzqqYonVE1RemMqilKZ1RN0YaixRSlM6qmKJ1RNUXpjKopSmdUTVE6o1qKbjc6o2qKkkcvUHTan4ouTano5x3Y262haDFFyaPVFCWPVlOUPFpNUfJoNUXJo8UUncij1RTldxiqKcrvMFRTlM6omqINRQdS9PMFn22iM6qmKJ1RNUXpjKopSmc0kqKfr4NsE51RMUVnOqNqitIZVVOUzqiaonRG1RRtKDqQ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a14zf1XpCkPXvGb+qtLFga55zfxVpc39XfOa+atK2/W75jXzV5U24HfNa+avKm2p75rXzF9V2iTfNa+Zv6q07b1rXjN/Zba/fTPb376Z7W/fzPa3b2b72zez/e2b2f72zWx/+2a2v30z29++me1v38z2t29m+9s3s/3tm9n+9s1sf/tmtr99M9vfvpvtb9/N9rfvZvvbd7P97futmc3r5a92s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1vP8z2tx9m+9sPs/3th9n+9uPWzOb18leH2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/vPa3bzev/e1f81r5q695rfzV17xW/upr3mY2r5W/+prXyl99zWvlr77mtfJXX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/Oa+Suv/e1f85r5K6/97V/zmvkrr/3tX/N6+avJbH/7ZLa/fTLb3z6Z7W//msZsXi9/NZntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b726dK+72/3vXt+a7n48PP/sn7uN/vy68X3+/79P0+jvXf/MnzbX68eL5tr+ymv/vJ+/H8yfOHn7y0+ddrl3Y/U7+QG0H9H6tfyJuh/o/Vb6hvrH4h3476P1a/UIpB/R+rXyjTof6P1S+UcFH/x+oX+j4F9X+o/lzpugrq/1h9uj5n9en6qqq/P2As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"}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_parameters"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_abi"}]}},"file_map":{"123":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<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\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"137":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n PrivateCallStackItem::deserialize(fields)\n}\n"},"142":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\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 // WARNING: if updating, see comment in public_call_stack_item.ts's PublicCallStackItem.hash()\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\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 l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_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 note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n item\n}\n"},"169":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS, FIXED_L2_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: FIXED_L2_GAS }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n"},"171":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr","source":"use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"172":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"174":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr","source":"use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u32,\n nullifier_read_requests: u32,\n key_validation_requests_and_generators: u32,\n note_hashes: u32,\n nullifiers: u32,\n l2_to_l1_msgs: u32,\n private_call_requests: u32,\n public_call_stack_hashes: u32,\n note_encrypted_logs_hashes: u32,\n encrypted_logs_hashes: u32,\n unencrypted_logs_hashes: u32,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n note_hashes: validate_array(public_inputs.note_hashes),\n nullifiers: validate_array(public_inputs.nullifiers),\n l2_to_l1_msgs: validate_array(public_inputs.l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n note_hashes: [NoteHash; MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier; MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n l2_to_l1_msgs: [L2ToL1Message; MAX_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n // Note: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.note_hashes == other.note_hashes) &\n (self.nullifiers == other.nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.l2_to_l1_msgs == other.l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.note_hashes.len() {\n fields.extend_from_array(self.note_hashes[i].serialize());\n }\n for i in 0..self.nullifiers.len() {\n fields.extend_from_array(self.nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.l2_to_l1_msgs.len() {\n fields.extend_from_array(self.l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL]),\n nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x15c9b0a92b9b541598e24c9f0b0b4b04b7f2408599751c45aa12de671fd9b363;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"175":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item_compressed.nr","source":"use crate::abis::{call_context::CallContext, function_data::FunctionData, gas::Gas};\nuse crate::address::AztecAddress;\nuse crate::constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH};\nuse crate::traits::{Hash, Empty, Serialize, Deserialize};\nuse crate::utils::reader::Reader;\n\n/**\n * A compressed version of the PublicCallStackItem struct used to compute the \"hash\"\n * of a PublicCallStackItem.\n * \n * Historically, we have been zeroing most values in the PublicCallStackItem struct\n * to compute the hash involved when adding a PublicCallStackItem to the PublicCallStack.\n * \n * This struct is used to store the values that we did not zero out, and allow us to hash\n * only these, thereby skipping a lot of computation and saving us a lot of constraints\n * \n * Essentially this struct exists such that we don't have a `hash` function in the \n * PublicCallStackItem struct that practically throws away some values of the struct\n * without clearly indicating that it does so.\n */\nstruct PublicCallStackItemCompressed {\n contract_address: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n revert_code: u8,\n start_gas_left: Gas,\n end_gas_left: Gas,\n}\n\nimpl Eq for PublicCallStackItemCompressed {\n fn eq(self, other: PublicCallStackItemCompressed) -> bool {\n (self.contract_address == other.contract_address)\n & (self.call_context == other.call_context)\n & (self.function_data == other.function_data)\n & (self.args_hash == other.args_hash)\n & (self.returns_hash == other.returns_hash)\n & (self.revert_code == other.revert_code)\n & (self.start_gas_left == other.start_gas_left)\n & (self.end_gas_left == other.end_gas_left)\n }\n}\n\nimpl Hash for PublicCallStackItemCompressed {\n fn hash(self) -> Field {\n std::hash::pedersen_hash_with_separator(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PublicCallStackItemCompressed {\n fn empty() -> Self {\n PublicCallStackItemCompressed {\n contract_address: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n }\n }\n}\n\nimpl Serialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn serialize(self) -> [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n\n assert_eq(fields.len(), PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn deserialize(fields: [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH]) -> PublicCallStackItemCompressed {\n let mut reader = Reader::new(fields);\n\n let item = PublicCallStackItemCompressed {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n };\n reader.finish();\n item\n }\n}\n"},"177":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr","source":"use crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n"},"178":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr","source":"use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"181":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr","source":"use crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"182":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"186":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr","source":"use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH},\n hash::compute_siloed_nullifier, traits::{Empty, Hash, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = compute_siloed_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"195":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr","source":"use crate::utils::field::field_from_bytes;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\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 Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\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 = 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"},"196":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr","source":"use crate::{\n abis::{\n private_call_stack_item::PrivateCallStackItem, call_context::CallContext,\n function_data::FunctionData, caller_context::CallerContext,\n side_effect::{Ordered, RangeOrdered, Scoped}\n},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n target: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.target == other.target) \n & (self.call_context == other.call_context) \n & (self.function_data == other.function_data) \n & (self.args_hash == other.args_hash) \n & (self.returns_hash == other.returns_hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n target: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.target.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n target: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n\n pub fn matches_stack_item(self, stack_item: PrivateCallStackItem) -> bool {\n (self.target == stack_item.contract_address)\n & (self.call_context == stack_item.public_inputs.call_context)\n & (self.function_data == stack_item.function_data)\n & (self.args_hash == stack_item.public_inputs.args_hash)\n & (self.returns_hash == stack_item.public_inputs.returns_hash)\n & (self.start_side_effect_counter\n == stack_item.public_inputs.start_side_effect_counter)\n & (self.end_side_effect_counter\n == stack_item.public_inputs.end_side_effect_counter)\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"201":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"210":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr","source":"use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x065f2831db9ac0db5e710bd3a865b5facd8cf83f1585e1af8fd1d6ce9c47f685;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"211":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr","source":"use crate::address::AztecAddress;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"213":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr","source":"use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the counter when exposing to public.\n // The log hash must already be siloed when we call this.\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n"},"217":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr","source":"struct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u32 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n"},"218":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n"},"219":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr","source":"use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n"},"222":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr","source":"use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"229":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr","source":"use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"23":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\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 + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n"},"239":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr","source":"use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n num_txs: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.num_txs);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let num_txs = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n num_txs,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n num_txs: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.num_txs == other.num_txs)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n"},"241":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr","source":"use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"242":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse 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 private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\npub fn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n 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 recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\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_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"243":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n"},"245":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr","source":"use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"251":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n"},"265":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<N> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"277":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"291":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr","source":"use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\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"},"292":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","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_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash,\n traits::{Empty, FromField, 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 FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\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 FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\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_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"},"400":{"path":"/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr","source":"// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.storage()[2], 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"},"57":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"95":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<M>(&mut self, randomness: Field, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<M>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n 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 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 let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\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_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<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_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<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_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let 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 item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_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_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_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 item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\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.start_side_effect_counter, self.side_effect_counter);\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\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"}}}