@aztec/accounts 0.47.1 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/EcdsaKAccount.json +1 -0
- package/artifacts/EcdsaRAccount.d.json.ts +3 -0
- package/artifacts/EcdsaRAccount.json +1 -0
- package/artifacts/SchnorrAccount.json +1 -1
- package/artifacts/SchnorrSingleKeyAccount.json +1 -1
- package/dest/ecdsa/{account_contract.d.ts → ecdsa_k/account_contract.d.ts} +2 -2
- package/dest/ecdsa/ecdsa_k/account_contract.d.ts.map +1 -0
- package/dest/ecdsa/ecdsa_k/account_contract.js +33 -0
- package/dest/ecdsa/ecdsa_k/artifact.d.ts +2 -0
- package/dest/ecdsa/ecdsa_k/artifact.d.ts.map +1 -0
- package/dest/ecdsa/ecdsa_k/artifact.js +4 -0
- package/dest/ecdsa/ecdsa_k/index.d.ts +31 -0
- package/dest/ecdsa/ecdsa_k/index.d.ts.map +1 -0
- package/dest/ecdsa/ecdsa_k/index.js +32 -0
- package/dest/ecdsa/index.d.ts +2 -30
- package/dest/ecdsa/index.d.ts.map +1 -1
- package/dest/ecdsa/index.js +3 -32
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts +18 -0
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts.map +1 -0
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.js +76 -0
- package/dest/ecdsa/ssh_ecdsa_r/artifact.d.ts +2 -0
- package/dest/ecdsa/ssh_ecdsa_r/artifact.d.ts.map +1 -0
- package/dest/ecdsa/ssh_ecdsa_r/artifact.js +4 -0
- package/dest/ecdsa/ssh_ecdsa_r/index.d.ts +31 -0
- package/dest/ecdsa/ssh_ecdsa_r/index.d.ts.map +1 -0
- package/dest/ecdsa/ssh_ecdsa_r/index.js +32 -0
- package/dest/utils/index.d.ts +2 -0
- package/dest/utils/index.d.ts.map +1 -0
- package/dest/utils/index.js +2 -0
- package/dest/utils/ssh_agent.d.ts +35 -0
- package/dest/utils/ssh_agent.d.ts.map +1 -0
- package/dest/utils/ssh_agent.js +109 -0
- package/package.json +10 -9
- package/src/ecdsa/{account_contract.ts → ecdsa_k/account_contract.ts} +6 -6
- package/src/ecdsa/ecdsa_k/artifact.ts +5 -0
- package/src/ecdsa/ecdsa_k/index.ts +37 -0
- package/src/ecdsa/index.ts +2 -37
- package/src/ecdsa/ssh_ecdsa_r/account_contract.ts +88 -0
- package/src/ecdsa/ssh_ecdsa_r/artifact.ts +5 -0
- package/src/ecdsa/ssh_ecdsa_r/index.ts +37 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/ssh_agent.ts +136 -0
- package/artifacts/EcdsaAccount.json +0 -1
- package/dest/ecdsa/account_contract.d.ts.map +0 -1
- package/dest/ecdsa/account_contract.js +0 -33
- package/dest/ecdsa/artifact.d.ts +0 -2
- package/dest/ecdsa/artifact.d.ts.map +0 -1
- package/dest/ecdsa/artifact.js +0 -4
- package/src/ecdsa/artifact.ts +0 -5
- /package/artifacts/{EcdsaAccount.d.json.ts → EcdsaKAccount.d.json.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"transpiled":true,"noir_version":"0.32.0+32b4c6ed75387759b3d84df723a52679894feb2d","name":"EcdsaRAccount","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":5,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"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","debug_symbols":"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"},{"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":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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"},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"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"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"},"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":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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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dZILUye5MHWSy2JMZIkclDB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MnWSK1MnuTJ1kitTJ7kuxkSWyEEpUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1khtTJ7kxdZIbUye5MXWS22JMZIkclDF1khtTJ7kxdZIbUye5MXWSG1MnuTF1khtTJ7kxdZIbUye5MXWSG1MnuTF1khtTJ7kxdZIbUye5MXWSG1MnuTF1khtTJ7kxdZLb2TrJo9+RjM9kT+agfk+23EGp3540cR2/J9t69uX2o31d5xeyfxKo7xmfTaBBE3BZ8k5gfekTAnJ0Anp0AnZ0Ah2aQCzD7j9aLbck18dDchf595Jb38X9SrLBRHYwkcV2DnPJGrbL+Ktkf+/2DduR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8lKDyksNKi81jIotlZc6W6P4BlsqL3W2RvENtlRe6myN4htsqbxUUnmppPJS5W3lr2VL5aWwe82ns6XyUth95tPZMnmpPFnv+RZbJi+VJ+s932LL5KVyMSq2TF4qqXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Op93x9DZGXWl9D5KXW1xB5qfU1RF5qfY1RsSXyUutriLzU+hoiL7W+hshLra+h8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMvecrWyovxdR7vrKl8lJMved/fOE8FVsqL8XUe/7H16pQsWXyUo2q97xR9Z43qt7zRtV73hajYsvkpRpV73mj6j1vVL3njar3vFH1njeq3vNG1XveqHrPG1XveaPqPW9UveeNqve8UfWeN6re80bVe96oes8bVe95o+o9b1S9542q97xR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5aWMykt1Ki/VqbxUp/JSncpLTflC0+OwpfJSncpLYbdQTWdL5aWwW6hms8VuoZrOlspLYbdQTWdL5aWmNFwdhy2Vl3IqL+VUXsqpvJRTeamg8lJB5aWCyksFlZea0hd4HLZUXiqovFRQeamg8lJB5aUGlZcaVF5qUHmpQeWlpvS1HoctlZcaVF5qUHmpQeWlBpWXSiovlVReKqm8VFJ5qTQqtlReKqm8VFJ5qaTyUsnkpXxh8lK+MHkpX5i8lJ+tUXyDrVGxZfJSfrZG8Q22TF7Kz9YovsGWyks1Ki/VqLwUdrf5dLZUXgq703w6Wyovhd1lPp0tlZc6We/5FlsqL3Wy3vMttlReiqr33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPnar33Kl6z52q99ypes+dqvfcqXrPg6r3PKh6z4Oq9zyoes9jMSq2TF4qqHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq9zyoes+Dqvc8qHrPg6r3PKh6z4Oq93xQ9Z4Pqt7zQdV7Pqh6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"},{"name":"constructor","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(initializer)"],"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":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"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":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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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rcypVTi1LFprzHOW7FrtN62LoyB52rGRS97Or65XJaC/Pu7q89OG/fTpRK3/W2+3/W+93f6/9XbH/9bbneRvt5R5vl3rn9/u+R7a9gPeQ/oB7yGzv4fezvfw6Qzkb++h0L+Her6Hma7fg/2A9xD+O8VM9fzgIbVx/Ztda5xanVNrfINWOrVGutGalFp9+wat7dSa241W4tTKnFrx/yLN6fwXabZ+o2WcWvUbtNqpVW/+/d7jp3we53erpLvvVv8GrfO7VfK80RqcWvMbtOqpVW524oif8qX9+m7NdqOVOLXyN2id/xHt05+UfteKn/L7v1hOrbvft4ZxatVv0DrHqfWLn61q/1wfaOx2fLoy0meK/Xpdf/F148XXzdded33w7S9el158XX7xdZfP0vgU07h5nb34uvri69qLr+svvm68+Lr52uuuj13MX3+N//yn+8+vSy++Lr/4uvLi6+zF19UXX9defN3lz8u+i86BNq9fN1583Xztddd/QP2L16UXX5dffF158XXXPy/teI5+i5h/fl198XXtxdf1F183XnzdfO1115/S/8Xr0levu/7vd/1p9F+8rrz4uuufl3k872nbrh/46486/+aF7dUX9ldfOF594Xzxhdcfiv3NC6//QbOl83fObfbfXvn//tNXn5wcxClBHAvi1CBOC+L0IM4I4swYzs3nIe/nBM2DETQPRtA8GEHzYATNgxE0D0bQPBhB82AEzYMZNA9m0DyYQfNgBs2DGTQP5huen9qPTwHr+PVL+/555C/KiKDcNT7/J0w77yVoW7vB5BhMicFYDKbGYP7z3vn10v7yS3MJ+fnOFoOpMZgWg+kxmDeMuHaG5VsuN5gZgilbDCbFYHIM5i0De54Yu8FYDKbGYFoMpsdgRgxmhixT22IwMb+2WcyvbRbza5vF/NpmMb+2WYvB9BjMiMHETIEaMwVqzBSoMVOgxkyBGjMFaswUqDFToMZMgRozBWrMFGgxU6DFTIEWMwVazBRoMVOgxUyBFjMFWswUaDFToMVMgR4zBXrMFOgxU6DHTIEeMwV6zBToMVOg+0+Btv1zDalnbHz/leTTlZRXEfNxHowaM//5S1M6Yxspf/6syk6fQeYzyXxuWg++USixCWU2ocImZGxClU2osQmxzenENqgT26TObJM6s03qzDapM9ukzmyTOrNN6uw4qU9GD2A8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"},{"name":"verify_private_authwit","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(noinitcheck)","aztec(view)"],"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":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"inner_hash","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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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"}],"outputs":{"globals":{"notes":[{"fields":[{"kind":"integer","sign":false,"value":"00000000000000000000000000000000000000000000000000000000906cb9c3"},{"kind":"string","value":"EcdsaPublicKeyNote"}],"kind":"tuple"}],"storage":[{"fields":[{"name":"public_key","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"0000000000000000000000000000000000000000000000000000000000000001"}}],"kind":"struct"}}],"kind":"struct"}]},"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"}},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"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"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"}}],"kind":"struct","path":"EcdsaRAccount::entrypoint_parameters"}}],"kind":"struct","path":"EcdsaRAccount::entrypoint_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}}},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}}}],"kind":"struct","path":"EcdsaRAccount::constructor_parameters"}}],"kind":"struct","path":"EcdsaRAccount::constructor_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"inner_hash","type":{"kind":"field"}}],"kind":"struct","path":"EcdsaRAccount::verify_private_authwit_parameters"}},{"name":"return_type","type":{"kind":"field"}}],"kind":"struct","path":"EcdsaRAccount::verify_private_authwit_abi"}]}},"file_map":{"100":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"108":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/payload.nr","source":"use dep::protocol_types::{address::AztecAddress, scalar::Scalar, point::Point};\nuse std::{\n embedded_curve_ops::fixed_base_scalar_mul as derive_public_key,\n hash::from_field_unsafe as fr_to_fq_unsafe, field::bn254::decompose\n};\n\nuse crate::{\n event::event_interface::EventInterface, oracle::unsafe_rand::unsafe_rand,\n utils::point::point_to_bytes, note::note_interface::NoteInterface,\n encrypted_logs::{\n header::EncryptedLogHeader, incoming_body::EncryptedLogIncomingBody,\n outgoing_body::EncryptedLogOutgoingBody\n}\n};\n\npub fn compute_encrypted_event_log<Event, let NB: u32, let MB: u32, let OB: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n event: Event\n) -> [u8; OB] where Event: EventInterface<NB, MB> {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ivpk);\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext = EncryptedLogIncomingBody::from_event(event, randomness).compute_ciphertext(eph_sk, ivpk);\n let outgoing_body_ciphertext: [u8; 144] = EncryptedLogOutgoingBody::new(eph_sk, recipient, ivpk).compute_ciphertext(fr_to_fq(ovsk_app), eph_pk);\n\n let mut encrypted_bytes: [u8; OB] = [0; OB];\n // @todo We ignore the tags for now \n\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[64 + i] = eph_pk_bytes[i];\n }\n for i in 0..48 {\n encrypted_bytes[96 + i] = incoming_header_ciphertext[i];\n encrypted_bytes[144 + i] = outgoing_header_ciphertext[i];\n }\n for i in 0..144 {\n encrypted_bytes[192 + i] = outgoing_body_ciphertext[i];\n }\n // Then we fill in the rest as the incoming body ciphertext\n let size = OB - 336;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[336 + i] = incoming_body_ciphertext[i];\n }\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (32 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (144 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding)\n encrypted_bytes\n}\n\npub fn compute_encrypted_note_log<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> [u8; M] where Note: NoteInterface<N, NB> {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ivpk);\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext = EncryptedLogIncomingBody::from_note(note, storage_slot).compute_ciphertext(eph_sk, ivpk);\n let outgoing_body_ciphertext: [u8; 144] = EncryptedLogOutgoingBody::new(eph_sk, recipient, ivpk).compute_ciphertext(fr_to_fq(ovsk_app), eph_pk);\n\n let mut encrypted_bytes: [u8; M] = [0; M];\n // @todo We ignore the tags for now \n\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[64 + i] = eph_pk_bytes[i];\n }\n for i in 0..48 {\n encrypted_bytes[96 + i] = incoming_header_ciphertext[i];\n encrypted_bytes[144 + i] = outgoing_header_ciphertext[i];\n }\n for i in 0..144 {\n encrypted_bytes[192 + i] = outgoing_body_ciphertext[i];\n }\n // Then we fill in the rest as the incoming body ciphertext\n let size = M - 336;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[336 + i] = incoming_body_ciphertext[i];\n }\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (32 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (144 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding)\n encrypted_bytes\n}\n\n/// Converts a base field element to scalar field element.\n/// This is fine because modulus of the base field is smaller than the modulus of the scalar field.\nfn fr_to_fq(r: Field) -> Scalar {\n let (lo, hi) = decompose(r);\n\n Scalar { lo, hi }\n}\n\nfn generate_ephemeral_key_pair() -> (Scalar, Point) {\n // @todo Need to draw randomness from the full domain of Fq not only Fr\n // We use the unsafe version of `fr_to_fq` because multi_scalar_mul (called by derive_public_key) will constrain\n // the scalars.\n let eph_sk = fr_to_fq_unsafe(unsafe_rand());\n let eph_pk = derive_public_key(eph_sk);\n\n (eph_sk, eph_pk)\n}\n\nmod test {\n use crate::{encrypted_logs::payload::compute_encrypted_note_log, test::mocks::mock_note::MockNoteBuilder};\n use dep::protocol_types::{address::AztecAddress, point::Point};\n use std::test::OracleMock;\n\n #[test]\n fn test_encrypted_note_log_matches_typescript() {\n // All the values in this test were copied over from `tagged_log.test.ts`\n let contract_address = AztecAddress::from_field(0x10f48cd9eff7ae5b209c557c70de2e657ee79166868676b787e9417e19260e04);\n let storage_slot = 0x0fe46be583b71f4ab5b70c2657ff1d05cccf1d292a9369628d1a194f944e6599;\n let ovsk_app = 0x03a6513d6def49f41d20373d2cec894c23e7492794b08fc50c0e8a1bd2512612;\n let ovpk_m = Point {\n x: 0x1961448682803198631f299340e4206bb12809d4bebbf012b30f59af73ba1a15,\n y: 0x133674060c3925142aceb4f1dcd9f9137d0217d37ff8729ee5ceaa6e2790353d,\n is_infinite: false\n };\n let ivpk_m = Point {\n x: 0x260cd3904f6df16e974c29944fdc839e40fb5cf293f03df2eb370851d3a527bc,\n y: 0x0eef2964fe6640e84c82b5d2915892409b38e9e25d39f68dd79edb725c55387f,\n is_infinite: false\n };\n\n let note_value = 0x301640ceea758391b2e161c92c0513f129020f4125256afdae2646ce31099f5c;\n let note = MockNoteBuilder::new(note_value).contract_address(contract_address).storage_slot(storage_slot).build();\n\n let eph_sk = 0x1358d15019d4639393d62b97e1588c095957ce74a1c32d6ec7d62fe6705d9538;\n let _ = OracleMock::mock(\"getRandomField\").returns(eph_sk);\n\n let recipient = AztecAddress::from_field(0x10ee41ee4b62703b16f61e03cb0d88c4b306a9eb4a6ceeb2aff13428541689a2);\n\n let log: [u8; 448] = compute_encrypted_note_log(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n note\n );\n\n // The following value was generated by `tagged_log.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let encrypted_note_log_from_typescript = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 70, 12, 14, 67, 77, 132, 110, 193, 234, 40, 110, 64, 144, 235, 86, 55, 111, 242, 123, 221, 193, 170, 202, 225, 216, 86, 84, 159, 112, 31, 167, 126, 79, 51, 186, 47, 71, 253, 172, 99, 112, 241, 59, 197, 241, 107, 186, 232, 87, 187, 230, 171, 62, 228, 234, 42, 51, 145, 146, 238, 242, 42, 71, 206, 13, 244, 66, 111, 195, 20, 203, 98, 148, 204, 242, 145, 183, 156, 29, 141, 54, 44, 220, 194, 35, 229, 16, 32, 204, 211, 49, 142, 112, 82, 202, 116, 241, 254, 146, 42, 217, 20, 189, 70, 228, 182, 171, 205, 104, 27, 99, 171, 28, 91, 244, 21, 30, 130, 240, 5, 72, 174, 124, 97, 197, 157, 248, 193, 23, 193, 76, 46, 141, 144, 70, 211, 45, 67, 167, 218, 129, 140, 104, 190, 41, 110, 249, 209, 68, 106, 135, 164, 80, 235, 63, 101, 80, 32, 13, 38, 99, 145, 91, 11, 173, 151, 231, 247, 65, 153, 117, 229, 167, 64, 239, 182, 126, 235, 83, 4, 169, 8, 8, 160, 4, 235, 252, 21, 96, 84, 161, 69, 145, 145, 215, 254, 161, 117, 246, 198, 65, 89, 179, 194, 90, 19, 121, 12, 202, 114, 80, 195, 14, 60, 128, 105, 142, 100, 86, 90, 108, 157, 219, 22, 172, 20, 121, 195, 25, 159, 236, 2, 70, 75, 42, 37, 34, 2, 17, 149, 20, 176, 32, 18, 204, 56, 117, 121, 34, 15, 3, 88, 123, 64, 68, 74, 233, 63, 59, 131, 222, 194, 192, 167, 110, 217, 10, 128, 73, 129, 172, 205, 103, 212, 60, 151, 141, 10, 151, 222, 151, 180, 43, 91, 148, 201, 110, 165, 10, 238, 32, 134, 235, 99, 216, 200, 182, 31, 22, 156, 18, 209, 222, 172, 239, 193, 212, 86, 99, 62, 70, 182, 45, 175, 241, 91, 202, 179, 225, 99, 1, 150, 232, 2, 252, 20, 83, 49, 132, 162, 93, 116, 212, 87, 71, 211, 58, 159, 163, 40, 253, 31, 3, 192, 48, 14, 201, 80, 24, 135, 154, 207, 58, 140, 128, 29, 101, 207, 189, 182, 191, 71, 210, 64, 172, 131, 83, 46, 232, 19, 216, 183, 108, 234, 17, 104, 60, 113, 231, 145, 195, 157, 24\n ];\n for i in 0..encrypted_note_log_from_typescript.len() {\n assert_eq(log[i], encrypted_note_log_from_typescript[i]);\n }\n assert_eq(encrypted_note_log_from_typescript.len(), log.len());\n }\n}\n"},"109":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/encrypted_note_emission.nr","source":"use crate::{\n context::PrivateContext, note::{note_emission::NoteEmission, note_interface::NoteInterface},\n encrypted_logs::payload::compute_encrypted_note_log, oracle::logs_traits::LensForEncryptedLog\n};\nuse dep::protocol_types::{\n hash::sha256_to_field, address::AztecAddress, point::Point, abis::note_hash::NoteHash,\n constants::MAX_NOTE_HASHES_PER_CALL, utils::arrays::find_index\n};\n\nunconstrained fn compute_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> ([u8; M], Field) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n compute(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n )\n}\n\nfn compute<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> ([u8; M], Field) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let encrypted_log: [u8; M] = compute_encrypted_note_log(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n );\n let log_hash = sha256_to_field(encrypted_log);\n (encrypted_log, log_hash)\n}\n\nfn emit_with_keys<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n note: Note,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n inner_compute: fn(AztecAddress, Field, Field, Point, Point, AztecAddress, Note) -> ([u8; M], Field)\n) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_header = note.get_header();\n let note_hash_counter = note_header.note_hash_counter;\n let storage_slot = note_header.storage_slot;\n\n let note_exists_index = find_index(\n context.note_hashes.storage,\n |n: NoteHash| n.counter == note_hash_counter\n );\n assert(\n note_exists_index as u32 != MAX_NOTE_HASHES_PER_CALL, \"Can only emit a note log for an existing note.\"\n );\n\n let contract_address: AztecAddress = context.this_address();\n let ovsk_app: Field = context.request_ovsk_app(ovpk.hash());\n\n let (encrypted_log, log_hash) = inner_compute(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n );\n\n context.emit_raw_note_log(note_hash_counter, encrypted_log, log_hash);\n}\n\npub fn encode_and_encrypt_note<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ov: AztecAddress,\n iv: AztecAddress\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n let header = context.get_header();\n let ovpk = header.get_ovpk_m(context, ov);\n let ivpk = header.get_ivpk_m(context, iv);\n emit_with_keys(context, e.note, ovpk, ivpk, iv, compute);\n }\n}\n\npub fn encode_and_encrypt_note_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ov: AztecAddress,\n iv: AztecAddress\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n let header = context.get_header();\n let ovpk = header.get_ovpk_m(context, ov);\n let ivpk = header.get_ivpk_m(context, iv);\n emit_with_keys(context, e.note, ovpk, ivpk, iv, compute_unconstrained);\n }\n}\n\npub fn encode_and_encrypt_note_with_keys<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress\n) -> fn[(&mut PrivateContext, Point, Point, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n emit_with_keys(context, e.note, ovpk, ivpk, recipient, compute);\n }\n}\n\npub fn encode_and_encrypt_note_with_keys_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress\n) -> fn[(&mut PrivateContext, Point, Point, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n emit_with_keys(context, e.note, ovpk, ivpk, recipient, compute_unconstrained);\n }\n}\n"},"110":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/outgoing_body.nr","source":"use dep::protocol_types::{\n address::AztecAddress, scalar::Scalar, point::Point, constants::GENERATOR_INDEX__SYMMETRIC_KEY,\n hash::poseidon2_hash_with_separator\n};\nuse std::aes128::aes128_encrypt;\n\nuse crate::{keys::point_to_symmetric_key::point_to_symmetric_key, utils::point::point_to_bytes};\n\nstruct EncryptedLogOutgoingBody {\n eph_sk: Scalar,\n recipient: AztecAddress,\n recipient_ivpk: Point,\n}\n\nimpl EncryptedLogOutgoingBody {\n pub fn new(eph_sk: Scalar, recipient: AztecAddress, recipient_ivpk: Point) -> Self {\n Self { eph_sk, recipient, recipient_ivpk }\n }\n\n /// Encrypts ephemeral secret key and recipient's ivpk --> with this information the recipient of outgoing will\n /// be able to derive the key with which the incoming log can be decrypted.\n pub fn compute_ciphertext(self, ovsk_app: Scalar, eph_pk: Point) -> [u8; 144] {\n // Again, we could compute `eph_pk` here, but we keep the interface more similar\n // and also make it easier to optimise it later as we just pass it along\n\n let mut buffer = [0 as u8; 128];\n\n let serialized_eph_sk_high = self.eph_sk.hi.to_be_bytes(32);\n let serialized_eph_sk_low = self.eph_sk.lo.to_be_bytes(32);\n\n let address_bytes = self.recipient.to_field().to_be_bytes(32);\n let serialized_recipient_ivpk = point_to_bytes(self.recipient_ivpk);\n\n for i in 0..32 {\n buffer[i] = serialized_eph_sk_high[i];\n buffer[i + 32] = serialized_eph_sk_low[i];\n buffer[i + 64] = address_bytes[i];\n }\n for i in 0..32 {\n buffer[i + 96] = serialized_recipient_ivpk[i];\n }\n\n // We compute the symmetric key using poseidon.\n let full_key: [u8; 32] = poseidon2_hash_with_separator(\n [ovsk_app.hi, ovsk_app.lo, eph_pk.x, eph_pk.y],\n GENERATOR_INDEX__SYMMETRIC_KEY as Field\n ).to_be_bytes(32).as_array();\n\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(buffer, iv, sym_key).as_array()\n }\n}\n\nmod test {\n use crate::encrypted_logs::outgoing_body::EncryptedLogOutgoingBody;\n use dep::protocol_types::{\n address::AztecAddress, traits::Empty, constants::GENERATOR_INDEX__NOTE_NULLIFIER,\n scalar::Scalar, point::Point, hash::poseidon2_hash_with_separator\n };\n use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key;\n\n use crate::context::PrivateContext;\n\n #[test]\n fn test_encrypted_log_outgoing_body_matches_typescript() {\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000d0d302ee245dfaf2807e604eec4715fe,\n hi: 0x000000000000000000000000000000000f096b423017226a18461115fa8d34bb\n };\n let recipient_ivsk = Scalar {\n lo: 0x000000000000000000000000000000004828f8f95676ebb481df163f87fd4022,\n hi: 0x000000000000000000000000000000000f4d97c25d578f9348251a71ca17ae31\n };\n let sender_ovsk_app = Scalar {\n lo: 0x0000000000000000000000000000000074d2e28c6bc5176ac02cf7c7d36a444e,\n hi: 0x00000000000000000000000000000000089c6887cb1446d86c64e81afc78048b\n };\n\n let eph_pk = derive_public_key(eph_sk);\n let recipient_ivpk = derive_public_key(recipient_ivsk);\n\n let recipient = AztecAddress::from_field(0xdeadbeef);\n\n let body = EncryptedLogOutgoingBody::new(eph_sk, recipient, recipient_ivpk);\n\n let ciphertext = body.compute_ciphertext(sender_ovsk_app, eph_pk);\n\n // The following value was generated by `encrypted_log_outgoing_body.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let outgoing_body_ciphertext_from_typescript = [\n 127, 182, 227, 75, 192, 197, 54, 47, 168, 134, 233, 148, 251, 46, 86, 12, 73, 50, 238, 50, 31, 174, 27, 202, 110, 77, 161, 197, 244, 124, 17, 100, 143, 150, 232, 14, 156, 248, 43, 177, 16, 82, 244, 103, 88, 74, 84, 200, 15, 65, 187, 14, 163, 60, 91, 22, 104, 31, 211, 190, 124, 121, 79, 92, 239, 65, 185, 106, 51, 178, 168, 137, 84, 43, 79, 158, 151, 152, 83, 42, 170, 13, 106, 209, 254, 74, 39, 145, 73, 215, 17, 234, 196, 89, 30, 58, 120, 127, 88, 69, 121, 61, 18, 206, 89, 118, 243, 238, 177, 71, 73, 47, 147, 4, 155, 25, 173, 248, 206, 52, 17, 180, 122, 186, 106, 191, 252, 102, 197, 91, 16, 39, 94, 91, 224, 30, 168, 177, 26, 144, 5, 124, 128, 6\n ];\n\n for i in 0..outgoing_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], outgoing_body_ciphertext_from_typescript[i]);\n }\n assert_eq(outgoing_body_ciphertext_from_typescript.len(), ciphertext.len());\n }\n}\n"},"111":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/header.nr","source":"use dep::protocol_types::{address::AztecAddress, scalar::Scalar, point::Point};\n\nuse crate::keys::point_to_symmetric_key::point_to_symmetric_key;\n\nuse std::aes128::aes128_encrypt;\n\nstruct EncryptedLogHeader {\n address: AztecAddress,\n}\n\nimpl EncryptedLogHeader {\n fn new(address: AztecAddress) -> Self {\n EncryptedLogHeader { address }\n }\n\n fn compute_ciphertext(self, secret: Scalar, point: Point) -> [u8; 48] {\n let full_key = point_to_symmetric_key(secret, point);\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n\n let input: [u8; 32] = self.address.to_field().to_be_bytes(32).as_array();\n aes128_encrypt(input, iv, sym_key).as_array()\n }\n}\n\n#[test]\nfn test_encrypted_log_header_matches_noir() {\n let address = AztecAddress::from_field(0xdeadbeef);\n let header = EncryptedLogHeader::new(address);\n let secret = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let point = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n let ciphertext = header.compute_ciphertext(secret, point);\n\n // The following value was generated by `encrypted_log_header.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let expected_header_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 194, 44, 7, 131, 160, 83, 64, 181, 98, 38, 153, 214, 62, 171, 253, 161, 111, 191, 28, 247, 216, 26, 222, 171, 176, 218, 48, 209, 73, 89, 200, 209\n ];\n\n assert_eq(ciphertext, expected_header_ciphertext_from_typescript);\n}\n"},"112":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/incoming_body.nr","source":"use crate::note::note_interface::NoteInterface;\nuse crate::event::event_interface::EventInterface;\nuse dep::protocol_types::{scalar::Scalar, point::Point};\n\nuse std::aes128::aes128_encrypt;\nuse crate::keys::point_to_symmetric_key::point_to_symmetric_key;\n\nstruct EncryptedLogIncomingBody<let M: u32> {\n plaintext: [u8; M]\n}\n\nimpl<let M: u32> EncryptedLogIncomingBody<M> {\n pub fn from_note<T, let N: u32>(note: T, storage_slot: Field) -> Self where T: NoteInterface<N, M> {\n let mut plaintext = note.to_be_bytes(storage_slot);\n EncryptedLogIncomingBody { plaintext }\n }\n\n pub fn from_event<T, let MR: u32>(\n event: T,\n randomness: Field\n ) -> Self where T: EventInterface<M, MR> {\n let mut plaintext = event.private_to_be_bytes(randomness);\n EncryptedLogIncomingBody { plaintext }\n }\n\n pub fn compute_ciphertext(self, eph_sk: Scalar, ivpk: Point) -> [u8] {\n let full_key = point_to_symmetric_key(eph_sk, ivpk);\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(self.plaintext, iv, sym_key)\n }\n}\n\nmod test {\n use dep::protocol_types::{\n address::AztecAddress, scalar::Scalar, point::Point, traits::Serialize,\n abis::event_selector::EventSelector\n };\n\n use crate::{\n note::{note_header::NoteHeader, note_interface::NoteInterface},\n encrypted_logs::incoming_body::EncryptedLogIncomingBody, event::event_interface::EventInterface,\n context::PrivateContext\n };\n\n struct AddressNote {\n address: AztecAddress,\n owner: AztecAddress,\n randomness: Field,\n header: NoteHeader,\n }\n\n global ADDRESS_NOTE_LEN: Field = 3;\n global ADDRESS_NOTE_BYTES_LEN = 32 * 3 + 64;\n\n impl NoteInterface<ADDRESS_NOTE_LEN, ADDRESS_NOTE_BYTES_LEN> for AddressNote {\n fn compute_note_hiding_point(self) -> Point {\n crate::generators::Ga1\n }\n\n fn get_note_type_id() -> Field {\n 1\n }\n\n fn get_header(self) -> NoteHeader { self.header}\n\n fn set_header(&mut self, header: NoteHeader) {self.header = header; }\n\n fn compute_note_hash_and_nullifier(_self: Self, _context: &mut PrivateContext) -> (Field, Field) {\n (1, 1)\n }\n\n fn compute_note_hash_and_nullifier_without_context(_self: Self) -> (Field, Field) {(1,1)}\n\n fn serialize_content(self) -> [Field; ADDRESS_NOTE_LEN] { [self.address.to_field(), self.owner.to_field(), self.randomness]}\n\n fn deserialize_content(fields: [Field; ADDRESS_NOTE_LEN]) -> Self {\n AddressNote { address: AztecAddress::from_field(fields[0]), owner: AztecAddress::from_field(fields[1]), randomness: fields[2], header: NoteHeader::empty() }\n }\n\n fn to_be_bytes(self, storage_slot: Field) -> [u8; ADDRESS_NOTE_BYTES_LEN] {\n let serialized_note = self.serialize_content();\n\n let mut buffer: [u8; ADDRESS_NOTE_BYTES_LEN] = [0; ADDRESS_NOTE_BYTES_LEN];\n\n let storage_slot_bytes = storage_slot.to_be_bytes(32);\n let note_type_id_bytes = AddressNote::get_note_type_id().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = storage_slot_bytes[i];\n buffer[32 + i] = note_type_id_bytes[i];\n }\n\n for i in 0..serialized_note.len() {\n let bytes = serialized_note[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n buffer\n }\n }\n\n impl AddressNote {\n pub fn new(address: AztecAddress, owner: AztecAddress, randomness: Field) -> Self {\n AddressNote { address, owner, randomness, header: NoteHeader::empty() }\n }\n }\n\n #[test]\n fn test_encrypted_note_log_incoming_body_matches_typescript() {\n // All the values in this test were copied over from `encrypted_note_log_incoming_body.test.ts`\n let note = AddressNote::new(\n AztecAddress::from_field(0x1),\n AztecAddress::from_field(0x2),\n 3\n );\n\n let storage_slot = 2;\n\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let ivpk = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n /// 1. `EncryptedLogIncomingBody::from_note` calls `note.to_be_bytes(storage_slot)` function which serializes\n /// the note to bytes - note that in the case of `AddressNote` the `to_be_bytes` function was automatically\n /// implemented by Aztec macros.\n let body = EncryptedLogIncomingBody::from_note(note, storage_slot);\n\n /// 2. `body.compute_ciphertext(...)` function then derives symmetric key from `eph_sk` and `ivpk` and encrypts\n // the note plaintext using AES-128.\n let ciphertext = body.compute_ciphertext(eph_sk, ivpk);\n\n // The following value was generated by `encrypted_note_log_incoming_body.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let note_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160, 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157, 131, 149, 96, 236, 253, 96, 172, 157, 30, 27, 176, 228, 74, 242, 190, 138, 48, 33, 93, 46, 37, 223, 130, 25, 245, 188, 163, 159, 223, 187, 24, 139, 206, 131, 154, 159, 130, 37, 17, 158, 114, 242, 141, 124, 193, 232, 54, 146, 96, 145, 100, 125, 234, 57, 43, 95, 115, 183, 39, 121, 232, 134, 229, 148, 25, 46, 77, 87, 127, 95, 7, 77, 188, 37, 234, 245, 142, 232, 87, 252, 28, 67, 67, 90, 214, 254, 89, 47, 68, 66, 187, 227, 8, 59, 162, 25, 141, 97, 141, 217, 197, 115, 15, 212, 202, 157, 41, 150, 62, 219, 57, 224, 92, 185, 212, 142, 94, 146, 41, 178, 145, 68, 169, 23, 185, 206, 138, 70, 47, 176, 210, 165, 236, 23, 206, 229, 108\n ];\n\n assert_eq(note_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..note_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], note_body_ciphertext_from_typescript[i]);\n }\n }\n\n struct TestEvent {\n value0: Field,\n value1: Field,\n value2: Field,\n }\n\n impl Serialize<3> for TestEvent {\n fn serialize(self) -> [Field; 3] {\n [self.value0, self.value1, self.value2]\n }\n }\n\n global TEST_EVENT_LEN: Field = 3;\n global TEST_EVENT_BYTES_LEN = 32 * 3 + 64;\n global TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS = 32 * 3 + 32;\n\n impl EventInterface<TEST_EVENT_BYTES_LEN, TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS> for TestEvent {\n fn get_event_type_id() -> EventSelector {\n EventSelector::from_signature(\"TestEvent(Field,Field,Field)\")\n }\n\n fn private_to_be_bytes(self, randomness: Field) -> [u8; TEST_EVENT_BYTES_LEN] {\n let mut buffer: [u8; TEST_EVENT_BYTES_LEN] = [0; TEST_EVENT_BYTES_LEN];\n\n let randomness_bytes = randomness.to_be_bytes(32);\n let event_type_id_bytes = TestEvent::get_event_type_id().to_field().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = randomness_bytes[i];\n buffer[32 + i] = event_type_id_bytes[i];\n }\n\n let serialized_event = self.serialize();\n\n for i in 0..serialized_event.len() {\n let bytes = serialized_event[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n\n buffer\n }\n\n fn to_be_bytes(self) -> [u8; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS] {\n let mut buffer: [u8; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS] = [0; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS];\n\n let event_type_id_bytes = TestEvent::get_event_type_id().to_field().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = event_type_id_bytes[i];\n }\n\n let serialized_event = self.serialize();\n\n for i in 0..serialized_event.len() {\n let bytes = serialized_event[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[32 + i * 32 + j] = bytes[j];\n }\n }\n\n buffer\n }\n\n fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n }\n\n #[test]\n fn test_encrypted_log_event_incoming_body() {\n let test_event = TestEvent { value0: 1, value1: 2, value2: 3 };\n\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n\n let ivpk = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n let randomness = 2;\n\n let body = EncryptedLogIncomingBody::from_event(test_event, randomness);\n\n let ciphertext = body.compute_ciphertext(eph_sk, ivpk);\n\n // The following value was generated by `encrypted_event_log_incoming_body.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let event_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160, 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157, 131, 149, 96, 236, 253, 96, 172, 157, 30, 185, 29, 14, 152, 216, 130, 219, 151, 80, 185, 43, 223, 167, 8, 89, 189, 88, 188, 101, 137, 255, 136, 84, 252, 79, 18, 52, 3, 110, 54, 54, 206, 244, 209, 246, 226, 207, 247, 143, 253, 211, 75, 160, 224, 172, 41, 45, 7, 208, 137, 90, 56, 59, 4, 234, 48, 53, 23, 130, 230, 49, 249, 142, 243, 170, 72, 183, 242, 49, 124, 46, 52, 198, 75, 55, 102, 56, 89, 254, 67, 59, 157, 249, 120, 184, 67, 154, 16, 148, 227, 93, 37, 120, 199, 93, 166, 80, 127, 173, 52, 80, 135, 87, 1, 168, 164, 51, 48, 126, 120, 47, 102, 211, 227, 234, 170, 208, 99, 111, 198, 170, 226, 156, 244, 241, 174, 206, 30\n ];\n\n assert_eq(event_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..event_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], event_body_ciphertext_from_typescript[i]);\n }\n }\n}\n"},"116":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/note_getter/mod.nr","source":"use dep::protocol_types::{constants::{MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, GET_NOTES_ORACLE_RETURN_LENGTH}};\nuse crate::context::PrivateContext;\nuse crate::note::{\n constants::{GET_NOTE_ORACLE_RETURN_LENGTH, MAX_NOTES_PER_PAGE, VIEW_NOTE_ORACLE_RETURN_LENGTH},\n note_getter_options::{NoteGetterOptions, Select, Sort, SortOrder, Comparator, NoteStatus, PropertySelector},\n note_interface::NoteInterface, note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_request\n};\nuse crate::oracle;\n\nmod test;\n\nfn extract_property_value_from_selector<let N: u32>(\n serialized_note: [Field; N],\n selector: PropertySelector\n) -> Field {\n // Selectors use PropertySelectors in order to locate note properties inside the serialized note. \n // This allows easier packing and custom (de)serialization schemas. A note property is located\n // inside the serialized note using the index inside the array, a byte offset and a length.\n let value = serialized_note[selector.index].to_be_bytes(32);\n let offset = selector.offset;\n let length = selector.length;\n let mut value_field = 0 as Field;\n let mut acc: Field = 1;\n for i in 0..32 {\n if i < length {\n value_field += value[31 + offset - i] as Field * acc;\n acc = acc * 256;\n }\n }\n value_field\n}\n\nfn check_note_header<Note, let N: u32, let M: u32>(\n context: PrivateContext,\n storage_slot: Field,\n note: Note\n) where Note: NoteInterface<N, M> {\n let header = note.get_header();\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address), \"Mismatch note header contract address.\");\n assert(header.storage_slot == storage_slot, \"Mismatch note header storage slot.\");\n}\n\nfn check_note_fields<let N: u32>(\n serialized_note: [Field; N],\n selects: BoundedVec<Option<Select>, N>\n) {\n for i in 0..selects.len {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n let value_field = extract_property_value_from_selector(serialized_note, select.property_selector);\n\n // Values are computed ahead of time because circuits evaluate all branches\n let is_equal = value_field == select.value.to_field();\n let is_lt = value_field.lt(select.value.to_field());\n\n if (select.comparator == Comparator.EQ) {\n assert(is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.NEQ) {\n assert(!is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LT) {\n assert(is_lt, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LTE) {\n assert(is_lt | is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GT) {\n assert(!is_lt & !is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GTE) {\n assert(!is_lt, \"Mismatch return note field.\");\n }\n }\n}\n\nfn check_notes_order<let N: u32>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>\n) {\n for i in 0..sorts.len {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let field_0 = extract_property_value_from_selector(fields_0, sort.property_selector);\n let field_1 = extract_property_value_from_selector(fields_1, sort.property_selector);\n let eq = field_0 == field_1;\n let lt = field_0.lt(field_1);\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, let N: u32, let M: u32>(\n context: &mut PrivateContext,\n storage_slot: Field\n) -> Note where Note: NoteInterface<N, M> {\n let note = get_note_internal(storage_slot);\n\n check_note_header(*context, storage_slot, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n\n context.push_note_hash_read_request(note_hash_for_read_request);\n note\n}\n\npub fn get_notes<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL> where Note: NoteInterface<N, M> + Eq {\n let opt_notes = get_notes_internal(storage_slot, options);\n\n constrain_get_notes_internal(context, storage_slot, opt_notes, options)\n}\n\nunconstrained fn apply_preprocessor<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS>(\n notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor: fn([Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL], PREPROCESSOR_ARGS) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor_args: PREPROCESSOR_ARGS\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n preprocessor(notes, preprocessor_args)\n}\n\nfn constrain_get_notes_internal<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n opt_notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL> where Note: NoteInterface<N, M> + Eq {\n // The filter is applied first to avoid pushing note read requests for notes we're not interested in. Note that\n // while the filter function can technically mutate the contents of the notes (as opposed to simply removing some),\n // the private kernel will later validate that these note actually exist, so transformations would cause for that\n // check to fail.\n let filter_fn = options.filter;\n let filter_args = options.filter_args;\n let filtered_notes = filter_fn(opt_notes, filter_args);\n\n let notes = crate::utils::collapse(filtered_notes);\n\n // We have now collapsed the sparse array of Options into a BoundedVec. This is a more ergonomic type and also\n // results in reduced gate counts when setting a limit value, since we guarantee that the limit is an upper bound\n // for the runtime length, and can therefore have fewer loop iterations.\n assert(notes.len() <= options.limit, \"Got more notes than limit.\");\n\n let mut prev_fields = [0; N];\n for i in 0..options.limit {\n if i < notes.len() {\n let note = notes.get_unchecked(i);\n let fields = note.serialize_content();\n check_note_header(*context, storage_slot, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_note_hash_read_request(note_hash_for_read_request);\n };\n }\n\n notes\n}\n\nunconstrained fn get_note_internal<Note, let N: u32, let M: u32>(storage_slot: Field) -> Note where Note: NoteInterface<N, M> {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n oracle::notes::get_notes(\n storage_slot,\n 0,\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n NoteStatus.ACTIVE,\n placeholder_note,\n placeholder_fields,\n placeholder_note_length\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] where Note: NoteInterface<N, M> {\n // This function simply performs some transformations from NoteGetterOptions into the types required by the oracle.\n\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n apply_preprocessor(opt_notes, options.preprocessor, options.preprocessor_args)\n}\n\nunconstrained pub fn view_notes<Note, let N: u32, let M: u32>(\n storage_slot: Field,\n options: NoteViewerOptions<Note, N, M>\n) -> BoundedVec<Note, MAX_NOTES_PER_PAGE> where Note: NoteInterface<N, M> {\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let notes_array = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n let mut notes = BoundedVec::new();\n for i in 0..notes_array.len() {\n if notes_array[i].is_some() {\n notes.push(notes_array[i].unwrap_unchecked());\n }\n }\n\n notes\n}\n\nunconstrained fn flatten_options<Note, let N: u32>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>\n) -> (u8, [u8; N], [u8; N], [u8; N], [Field; N], [u8; N], [u8; N], [u8; N], [u8; N], [u8; N]) {\n let mut num_selects = 0;\n let mut select_by_indexes = [0; N];\n let mut select_by_offsets = [0; N];\n let mut select_by_lengths = [0; N];\n let mut select_values = [0; N];\n let mut select_comparators = [0; N];\n\n for i in 0..selects.len {\n let select = selects.get(i);\n if select.is_some() {\n select_by_indexes[num_selects] = select.unwrap_unchecked().property_selector.index;\n select_by_offsets[num_selects] = select.unwrap_unchecked().property_selector.offset;\n select_by_lengths[num_selects] = select.unwrap_unchecked().property_selector.length;\n select_values[num_selects] = select.unwrap_unchecked().value;\n select_comparators[num_selects] = select.unwrap_unchecked().comparator;\n num_selects += 1;\n };\n }\n\n let mut sort_by_indexes = [0; N];\n let mut sort_by_offsets = [0; N];\n let mut sort_by_lengths = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by_indexes[i] = sort.unwrap_unchecked().property_selector.index;\n sort_by_offsets[i] = sort.unwrap_unchecked().property_selector.offset;\n sort_by_lengths[i] = sort.unwrap_unchecked().property_selector.length;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (\n num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order\n )\n}\n"},"118":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/utils.nr","source":"use crate::{\n context::PrivateContext, generators::G_slot,\n note::{note_header::NoteHeader, note_interface::NoteInterface}\n};\n\nuse dep::protocol_types::{\n hash::{\n compute_unique_note_hash, compute_siloed_note_hash as compute_siloed_note_hash,\n compute_siloed_nullifier as compute_siloed_nullifier_from_preimage\n},\n point::Point, utils::arr_copy_slice\n};\nuse dep::std::{embedded_curve_ops::multi_scalar_mul, hash::from_field_unsafe};\n\npub fn compute_siloed_nullifier<Note, let N: u32, let M: u32>(\n note_with_header: Note,\n context: &mut PrivateContext\n) -> Field where Note: NoteInterface<N, M> {\n let header = note_with_header.get_header();\n let (_, inner_nullifier) = note_with_header.compute_note_hash_and_nullifier(context);\n\n compute_siloed_nullifier_from_preimage(header.contract_address, inner_nullifier)\n}\n\npub fn compute_note_hash_for_read_request<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n let nonce = note.get_header().nonce;\n let counter = note.get_header().note_hash_counter;\n\n if counter != 0 {\n note_hash\n } else {\n compute_unique_note_hash(nonce, note_hash)\n }\n}\n\npub fn compute_note_hash_for_consumption<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n let header = note.get_header();\n // There are 3 cases for reading a note intended for consumption:\n // 1. The note was inserted in this transaction, is revertible, or is not nullified by a revertible nullifier in \n // the same transaction: (note_hash_counter != 0) & (nonce == 0)\n // 2. The note was inserted in this transaction, is non-revertible, and is nullified by a revertible nullifier in \n // the same transaction: (note_hash_counter != 0) & (nonce != 0)\n // 3. The note was inserted in a previous transaction: (note_hash_counter == 0) & (nonce != 0)\n\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n if header.nonce == 0 {\n // Case 1.\n // If a note is transient, we just read the note_hash (kernel will hash it with nonce and silo by contract address).\n note_hash\n } else {\n // Case 2: If a note is non-revertible, and is nullified by a revertible nullifier, we cannot squash them in the \n // private reset circuit. Because if the tx reverts, we will have to keep the note hash and throw away the \n // nullifier.\n // And if the tx does not revert, both will be emitted. In which case, the nullifier must be created in the app\n // from the siloed note hash.\n // The kernel circuit will check that a nullifier with non-zero note_nonce is linked to a note hash, whose\n // siloed note hash matches the note hash specified in the nullifier.\n\n // Case 3: If a note is not from the current transaction, that means we are reading a settled note (from \n // tree) created in a previous TX. So we need the siloed_note_hash which has already been hashed with\n // nonce and then contract address. This hash will match the existing leaf in the note hash\n // tree, so the kernel can just perform a membership check directly on this hash/leaf.\n let unique_note_hash = compute_unique_note_hash(header.nonce, note_hash);\n compute_siloed_note_hash(header.contract_address, unique_note_hash)\n // IMPORTANT NOTE ON REDUNDANT SILOING BY CONTRACT ADDRESS: The note hash computed above is\n // \"siloed\" by contract address. When a note hash is computed solely for the purpose of\n // nullification, it is not strictly necessary to silo the note hash before computing\n // its nullifier. In other words, it is NOT NECESSARY for protocol security that a nullifier\n // be computed from a siloed note hash. After all, persistable note hashes and nullifiers are\n // siloed by the kernel circuit. That being said, the siloed note hash computed above CAN be\n // used for nullifier computation, and this achieves the (arguably unnecessary) property that\n // nullifiers are computed from a note hash's fully-computed note hash tree leaf.\n }\n}\n\npub fn compute_note_hash_and_optionally_a_nullifier<T, let N: u32, let M: u32, let S: u32>(\n deserialize_content: fn([Field; N]) -> T,\n note_header: NoteHeader,\n compute_nullifier: bool,\n serialized_note: [Field; S]\n) -> [Field; 4] where T: NoteInterface<N, M> {\n let mut note = deserialize_content(arr_copy_slice(serialized_note, [0; N], 0));\n note.set_header(note_header);\n\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n let unique_note_hash = compute_unique_note_hash(note_header.nonce, note_hash);\n let siloed_note_hash = compute_siloed_note_hash(note_header.contract_address, unique_note_hash);\n\n let inner_nullifier = if compute_nullifier {\n let (_, nullifier) = note.compute_note_hash_and_nullifier_without_context();\n nullifier\n } else {\n 0\n };\n // docs:start:compute_note_hash_and_optionally_a_nullifier_returns\n [note_hash, unique_note_hash, siloed_note_hash, inner_nullifier]\n // docs:end:compute_note_hash_and_optionally_a_nullifier_returns\n}\n"},"119":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/lifecycle.nr","source":"use crate::context::{PrivateContext, PublicContext};\nuse crate::note::{\n note_header::NoteHeader, note_interface::NoteInterface, utils::compute_note_hash_for_consumption,\n note_emission::NoteEmission\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, N, M>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note\n) -> NoteEmission<Note> where Note: NoteInterface<N, M> {\n let contract_address = (*context).this_address();\n let note_hash_counter = context.side_effect_counter;\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter };\n note.set_header(header);\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n let serialized_note = Note::serialize_content(*note);\n assert(\n notify_created_note(\n storage_slot,\n Note::get_note_type_id(),\n serialized_note,\n note_hash,\n note_hash_counter\n )\n == 0\n );\n\n context.push_note_hash(note_hash);\n\n NoteEmission::new(*note)\n}\n\npub fn create_note_hash_from_public<Note, N, M>(\n context: &mut PublicContext,\n storage_slot: Field,\n note: &mut Note\n) where Note: NoteInterface<N, M> {\n let contract_address = (*context).this_address();\n // Public note hashes are transient, but have no side effect counters, so we just need note_hash_counter != 0\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter: 1 };\n note.set_header(header);\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n context.push_note_hash(note_hash);\n}\n\npub fn destroy_note<Note, N, M>(\n context: &mut PrivateContext,\n note: Note\n) where Note: NoteInterface<N, M> {\n let (note_hash, nullifier) = note.compute_note_hash_and_nullifier(context);\n\n let note_hash_counter = note.get_header().note_hash_counter;\n let note_hash_for_consumption = if (note_hash_counter == 0) {\n // Counter is zero, so we're nullifying a settled note and we don't populate the note_hash with real value.\n 0\n } else {\n // A non-zero note hash counter implies that we're nullifying a pending note (i.e. one that has not yet been\n // persisted in the trees and is instead in the pending new note hashes array). In such a case we populate its\n // hash with real value to inform the kernel which note we're nullifyng so that it can either squash both\n // the note and the nullifier if it's an inner note hash, or check that the it matches a pending note if it's\n // a siloed note hash.\n note_hash\n };\n\n let nullifier_counter = context.side_effect_counter;\n assert(notify_nullified_note(nullifier, note_hash_for_consumption, nullifier_counter) == 0);\n\n context.push_nullifier_for_note_hash(nullifier, note_hash_for_consumption)\n}\n"},"120":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/note_emission.nr","source":"/**\n * A note emission struct containing the information required for emitting a note.\n * The exact `emit` logic is passed in by the application code\n */\nstruct NoteEmission<Note> {\n note: Note\n}\n\nimpl<Note> NoteEmission<Note> {\n pub fn new(note: Note) -> Self {\n Self { note }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n\n pub fn discard(_self: Self) {}\n}\n\n/**\n * A struct wrapping note emission in `Option<T>`.\n * This is the struct provided to application codes, which can be used to emit\n * only when a note was actually inserted.\n * It is fairly common to have cases where a function conditionally inserts,\n * and this allows us to keep the same API for emission in both cases (e.g. inserting \n * a change note in a token's transfer function only when there is \"change\" left).\n */\nstruct OuterNoteEmission<Note> {\n emission: Option<NoteEmission<Note>>,\n}\n\nimpl<Note> OuterNoteEmission<Note> {\n pub fn new(emission: Option<NoteEmission<Note>>) -> Self {\n Self { emission }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](NoteEmission<Note>) -> ()) {\n if self.emission.is_some() {\n _emit(self.emission.unwrap());\n }\n }\n\n pub fn discard(_self: Self) {}\n}\n"},"128":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash,\n hash::{\n pedersen_hash, compute_siloed_nullifier, sha256_to_field, pedersen_commitment,\n poseidon2_hash_with_separator\n}\n};\n// Note: pedersen_commitment is used only as a re-export here\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"129":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/initializer.nr","source":"use dep::protocol_types::{\n address::AztecAddress, hash::{compute_siloed_nullifier, poseidon2_hash_with_separator},\n constants::GENERATOR_INDEX__CONSTRUCTOR, abis::function_selector::FunctionSelector\n};\n\nuse crate::{\n context::{PrivateContext, PublicContext}, oracle::get_contract_instance::get_contract_instance,\n oracle::get_contract_instance::get_contract_instance_avm\n};\n\npub fn mark_as_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn mark_as_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn assert_is_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n context.push_nullifier_read_request(init_nullifier);\n}\n\nfn compute_unsiloed_contract_initialization_nullifier(address: AztecAddress) -> Field {\n address.to_field()\n}\n\npub fn assert_initialization_matches_address_preimage_public(context: PublicContext) {\n let address = context.this_address();\n let instance = get_contract_instance_avm(address).unwrap();\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn assert_initialization_matches_address_preimage_private(context: PrivateContext) {\n let address = context.this_address();\n let instance = get_contract_instance(address);\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn compute_initialization_hash(init_selector: FunctionSelector, init_args_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [init_selector.to_field(), init_args_hash],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n"},"131":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"133":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr","source":"#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle<let N: u32>(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n"},"134":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_public_data_witness.nr","source":"use dep::protocol_types::{\n constants::PUBLIC_DATA_TREE_HEIGHT, hash::pedersen_hash,\n public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage, traits::{Hash, Serialize},\n utils::arr_copy_slice\n};\n\nglobal LEAF_PREIMAGE_LENGTH: u32 = 4;\nglobal PUBLIC_DATA_WITNESS: Field = 45;\n\nstruct PublicDataWitness {\n index: Field,\n leaf_preimage: PublicDataTreeLeafPreimage,\n path: [Field; PUBLIC_DATA_TREE_HEIGHT],\n}\n\n#[oracle(getPublicDataTreeWitness)]\nunconstrained fn get_public_data_witness_oracle(\n _block_number: u32,\n _public_data_tree_index: Field\n) -> [Field; PUBLIC_DATA_WITNESS] {}\n\nunconstrained pub fn get_public_data_witness(block_number: u32, public_data_tree_index: Field) -> PublicDataWitness {\n let fields = get_public_data_witness_oracle(block_number, public_data_tree_index);\n PublicDataWitness {\n index: fields[0],\n leaf_preimage: PublicDataTreeLeafPreimage { slot: fields[1], value: fields[2], next_index: fields[3] as u32, next_slot: fields[4] },\n path: arr_copy_slice(fields, [0; PUBLIC_DATA_TREE_HEIGHT], 1 + LEAF_PREIMAGE_LENGTH)\n }\n}\n"},"135":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/key_validation_request.nr","source":"use dep::protocol_types::abis::validation_requests::{KeyValidationRequest, key_validation_request::KEY_VALIDATION_REQUEST_LENGTH};\n\n#[oracle(getKeyValidationRequest)]\nunconstrained fn get_key_validation_request_oracle(\n _pk_m_hash: Field,\n _key_index: Field\n) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {}\n\nunconstrained fn get_key_validation_request_internal(\n npk_m_hash: Field,\n key_index: Field\n) -> KeyValidationRequest {\n let result = get_key_validation_request_oracle(npk_m_hash, key_index);\n KeyValidationRequest::deserialize(result)\n}\n\npub fn get_key_validation_request(pk_m_hash: Field, key_index: Field) -> KeyValidationRequest {\n get_key_validation_request_internal(pk_m_hash, key_index)\n}\n\n"},"138":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr","source":"use dep::protocol_types::{address::AztecAddress, traits::Deserialize};\n\n#[oracle(storageRead)]\nunconstrained fn storage_read_oracle<let N: u32>(address: Field, storage_slot: Field, block_number: Field, length: Field) -> [Field; N] {}\n\nunconstrained pub fn raw_storage_read<let N: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> [Field; N] {\n storage_read_oracle(\n address.to_field(),\n storage_slot,\n block_number as Field,\n N as Field\n )\n}\n\nunconstrained pub fn storage_read<T, let N: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> T where T: Deserialize<N> {\n T::deserialize(raw_storage_read(address, storage_slot, block_number))\n}\n\nmod tests {\n use crate::oracle::storage::{raw_storage_read, storage_read};\n use dep::protocol_types::address::AztecAddress;\n\n use std::test::OracleMock;\n use crate::test::mocks::mock_struct::MockStruct;\n\n global address = AztecAddress::from_field(29);\n global slot = 7;\n global block_number = 17;\n\n #[test]\n fn test_raw_storage_read() {\n let written = MockStruct { a: 13, b: 42 };\n\n let _ = OracleMock::mock(\"storageRead\").returns(written.serialize());\n\n let read: [Field; 2] = raw_storage_read(address, slot, block_number);\n assert_eq(read[0], 13);\n assert_eq(read[1], 42);\n }\n\n #[test]\n fn test_storage_read() {\n let written = MockStruct { a: 13, b: 42 };\n\n let _ = OracleMock::mock(\"storageRead\").returns(written.serialize());\n\n let read: MockStruct = storage_read(address, slot, block_number);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n}\n"},"139":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/unsafe_rand.nr","source":"#[oracle(getRandomField)]\nunconstrained fn rand_oracle() -> Field {}\n\n// Called `unsafe_rand` because we do not constrain in circuit that we are dealing with an actual random value.\n// Instead we just trust our PXE.\nunconstrained pub fn unsafe_rand() -> Field {\n rand_oracle()\n}\n"},"141":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\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; 2] {}\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) -> (u32, Field) {\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 let mut reader = Reader::new(fields);\n let end_side_effect_counter = reader.read_u32();\n let returns_hash = reader.read();\n\n (end_side_effect_counter, returns_hash)\n}\n"},"142":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/keys.nr","source":"use crate::keys::PublicKeys;\nuse dep::protocol_types::{address::{AztecAddress, PartialAddress}, point::Point};\n\n#[oracle(getPublicKeysAndPartialAddress)]\nunconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> [Field; 13] {}\n\nunconstrained fn get_public_keys_and_partial_address_oracle_wrapper(address: AztecAddress) -> [Field; 13] {\n get_public_keys_and_partial_address_oracle(address)\n}\n\npub fn get_public_keys_and_partial_address(address: AztecAddress) -> (PublicKeys, PartialAddress) {\n let result = get_public_keys_and_partial_address_oracle_wrapper(address);\n\n let keys = PublicKeys {\n npk_m: Point { x: result[0], y: result[1], is_infinite: result[2] as bool },\n ivpk_m: Point { x: result[3], y: result[4], is_infinite: result[5] as bool },\n ovpk_m: Point { x: result[6], y: result[7], is_infinite: result[8] as bool },\n tpk_m: Point { x: result[9], y: result[10], is_infinite: result[11] as bool }\n };\n\n let partial_address = PartialAddress::from_field(result[12]);\n\n (keys, partial_address)\n}\n"},"144":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/notes.nr","source":"use crate::note::{note_header::NoteHeader, note_interface::NoteInterface};\n\nuse dep::protocol_types::{address::AztecAddress, utils::arr_copy_slice};\n\n#[oracle(notifyCreatedNote)]\nunconstrained fn notify_created_note_oracle<let N: u32>(\n _storage_slot: Field,\n _note_type_id: Field,\n _serialized_note: [Field; N],\n _note_hash: Field,\n _counter: u32\n) -> Field {}\n\nunconstrained pub fn notify_created_note<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n serialized_note: [Field; N],\n note_hash: Field,\n counter: u32\n) -> Field {\n notify_created_note_oracle(storage_slot, note_type_id, serialized_note, note_hash, counter)\n}\n\n#[oracle(notifyNullifiedNote)]\nunconstrained fn notify_nullified_note_oracle<let N: u32>(_nullifier: Field, _note_hash: Field, _counter: u32) -> Field {}\n\nunconstrained pub fn notify_nullified_note<let N: u32>(\n nullifier: Field,\n note_hash: Field,\n counter: u32\n) -> Field {\n notify_nullified_note_oracle(nullifier, note_hash, counter)\n}\n\n#[oracle(getNotes)]\nunconstrained fn get_notes_oracle<let N: u32, let S: u32>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by_indexes: [u8; N],\n _select_by_offsets: [u8; N],\n _select_by_lengths: [u8; N],\n _select_values: [Field; N],\n _select_comparators: [u8; N],\n _sort_by_indexes: [u8; N],\n _sort_by_offsets: [u8; N],\n _sort_by_lengths: [u8; N],\n _sort_order: [u8; N],\n _limit: u32,\n _offset: u32,\n _status: u8,\n _return_size: u32,\n _placeholder_fields: [Field; S]\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<let N: u32, let S: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; N],\n select_by_offsets: [u8; N],\n select_by_lengths: [u8; N],\n select_values: [Field; N],\n select_comparators: [u8; N],\n sort_by_indexes: [u8; N],\n sort_by_offsets: [u8; N],\n sort_by_lengths: [u8; N],\n sort_order: [u8; N],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_fields: [Field; S]\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n return_size,\n placeholder_fields\n )\n}\n\nunconstrained pub fn get_notes<Note, let N: u32, let NB: u32, let M: u32, let S: u32, let NS: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; M],\n select_by_offsets: [u8; M],\n select_by_lengths: [u8; M],\n select_values: [Field; M],\n select_comparators: [u8; M],\n sort_by_indexes: [u8; M],\n sort_by_offsets: [u8; M],\n sort_by_lengths: [u8; M],\n sort_order: [u8; M],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialize the note array.\n _placeholder_note_length: [Field; N] // Turbofish hack? Compiler breaks calculating read_offset unless we add this parameter\n) -> [Option<Note>; S] where Note: NoteInterface<N, NB> {\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n placeholder_fields\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n for i in 0..placeholder_opt_notes.len() {\n if i < num_notes {\n // lengths named as per typescript.\n let return_header_length: u32 = 2; // num_notes & contract_address.\n let extra_preimage_length: u32 = 2; // nonce & note_hash_counter.\n let read_offset: u32 = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let note_hash_counter = fields[read_offset + 1] as u32;\n let header = NoteHeader { contract_address, nonce, storage_slot, note_hash_counter };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = Note::deserialize_content(serialized_note);\n note.set_header(header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n// Only ever use this in private!\n#[oracle(checkNullifierExists)]\nunconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\n// Only ever use this in private!\nunconstrained pub fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n"},"145":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr","source":"use dep::protocol_types::{\n address::AztecAddress, contract_instance::ContractInstance, utils::arr_copy_slice,\n constants::CONTRACT_INSTANCE_LENGTH, utils::reader::Reader\n};\n\n#[oracle(getContractInstance)]\nunconstrained fn get_contract_instance_oracle(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {}\n\n// Returns a ContractInstance plus a boolean indicating whether the instance was found.\n#[oracle(avmOpcodeGetContractInstance)]\nunconstrained fn get_contract_instance_oracle_avm(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {}\n\nunconstrained fn get_contract_instance_internal(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n get_contract_instance_oracle(address)\n}\n\nunconstrained pub fn get_contract_instance_internal_avm(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {\n get_contract_instance_oracle_avm(address)\n}\n\npub fn get_contract_instance(address: AztecAddress) -> ContractInstance {\n let instance = ContractInstance::deserialize(get_contract_instance_internal(address));\n assert(instance.to_address().eq(address));\n instance\n}\n\npub fn get_contract_instance_avm(address: AztecAddress) -> Option<ContractInstance> {\n let mut reader = Reader::new(get_contract_instance_internal_avm(address));\n let found = reader.read();\n if found == 0 {\n Option::none()\n } else {\n Option::some(reader.read_struct(ContractInstance::deserialize))\n }\n}\n"},"146":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{abis::{function_selector::FunctionSelector}, address::AztecAddress};\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) {}\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) {\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) {}\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) {\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\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\nunconstrained pub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n"},"162":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_delay_change.nr","source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\nuse std::cmp::min;\n\nmod test;\n\n// This data structure is used by SharedMutable to store the minimum delay with which a ScheduledValueChange object can\n// schedule a change.\n// This delay is initally equal to INITIAL_DELAY, and can be safely mutated to any other value over time. This mutation \n// is performed via `schedule_change` in order to satisfy ScheduleValueChange constraints: if e.g. we allowed for the \n// delay to be decreased immediately then it'd be possible for the state variable to schedule a value change with a \n// reduced delay, invalidating prior private reads.\nstruct ScheduledDelayChange<let INITIAL_DELAY: u32> {\n // Both pre and post are stored in public storage, so by default they are zeroed. By wrapping them in an Option, \n // they default to Option::none(), which we detect and replace with INITIAL_DELAY. The end result is that a\n // ScheduledDelayChange that has not been initialized has a delay equal to INITIAL_DELAY, which is the desired\n // effect. Once initialized, the Option will never be none again.\n pre: Option<u32>,\n post: Option<u32>,\n // Block at which `post` value is used instead of `pre`\n block_of_change: u32,\n}\n\nimpl<let INITIAL_DELAY: u32> ScheduledDelayChange<INITIAL_DELAY> {\n pub fn new(pre: Option<u32>, post: Option<u32>, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the current value of the delay stored in the data structure.\n /// This function only returns a meaningful value when called in public with the current block number - for\n /// historical private reads use `get_effective_minimum_delay_at` instead.\n pub fn get_current(self, current_block_number: u32) -> u32 {\n // The post value becomes the current one at the block of change, so any transaction that is included in the\n // block of change will use the post value.\n\n if current_block_number < self.block_of_change {\n self.pre.unwrap_or(INITIAL_DELAY)\n } else {\n self.post.unwrap_or(INITIAL_DELAY)\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change delay and the block at which it will become the current\n /// delay. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (u32, u32) {\n (self.post.unwrap_or(INITIAL_DELAY), self.block_of_change)\n }\n\n /// Mutates the delay change by scheduling a change at the current block number. This function is only meaningful\n /// when called in public with the current block number.\n /// The block at which the new delay will become effective is determined automatically:\n /// - when increasing the delay, the change is effective immediately\n /// - when reducing the delay, the change will take effect after a delay equal to the difference between old and\n /// new delay. For example, if reducing from 3 days to 1 day, the reduction will be scheduled to happen after 2\n /// days.\n pub fn schedule_change(&mut self, new: u32, current_block_number: u32) {\n let current = self.get_current(current_block_number);\n\n // When changing the delay value we must ensure that it is not possible to produce a value change with a delay\n // shorter than the current one.\n let blocks_until_change = if new > current {\n // Increasing the delay value can therefore be done immediately: this does not invalidate prior contraints\n // about how quickly a value might be changed (indeed it strengthens them).\n 0\n } else {\n // Decreasing the delay requires waiting for the difference between current and new delay in order to ensure\n // that overall the current delay is respected.\n //\n // current delay earliest value block of change\n // block block of change if delay remained unchanged\n // =======N=========================|================================X=================>\n // ^ ^ ^\n // |-------------------------|--------------------------------|\n // | blocks until change new delay |\n // ------------------------------------------------------------\n // current delay\n current - new\n };\n\n self.pre = Option::some(current);\n self.post = Option::some(new);\n self.block_of_change = current_block_number + blocks_until_change;\n }\n\n /// Returns the minimum delay before a value might mutate due to a scheduled change, from the perspective of some\n /// historical block number. It only returns a meaningful value when called in private with historical blocks. This \n /// function can be used alongside `ScheduledValueChange.get_block_horizon` to properly constrain the\n /// `max_block_number` transaction property when reading mutable shared state.\n /// This value typically equals the current delay at the block following the historical one (the earliest one in\n /// which a value change could be scheduled), but it also considers scenarios in which a delay reduction is \n /// scheduled to happen in the near future, resulting in a way to schedule a change with an overall delay lower than\n /// the current one.\n pub fn get_effective_minimum_delay_at(self, historical_block_number: u32) -> u32 {\n if self.block_of_change <= historical_block_number {\n // If no delay changes were scheduled, then the delay value at the historical block (post) is guaranteed to\n // hold due to how further delay changes would be scheduled by `schedule_change`.\n self.post.unwrap_or(INITIAL_DELAY)\n } else {\n // If a change is scheduled, then the effective delay might be lower than the current one (pre). At the\n // block of change the current delay will be the scheduled one, with an overall delay from the historical\n // block number equal to the number of blocks until the change plus the new delay. If this value is lower\n // than the current delay, then that is the effective minimum delay.\n //\n // historical\n // block delay actual earliest value\n // v block of change block of change\n // =========NS=====================|=============================X===========Y=====>\n // ^ ^ ^ ^\n // earliest block in | | |\n // which to schedule change | | |\n // | | | |\n // |----------------------|------------------------------ |\n // | blocks new delay |\n // | until change |\n // | |\n // |----------------------------------------------------------------|\n // current delay at the earliest block in \n // which to scheduled value change\n\n let blocks_until_change = self.block_of_change - (historical_block_number + 1);\n\n min(\n self.pre.unwrap_or(INITIAL_DELAY),\n blocks_until_change + self.post.unwrap_or(INITIAL_DELAY)\n )\n }\n }\n}\n\nimpl<INITIAL_DELAY> Serialize<1> for ScheduledDelayChange<INITIAL_DELAY> {\n fn serialize(self) -> [Field; 1] {\n // We pack all three u32 values into a single U128, which is made up of two u64 limbs.\n // Low limb: [ pre_inner: u32 | post_inner: u32 ]\n // High limb: [ empty | pre_is_some: u8 | post_is_some: u8 | block_of_change: u32 ]\n\n let lo = ((self.pre.unwrap_unchecked() as u64) * (1 << 32))\n + (self.post.unwrap_unchecked() as u64);\n\n let hi = (self.pre.is_some() as u64) * (1 << 33) \n + (self.post.is_some() as u64 * (1 << 32)) \n + self.block_of_change as u64;\n\n let packed = U128::from_u64s_le(lo, hi);\n\n [packed.to_integer()]\n }\n}\n\nimpl<INITIAL_DELAY> Deserialize<1> for ScheduledDelayChange<INITIAL_DELAY> {\n fn deserialize(input: [Field; 1]) -> Self {\n let packed = U128::from_integer(input[0]);\n\n // We use division and modulo to clear the bits that correspond to other values when unpacking.\n\n let pre_is_some = ((packed.hi as u64) / (1 << 33)) as bool;\n let pre_inner = ((packed.lo as u64) / (1 << 32)) as u32;\n\n let post_is_some = (((packed.hi as u64) / (1 << 32)) % (1 << 1)) as bool;\n let post_inner = ((packed.lo as u64) % (1 << 32)) as u32;\n\n let block_of_change = ((packed.hi as u64) % (1 << 32)) as u32;\n\n Self {\n pre: if pre_is_some { Option::some(pre_inner) } else { Option::none() },\n post: if post_is_some { Option::some(post_inner) } else { Option::none() },\n block_of_change,\n }\n }\n}\n\nimpl<INITIAL_DELAY> Eq for ScheduledDelayChange<INITIAL_DELAY> {\n fn eq(self, other: Self) -> bool {\n (self.pre == other.pre) & (self.post == other.post) & (self.block_of_change == other.block_of_change)\n }\n}\n"},"164":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable_private_getter.nr","source":"use dep::protocol_types::{\n hash::{pedersen_hash, poseidon2_hash}, traits::{FromField, ToField}, address::AztecAddress,\n header::Header\n};\n\nuse crate::context::PrivateContext;\nuse crate::state_vars::{\n storage::Storage,\n shared_mutable::{\n shared_mutable::SharedMutable, scheduled_delay_change::ScheduledDelayChange,\n scheduled_value_change::ScheduledValueChange\n}\n};\n\nstruct SharedMutablePrivateGetter<T, INITIAL_DELAY> {\n context: &mut PrivateContext,\n // The contract address of the contract we want to read from\n other_contract_address: AztecAddress,\n // The storage slot where the SharedMutable is stored on the other contract\n storage_slot: Field,\n}\n\n// We have this as a view-only interface to reading Shared Mutables in other contracts.\n// Currently the Shared Mutable does not support this. We can adapt SharedMutable at a later date\nimpl<T, INITIAL_DELAY> SharedMutablePrivateGetter<T, INITIAL_DELAY> where T: FromField + ToField + Eq {\n pub fn new(\n context: &mut PrivateContext,\n other_contract_address: AztecAddress,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n assert(other_contract_address.to_field() != 0, \"Other contract address cannot be 0\");\n Self { context, other_contract_address, storage_slot }\n }\n\n pub fn get_value_in_private(self, header: Header) -> T {\n // We create a dummy SharedMutable state variable so that we can reuse its historical_read_from_public_storage\n // method, greatly reducing code duplication. \n let dummy: SharedMutable<T, INITIAL_DELAY, ()> = SharedMutable::new((), self.storage_slot);\n let (value_change, delay_change, historical_block_number) = dummy.historical_read_from_public_storage(header, self.other_contract_address);\n\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n let block_horizon = value_change.get_block_horizon(historical_block_number, effective_minimum_delay);\n\n // If our context has the same header as the one we pass in via the parameter, we are trying to read the \"current\" value\n // and thus need to set the tx max block number below. If the context header is not the same as the one we pass in, this means\n // we are trying to read a historical value and thus have no constraint on the max block number that this transaction can be included in.\n if (self.context.historical_header.global_variables.block_number.eq(header.global_variables.block_number)) {\n self.context.set_tx_max_block_number(block_horizon);\n }\n\n value_change.get_current_at(historical_block_number)\n }\n}\n"},"166":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_value_change.nr","source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\nuse std::cmp::min;\n\nmod test;\n\n// This data structure is used by SharedMutable to represent a value that changes from `pre` to `post` at some block\n// called the `block_of_change`. The value can only be made to change by scheduling a change event at some future block\n// of change after some minimum delay measured in blocks has elapsed. This means that at any given block number we know\n// both the current value and the smallest block number at which the value might change - this is called the\n// 'block horizon'.\nstruct ScheduledValueChange<T> {\n pre: T,\n post: T,\n // Block at which `post` value is used instead of `pre`\n block_of_change: u32,\n}\n\nimpl<T> ScheduledValueChange<T> {\n pub fn new(pre: T, post: T, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the value stored in the data structure at a given block. This function can be called both in public\n /// (where `block_number` is simply the current block number, i.e. the number of the block in which the current\n /// transaction will be included) and in private (where `block_number` is the historical block number that is used\n /// to construct the proof).\n /// Reading in private is only safe if the transaction's `max_block_number` property is set to a value lower or\n /// equal to the block horizon (see `get_block_horizon()`).\n pub fn get_current_at(self, block_number: u32) -> T {\n // The post value becomes the current one at the block of change. This means different things in each realm:\n // - in public, any transaction that is included in the block of change will use the post value\n // - in private, any transaction that includes the block of change as part of the historical state will use the\n // post value (barring any follow-up changes)\n\n if block_number < self.block_of_change {\n self.pre\n } else {\n self.post\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change value and the block at which it will become the current\n /// value. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (T, u32) {\n (self.post, self.block_of_change)\n }\n\n /// Returns the largest block number at which the value returned by `get_current_at` is known to remain the current\n /// value. This value is only meaningful in private when constructing a proof at some `historical_block_number`,\n /// since due to its asynchronous nature private execution cannot know about any later scheduled changes.\n /// The caller of this function must know how quickly the value can change due to a scheduled change in the form of\n /// `minimum_delay`. If the delay itself is immutable, then this is just its duration. If the delay is mutable\n /// however, then this value is the 'effective minimum delay' (obtained by calling\n /// `ScheduledDelayChange.get_effective_minimum_delay_at`), which equals the minimum number of blocks that need to\n /// elapse from the next block until the value changes, regardless of further delay changes.\n /// The value returned by `get_current_at` in private when called with a historical block number is only safe to use\n /// if the transaction's `max_block_number` property is set to a value lower or equal to the block horizon computed\n /// using the same historical block number.\n pub fn get_block_horizon(self, historical_block_number: u32, minimum_delay: u32) -> u32 {\n // The block horizon is the very last block in which the current value is known. Any block past the horizon\n // (i.e. with a block number larger than the block horizon) may have a different current value. Reading the\n // current value in private typically requires constraining the maximum valid block number to be equal to the\n // block horizon.\n\n if historical_block_number >= self.block_of_change {\n // Once the block of change has been mined, the current value (post) will not change unless a new value\n // change is scheduled. This did not happen at the historical block number (or else it would not be\n // greater or equal to the block of change), and therefore could only happen after the historical block\n // number. The earliest would be the immediate next block, and so the smallest possible next block of change\n // equals `historical_block_number + 1 + minimum_delay`. Our block horizon is simply the previous block to\n // that one.\n //\n // block of historical\n // change block block horizon\n // =======|=============N===================H===========>\n // ^ ^\n // ---------------------\n // minimum delay\n\n historical_block_number + minimum_delay\n } else {\n // If the block of change has not yet been mined however, then there are two possible scenarios.\n // a) It could be so far into the future that the block horizon is actually determined by the minimum\n // delay, because a new change could be scheduled and take place _before_ the currently scheduled one.\n // This is similar to the scenario where the block of change is in the past: the time horizon is the\n // block prior to the earliest one in which a new block of change might land.\n //\n // historical\n // block block horizon block of change\n // =====N=================================H=================|=========>\n // ^ ^\n // | |\n // -----------------------------------\n // minimum delay\n //\n // b) It could be fewer than `minimum_delay` blocks away from the historical block number, in which case\n // the block of change would become the limiting factor for the time horizon, which would equal the\n // block right before the block of change (since by definition the value changes at the block of\n // change).\n //\n // historical block horizon\n // block block of change if not scheduled\n // =======N=============|===================H=================>\n // ^ ^ ^\n // | actual horizon |\n // -----------------------------------\n // minimum delay\n //\n // Note that the current implementation does not allow the caller to set the block of change to an arbitrary\n // value, and therefore scenario a) is not currently possible. However implementing #5501 would allow for\n // this to happen.\n\n // Because historical_block_number < self.block_of_change, then block_of_change > 0 and we can safely\n // subtract 1.\n min(\n self.block_of_change - 1,\n historical_block_number + minimum_delay\n )\n }\n }\n\n /// Mutates the value by scheduling a change at the current block number. This function is only meaningful when\n /// called in public with the current block number.\n pub fn schedule_change(\n &mut self,\n new_value: T,\n current_block_number: u32,\n minimum_delay: u32,\n block_of_change: u32\n ) {\n assert(block_of_change >= current_block_number + minimum_delay);\n\n self.pre = self.get_current_at(current_block_number);\n self.post = new_value;\n self.block_of_change = block_of_change;\n }\n}\n\nimpl<T> Serialize<3> for ScheduledValueChange<T> where T: ToField {\n fn serialize(self) -> [Field; 3] {\n [self.pre.to_field(), self.post.to_field(), self.block_of_change.to_field()]\n }\n}\n\nimpl<T> Deserialize<3> for ScheduledValueChange<T> where T: FromField {\n fn deserialize(input: [Field; 3]) -> Self {\n Self {\n pre: FromField::from_field(input[0]),\n post: FromField::from_field(input[1]),\n block_of_change: FromField::from_field(input[2]),\n }\n }\n}\n\nimpl<T> Eq for ScheduledValueChange<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n (self.pre == other.pre) & (self.post == other.post) & (self.block_of_change == other.block_of_change)\n }\n}\n"},"167":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable.nr","source":"use dep::protocol_types::{\n hash::{pedersen_hash, poseidon2_hash}, header::Header, address::AztecAddress,\n traits::{FromField, ToField}\n};\n\nuse crate::context::{PrivateContext, PublicContext, UnconstrainedContext};\nuse crate::state_vars::{\n storage::Storage,\n shared_mutable::{scheduled_value_change::ScheduledValueChange, scheduled_delay_change::ScheduledDelayChange}\n};\nuse crate::oracle::storage::storage_read;\nuse dep::std::unsafe::zeroed;\n\nmod test;\n\nstruct SharedMutable<T, let INITIAL_DELAY: u32, Context> {\n context: Context,\n storage_slot: Field,\n}\n\n// This will make the Aztec macros require that T implements the Serialize<N> trait, and allocate N storage slots to\n// this state variable. This is incorrect, since what we actually store is:\n// - a ScheduledValueChange<T>, which requires 1 + 2 * M storage slots, where M is the serialization length of T\n// - a ScheduledDelayChange, which requires another storage slot\n//\n// TODO https://github.com/AztecProtocol/aztec-packages/issues/5736: change the storage allocation scheme so that we\n// can actually use it here\nimpl<T, let INITIAL_DELAY: u32, Context> Storage<T> for SharedMutable<T, INITIAL_DELAY, Context> {}\n\n// TODO: extract into a utils module once we can do arithmetic on generics, i.e. https://github.com/noir-lang/noir/issues/4784\nfn concat_arrays<let N: u32, let M: u32, let O: u32>(arr_n: [Field; N], arr_m: [Field; M]) -> [Field; O] {\n assert_eq(N + M, O);\n let mut out: [Field; O] = [0; O];\n for i in 0..N {\n out[i] = arr_n[i];\n }\n for i in 0..M {\n out[N+i] = arr_m[i];\n }\n out\n}\n\n// SharedMutable<T> stores a value of type T that is:\n// - publicly known (i.e. unencrypted)\n// - mutable in public\n// - readable in private with no contention (i.e. multiple parties can all read the same value without blocking one\n// another nor needing to coordinate)\n// This is famously a hard problem to solve. SharedMutable makes it work by introducing a delay to public mutation:\n// the value is not changed immediately but rather a value change is scheduled to happen in the future after some delay\n// measured in blocks. Reads in private are only valid as long as they are included in a block not too far into the\n// future, so that they can guarantee the value will not have possibly changed by then (because of the delay).\n// The delay for changing a value is initially equal to INITIAL_DELAY, but can be changed by calling\n// `schedule_delay_change`.\nimpl<T, let INITIAL_DELAY: u32, Context> SharedMutable<T, INITIAL_DELAY, Context> where T: ToField + FromField + Eq {\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n\n fn hash_scheduled_data(\n value_change: ScheduledValueChange<T>,\n delay_change: ScheduledDelayChange<INITIAL_DELAY>\n ) -> Field {\n // TODO(#5491 and https://github.com/noir-lang/noir/issues/4784): update this so that we don't need to rely on\n // ScheduledValueChange serializing to 3 and ScheduledDelayChange serializing to 1\n let concatenated: [Field; 4] = concat_arrays(value_change.serialize(), delay_change.serialize());\n poseidon2_hash(concatenated)\n }\n\n // Since we can't rely on the native storage allocation scheme, we hash the storage slot to get a unique location in\n // which we can safely store as much data as we need.\n // See https://github.com/AztecProtocol/aztec-packages/issues/5492 and\n // https://github.com/AztecProtocol/aztec-packages/issues/5736\n // We store three things in public storage:\n // - a ScheduledValueChange\n // - a ScheduledDelaChange\n // - the hash of both of these (via `hash_scheduled_data`)\n fn get_value_change_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 0], 0)\n }\n\n fn get_delay_change_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 1], 0)\n }\n\n fn get_hash_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 2], 0)\n }\n\n // It may seem odd that we take a header and address instead of reading from e.g. a PrivateContext, but this lets us\n // reuse this function in SharedMutablePrivateGetter.\n fn historical_read_from_public_storage(\n self,\n header: Header,\n address: AztecAddress\n ) -> (ScheduledValueChange<T>, ScheduledDelayChange<INITIAL_DELAY>, u32) {\n let historical_block_number = header.global_variables.block_number as u32;\n\n // We could simply produce historical inclusion proofs for both the ScheduledValueChange and\n // ScheduledDelayChange, but that'd require one full sibling path per storage slot (since due to kernel siloing\n // the storage is not contiguous), and in the best case in which T is a single field that'd be 4 slots.\n // Instead, we get an oracle to provide us the correct values for both the value and delay changes, and instead\n // prove inclusion of their hash, which is both a much smaller proof (a single slot), and also independent of\n // the size of T.\n let (value_change_hint, delay_change_hint) = get_public_storage_hints(address, self.storage_slot, historical_block_number);\n\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let hash = header.public_storage_historical_read(self.get_hash_storage_slot(), address);\n\n // @todo This is written strangely to bypass a formatting issue with the if that is breaking ci.\n let (a, b, c) = if hash != 0 {\n let a = SharedMutable::hash_scheduled_data(value_change_hint, delay_change_hint);\n (a, value_change_hint, delay_change_hint)\n } else {\n // The hash slot can only hold a zero if it is uninitialized, meaning no value or delay change was ever\n // scheduled. Therefore, the hints must then correspond to uninitialized scheduled changes.\n let b = ScheduledValueChange::deserialize(zeroed());\n let c = ScheduledDelayChange::deserialize(zeroed());\n (hash, b, c)\n };\n\n assert_eq(hash, a, \"Hint values do not match hash\");\n assert_eq(value_change_hint, b, \"Non-zero value change for zero hash\");\n assert_eq(delay_change_hint, c, \"Non-zero delay change for zero hash\");\n\n (value_change_hint, delay_change_hint, historical_block_number)\n }\n}\n\nimpl<T, let INITIAL_DELAY: u32> SharedMutable<T, INITIAL_DELAY, &mut PublicContext> where T: ToField + FromField + Eq {\n pub fn schedule_value_change(self, new_value: T) {\n let mut value_change = self.read_value_change();\n let delay_change = self.read_delay_change();\n\n let block_number = self.context.block_number() as u32;\n let current_delay = delay_change.get_current(block_number);\n\n // TODO: make this configurable\n // https://github.com/AztecProtocol/aztec-packages/issues/5501\n let block_of_change = block_number + current_delay;\n value_change.schedule_change(new_value, block_number, current_delay, block_of_change);\n\n self.write(value_change, delay_change);\n }\n\n pub fn schedule_delay_change(self, new_delay: u32) {\n let mut delay_change = self.read_delay_change();\n\n let block_number = self.context.block_number() as u32;\n\n delay_change.schedule_change(new_delay, block_number);\n\n self.write(self.read_value_change(), delay_change);\n }\n\n pub fn get_current_value_in_public(self) -> T {\n let block_number = self.context.block_number() as u32;\n self.read_value_change().get_current_at(block_number)\n }\n\n pub fn get_current_delay_in_public(self) -> u32 {\n let block_number = self.context.block_number() as u32;\n self.read_delay_change().get_current(block_number)\n }\n\n pub fn get_scheduled_value_in_public(self) -> (T, u32) {\n self.read_value_change().get_scheduled()\n }\n\n pub fn get_scheduled_delay_in_public(self) -> (u32, u32) {\n self.read_delay_change().get_scheduled()\n }\n\n fn read_value_change(self) -> ScheduledValueChange<T> {\n self.context.storage_read(self.get_value_change_storage_slot())\n }\n\n fn read_delay_change(self) -> ScheduledDelayChange<INITIAL_DELAY> {\n self.context.storage_read(self.get_delay_change_storage_slot())\n }\n\n fn write(\n self,\n value_change: ScheduledValueChange<T>,\n delay_change: ScheduledDelayChange<INITIAL_DELAY>\n ) {\n // Whenever we write to public storage, we write both the value change and delay change as well as the hash of\n // them both. This guarantees that the hash is always kept up to date.\n // While this makes for more costly writes, it also makes private proofs much simpler because they only need to\n // produce a historical proof for the hash, which results in a single inclusion proof (as opposed to 4 in the\n // best case scenario in which T is a single field). Private shared mutable reads are assumed to be much more\n // frequent than public writes, so this tradeoff makes sense.\n self.context.storage_write(self.get_value_change_storage_slot(), value_change);\n self.context.storage_write(self.get_delay_change_storage_slot(), delay_change);\n self.context.storage_write(\n self.get_hash_storage_slot(),\n SharedMutable::hash_scheduled_data(value_change, delay_change)\n );\n }\n}\n\nimpl<T, let INITIAL_DELAY: u32> SharedMutable<T, INITIAL_DELAY, &mut PrivateContext> where T: ToField + FromField + Eq {\n pub fn get_current_value_in_private(self) -> T {\n // When reading the current value in private we construct a historical state proof for the public value.\n // However, since this value might change, we must constrain the maximum transaction block number as this proof\n // will only be valid for however many blocks we can ensure the value will not change, which will depend on the\n // current delay and any scheduled delay changes.\n\n let (value_change, delay_change, historical_block_number) = self.historical_read_from_public_storage(self.context.get_header(), self.context.this_address());\n\n // We use the effective minimum delay as opposed to the current delay at the historical block as this one also\n // takes into consideration any scheduled delay changes.\n // For example, consider a scenario in which at block 200 the current delay was 50. We may naively think that\n // the earliest we could change the value would be at block 251 by scheduling immediately after the historical\n // block, i.e. at block 201. But if there was a delay change scheduled for block 210 to reduce the delay to 20\n // blocks, then if a value change was scheduled at block 210 it would go into effect at block 230, which is\n // earlier than what we'd expect if we only considered the current delay.\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n let block_horizon = value_change.get_block_horizon(historical_block_number, effective_minimum_delay);\n\n // We prevent this transaction from being included in any block after the block horizon, ensuring that the\n // historical public value matches the current one, since it can only change after the horizon.\n self.context.set_tx_max_block_number(block_horizon);\n value_change.get_current_at(historical_block_number)\n }\n}\n\nimpl<T, let INITIAL_DELAY: u32> SharedMutable<T, INITIAL_DELAY, UnconstrainedContext> where T: ToField + FromField + Eq {\n unconstrained pub fn get_current_value_in_unconstrained(self) -> T {\n let block_number = self.context.block_number() as u32;\n self.read_value_change().get_current_at(block_number)\n }\n\n unconstrained fn read_value_change(self) -> ScheduledValueChange<T> {\n self.context.storage_read(self.get_value_change_storage_slot())\n }\n}\n\nunconstrained fn get_public_storage_hints<T, let INITIAL_DELAY: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> (ScheduledValueChange<T>, ScheduledDelayChange<INITIAL_DELAY>) where T: ToField + FromField + Eq {\n // This function cannot be part of the &mut PrivateContext impl because that'd mean that by passing `self` we'd also\n // be passing a mutable reference to an unconstrained function, which is not allowed. We therefore create a dummy\n // state variable here so that we can access the methods to compute storage slots. This will all be removed in the\n // future once we do proper storage slot allocation (#5492).\n let dummy: SharedMutable<T, INITIAL_DELAY, ()> = SharedMutable::new((), storage_slot);\n\n (\n storage_read(address, dummy.get_value_change_storage_slot(), block_number), storage_read(address, dummy.get_delay_change_storage_slot(), block_number)\n )\n}\n"},"169":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr","source":"use dep::protocol_types::{\n address::AztecAddress, constants::GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::context::{PrivateContext, UnconstrainedContext};\nuse crate::note::{\n lifecycle::create_note, note_getter::{get_note, view_notes}, note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions, note_emission::NoteEmission\n};\nuse crate::oracle::notes::check_nullifier_exists;\nuse crate::state_vars::storage::Storage;\n\n// docs:start:struct\nstruct PrivateImmutable<Note, Context> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:struct\n\nimpl<T, Context> Storage<T> for PrivateImmutable<T, Context> {}\n\nimpl<Note, Context> PrivateImmutable<Note, Context> {\n // docs:start:new\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n // docs:end:new\n\n // The following computation is leaky, in that it doesn't hide the storage slot that has been initialized, nor does it hide the contract address of this contract.\n // When this initialization nullifier is emitted, an observer could do a dictionary or rainbow attack to learn the preimage of this nullifier to deduce the storage slot and contract address.\n // For some applications, leaking the details that a particular state variable of a particular contract has been initialized will be unacceptable.\n // Under such circumstances, such application developers might wish to _not_ use this state variable type.\n // This is especially dangerous for initial assignment to elements of a `Map<AztecAddress, PrivateImmutable>` type (for example), because the storage slot often also identifies an actor. \n // e.g. the initial assignment to `my_map.at(msg.sender)` will leak: `msg.sender`, the fact that an element of `my_map` was assigned-to for the first time, and the contract_address.\n pub fn compute_initialization_nullifier(self) -> Field {\n poseidon2_hash_with_separator(\n [self.storage_slot],\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER\n )\n }\n}\n\nimpl<Note> PrivateImmutable<Note, &mut PrivateContext> {\n // docs:start:initialize\n pub fn initialize<N, M>(\n self,\n note: &mut Note\n ) -> NoteEmission<Note> where Note: NoteInterface<N, M> {\n // Nullify the storage slot.\n let nullifier = self.compute_initialization_nullifier();\n self.context.push_nullifier(nullifier);\n\n create_note(self.context, self.storage_slot, note)\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note<N, M>(self) -> Note where Note: NoteInterface<N, M> {\n let storage_slot = self.storage_slot;\n get_note(self.context, storage_slot)\n }\n // docs:end:get_note\n}\n\nimpl<Note> PrivateImmutable<Note, UnconstrainedContext> {\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self) -> bool {\n let nullifier = self.compute_initialization_nullifier();\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // view_note does not actually use the context, but it calls oracles that are only available in private\n // docs:start:view_note\n unconstrained pub fn view_note<N, M>(self) -> Note where Note: NoteInterface<N, M> {\n let mut options = NoteViewerOptions::new();\n view_notes(self.storage_slot, options.set_limit(1)).get(0)\n }\n // docs:end:view_note\n}\n"},"171":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/utils/point.nr","source":"use dep::protocol_types::point::Point;\n\n// I am storing the modulus divided by 2 plus 1 here because full modulus would throw \"String literal too large\" error\n// Full modulus is 21888242871839275222246405745257275088548364400416034343698204186575808495617\nglobal BN254_FR_MODULUS_DIV_2: Field = 10944121435919637611123202872628637544274182200208017171849102093287904247808;\n\n/// Converts a public key to a byte array.\n///\n/// We don't serialize the point at infinity flag because this function is used in situations where we do not want\n/// to waste the extra byte (encrypted log).\npub fn point_to_bytes(pk: Point) -> [u8; 32] {\n // Note that there is 1 more free bit in the 32 bytes (254 bits currently occupied by the x coordinate, 1 bit for\n // the \"sign\") so it's possible to use that last bit as an \"is_infinite\" flag if desired in the future.\n assert(!pk.is_infinite, \"Cannot serialize point at infinity as bytes.\");\n\n let mut result = pk.x.to_be_bytes(32);\n\n // We store only a \"sign\" of the y coordinate because the rest can be derived from the x coordinate. To get\n // the sign we check if the y coordinate is less or equal than the curve's order minus 1 divided by 2.\n // Ideally we'd do `y <= MOD_DIV_2`, but there's no `lte` function, so instead we do `!(y > MOD_DIV_2)`, which is\n // equivalent, and then rewrite that as `!(MOD_DIV_2 < y)`, since we also have no `gt` function.\n if !BN254_FR_MODULUS_DIV_2.lt(pk.y) {\n // y is <= (modulus - 1) / 2 so we set the sign bit to 1\n // Here we leverage that field fits into 254 bits (log2(Fr.MODULUS) < 254) and given that we serialize Fr to 32\n // bytes and we use big-endian the 2 most significant bits are never populated. Hence we can use one of\n // the bits as a sign bit.\n result[0] += 128;\n }\n\n result.as_array()\n}\n\nmod test {\n use dep::protocol_types::point::Point;\n use crate::utils::point::point_to_bytes;\n\n #[test]\n fn test_point_to_bytes_positive_sign() {\n let p = Point {\n x: 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73,\n y: 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a,\n is_infinite: false\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_positive_sign = [\n 154, 244, 31, 93, 233, 100, 70, 220, 55, 118, 161, 235, 45, 152, 187, 149, 107, 122, 205, 153, 121, 166, 120, 84, 190, 198, 250, 124, 41, 115, 189, 115\n ];\n\n assert_eq(expected_compressed_point_positive_sign.len(), compressed_point.len());\n for i in 0..expected_compressed_point_positive_sign.len() {\n assert_eq(compressed_point[i], expected_compressed_point_positive_sign[i]);\n }\n }\n\n #[test]\n fn test_point_to_bytes_negative_sign() {\n let p = Point {\n x: 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5,\n y: 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0,\n is_infinite: false\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_negative_sign = [\n 36, 115, 113, 101, 46, 85, 221, 116, 201, 175, 141, 190, 159, 180, 73, 49, 186, 41, 169, 34, 153, 148, 56, 75, 215, 7, 119, 150, 193, 78, 226, 181\n ];\n\n assert_eq(expected_compressed_point_negative_sign.len(), compressed_point.len());\n for i in 0..expected_compressed_point_negative_sign.len() {\n assert_eq(compressed_point[i], expected_compressed_point_negative_sign[i]);\n }\n }\n}\n"},"188":{"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"},"22":{"path":"std/embedded_curve_ops.nr","source":"use crate::ops::arith::{Add, Sub, Neg};\nuse crate::cmp::Eq;\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\nstruct EmbeddedCurvePoint {\n x: Field,\n y: Field,\n is_infinite: bool\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint { \n EmbeddedCurvePoint {\n x: self.x,\n y: -self.y,\n is_infinite: self.is_infinite\n }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite) | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\nstruct EmbeddedCurveScalar {\n lo: Field,\n hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a,b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the \n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N]\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n let point_array = multi_scalar_mul_array_return(points, scalars);\n EmbeddedCurvePoint { x: point_array[0], y: point_array[1], is_infinite: point_array[2] as bool }\n}\n\n#[foreign(multi_scalar_mul)]\nfn multi_scalar_mul_array_return<let N: u32>(points: [EmbeddedCurvePoint; N], scalars: [EmbeddedCurveScalar; N]) -> [Field; 3] {}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_slice(points: [EmbeddedCurvePoint], scalars: [EmbeddedCurveScalar]) -> [Field; 3] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n let g1 = EmbeddedCurvePoint { x: 1, y: 17631683881184975370165255887551781615748388533673675138860, is_infinite: false };\n multi_scalar_mul([g1], [scalar])\n}\n\n// This is a hack as returning an `EmbeddedCurvePoint` from a foreign function in brillig returns a [BrilligVariable::SingleAddr; 2] rather than BrilligVariable::BrilligArray\n// as is defined in the brillig bytecode format. This is a workaround which allows us to fix this without modifying the serialization format.\n// docs:start:embedded_curve_add\nfn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint\n) -> EmbeddedCurvePoint\n// docs:end:embedded_curve_add\n{\n let point_array = embedded_curve_add_array_return(point1, point2);\n let x = point_array[0];\n let y = point_array[1];\n EmbeddedCurvePoint { x, y, is_infinite: point_array[2] == 1 }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(_point1: EmbeddedCurvePoint, _point2: EmbeddedCurvePoint) -> [Field; 3] {}\n"},"226":{"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"},"23":{"path":"std/field/bn254.nr","source":"use crate::runtime::is_unconstrained;\n\n// The low and high decomposition of the field modulus\nglobal PLO: Field = 53438638232309528389504892708671455233;\nglobal PHI: Field = 64323764613183177041862057485226039389;\n\nglobal TWO_POW_128: Field = 0x100000000000000000000000000000000;\n\n// Decomposes a single field into two 16 byte fields.\nfn compute_decomposition(x: Field) -> (Field, Field) {\n let x_bytes = x.to_le_bytes(32);\n\n let mut low: Field = 0;\n let mut high: Field = 0;\n\n let mut offset = 1;\n for i in 0..16 {\n low += (x_bytes[i] as Field) * offset;\n high += (x_bytes[i + 16] as Field) * offset;\n offset *= 256;\n }\n\n (low, high)\n}\n\nunconstrained pub(crate) fn decompose_hint(x: Field) -> (Field, Field) {\n compute_decomposition(x)\n}\n\nfn compute_lt(x: Field, y: Field, num_bytes: u32) -> bool {\n let x_bytes = x.to_le_radix(256, num_bytes);\n let y_bytes = y.to_le_radix(256, 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];\n let y_byte = y_bytes[num_bytes - 1 - i];\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\nfn compute_lte(x: Field, y: Field, num_bytes: u32) -> bool {\n if x == y {\n true\n } else {\n compute_lt(x, y, num_bytes)\n }\n}\n\nunconstrained fn lt_32_hint(x: Field, y: Field) -> bool {\n compute_lt(x, y, 32)\n}\n\nunconstrained fn lte_16_hint(x: Field, y: Field) -> bool {\n compute_lte(x, y, 16)\n}\n\n// Assert that (alo > blo && ahi >= bhi) || (alo <= blo && ahi > bhi)\nfn assert_gt_limbs(a: (Field, Field), b: (Field, Field)) {\n let (alo, ahi) = a;\n let (blo, bhi) = b;\n let borrow = lte_16_hint(alo, blo);\n\n let rlo = alo - blo - 1 + (borrow as Field) * TWO_POW_128;\n let rhi = ahi - bhi - (borrow as Field);\n\n rlo.assert_max_bit_size(128);\n rhi.assert_max_bit_size(128);\n}\n\n/// Decompose a single field into two 16 byte fields.\npub fn decompose(x: Field) -> (Field, Field) {\n if is_unconstrained() {\n compute_decomposition(x)\n } else {\n // Take hints of the decomposition\n let (xlo, xhi) = decompose_hint(x);\n\n // Range check the limbs\n xlo.assert_max_bit_size(128);\n xhi.assert_max_bit_size(128);\n\n // Check that the decomposition is correct\n assert_eq(x, xlo + TWO_POW_128 * xhi);\n\n // Assert that the decomposition of P is greater than the decomposition of x\n assert_gt_limbs((PLO, PHI), (xlo, xhi));\n (xlo, xhi)\n }\n}\n\npub fn assert_gt(a: Field, b: Field) {\n if is_unconstrained() {\n assert(compute_lt(b, a, 32));\n } else {\n // Decompose a and b\n let a_limbs = decompose(a);\n let b_limbs = decompose(b);\n\n // Assert that a_limbs is greater than b_limbs\n assert_gt_limbs(a_limbs, b_limbs)\n }\n}\n\npub fn assert_lt(a: Field, b: Field) {\n assert_gt(b, a);\n}\n\npub fn gt(a: Field, b: Field) -> bool {\n if is_unconstrained() {\n compute_lt(b, a, 32)\n } else if a == b {\n false\n } else {\n // Take a hint of the comparison and verify it\n if lt_32_hint(a, b) {\n assert_gt(b, a);\n false\n } else {\n assert_gt(a, b);\n true\n }\n }\n}\n\npub fn lt(a: Field, b: Field) -> bool {\n gt(b, a)\n}\n\nmod tests {\n // TODO: Allow imports from \"super\"\n use crate::field::bn254::{decompose_hint, decompose, compute_lt, assert_gt, gt, lt, TWO_POW_128, compute_lte, PLO, PHI};\n\n #[test]\n fn check_decompose() {\n assert_eq(decompose(TWO_POW_128), (0, 1));\n assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n }\n\n #[test]\n unconstrained fn check_decompose_unconstrained() {\n assert_eq(decompose(TWO_POW_128), (0, 1));\n assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n }\n\n #[test]\n fn check_compute_lt() {\n assert(compute_lt(0, 1, 16));\n assert(compute_lt(0, 0x100, 16));\n assert(compute_lt(0x100, TWO_POW_128 - 1, 16));\n assert(!compute_lt(0, TWO_POW_128, 16));\n }\n\n #[test]\n fn check_compute_lte() {\n assert(compute_lte(0, 1, 16));\n assert(compute_lte(0, 0x100, 16));\n assert(compute_lte(0x100, TWO_POW_128 - 1, 16));\n assert(!compute_lte(0, TWO_POW_128, 16));\n\n assert(compute_lte(0, 0, 16));\n assert(compute_lte(0x100, 0x100, 16));\n assert(compute_lte(TWO_POW_128 - 1, TWO_POW_128 - 1, 16));\n assert(compute_lte(TWO_POW_128, TWO_POW_128, 16));\n }\n\n #[test]\n fn check_assert_gt() {\n assert_gt(1, 0);\n assert_gt(0x100, 0);\n assert_gt((0 - 1), (0 - 2));\n assert_gt(TWO_POW_128, 0);\n assert_gt(0 - 1, 0);\n }\n\n #[test]\n unconstrained fn check_assert_gt_unconstrained() {\n assert_gt(1, 0);\n assert_gt(0x100, 0);\n assert_gt((0 - 1), (0 - 2));\n assert_gt(TWO_POW_128, 0);\n assert_gt(0 - 1, 0);\n }\n\n #[test]\n fn check_gt() {\n assert(gt(1, 0));\n assert(gt(0x100, 0));\n assert(gt((0 - 1), (0 - 2)));\n assert(gt(TWO_POW_128, 0));\n assert(!gt(0, 0));\n assert(!gt(0, 0x100));\n assert(gt(0 - 1, 0 - 2));\n assert(!gt(0 - 2, 0 - 1));\n }\n\n #[test]\n unconstrained fn check_gt_unconstrained() {\n assert(gt(1, 0));\n assert(gt(0x100, 0));\n assert(gt((0 - 1), (0 - 2)));\n assert(gt(TWO_POW_128, 0));\n assert(!gt(0, 0));\n assert(!gt(0, 0x100));\n assert(gt(0 - 1, 0 - 2));\n assert(!gt(0 - 2, 0 - 1));\n }\n\n #[test]\n fn check_plo_phi() {\n assert_eq(PLO + PHI * TWO_POW_128, 0);\n let p_bytes = crate::field::modulus_le_bytes();\n let mut p_low: Field = 0;\n let mut p_high: Field = 0;\n\n let mut offset = 1;\n for i in 0..16 {\n p_low += (p_bytes[i] as Field) * offset;\n p_high += (p_bytes[i + 16] as Field) * offset;\n offset *= 256;\n }\n assert_eq(p_low, PLO);\n assert_eq(p_high, PHI);\n }\n}\n"},"238":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/storage/map.nr","source":"use crate::{hash::pedersen_hash, traits::ToField};\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n\nmod test {\n use crate::{address::AztecAddress, storage::map::derive_storage_slot_in_map};\n\n #[test]\n fn test_derive_storage_slot_in_map_matches_typescript() {\n let map_slot = 0x132258fb6962c4387ba659d9556521102d227549a386d39f0b22d1890d59c2b5;\n let key = AztecAddress::from_field(0x302dbc2f9b50a73283d5fb2f35bc01eae8935615817a0b4219a057b2ba8a5a3f);\n\n let slot = derive_storage_slot_in_map(map_slot, key);\n\n // The following value was generated by `map_slot.test.ts`\n let slot_from_typescript = 0x2499880e2b1b831785c17286f99a0d5122fee784ce7b1c04e380c4a991da819a;\n\n assert_eq(slot, slot_from_typescript);\n }\n}\n"},"24":{"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 comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\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"},"244":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<let N: u32> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<let N: u32> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let N: u32> Serialize<N> for [Field; N] {\n fn serialize(self) -> [Field; N] {\n self\n }\n}\nimpl<let N: u32> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<let N: u32> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let N: u32> Deserialize<N> for [Field; N] {\n fn deserialize(fields: [Field; N]) -> Self {\n fields\n }\n}\n"},"245":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"248":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/public_data_tree_leaf_preimage.nr","source":"use crate::{merkle_tree::leaf_preimage::IndexedTreeLeafPreimage, traits::{Empty, Hash}};\n\nstruct PublicDataTreeLeafPreimage {\n slot : Field,\n value: Field,\n next_slot :Field,\n next_index : u32,\n}\n\nimpl Empty for PublicDataTreeLeafPreimage {\n fn empty() -> Self {\n Self {\n slot: 0,\n value: 0,\n next_slot: 0,\n next_index: 0,\n }\n }\n}\n\nimpl Hash for PublicDataTreeLeafPreimage {\n fn hash(self) -> Field {\n if self.is_empty() {\n 0\n } else {\n crate::hash::poseidon2_hash([self.slot, self.value, (self.next_index as Field), self.next_slot])\n }\n }\n}\n\nimpl IndexedTreeLeafPreimage for PublicDataTreeLeafPreimage {\n fn get_key(self) -> Field {\n self.slot\n }\n\n fn get_next_key(self) -> Field {\n self.next_slot\n }\n\n fn as_leaf(self) -> Field {\n self.hash()\n }\n}\n\nimpl PublicDataTreeLeafPreimage {\n pub fn is_empty(self) -> bool {\n (self.slot == 0) & (self.value == 0) & (self.next_slot == 0) & (self.next_index == 0)\n }\n}\n"},"250":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc, point::Point\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"256":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/point.nr","source":"use dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse crate::{traits::{Empty, Hash, Serialize}, hash::poseidon2_hash};\n\nglobal POINT_LENGTH: Field = 3;\n\nimpl Serialize<POINT_LENGTH> for Point {\n fn serialize(self: Self) -> [Field; POINT_LENGTH] {\n [self.x, self.y, self.is_infinite as Field]\n }\n}\n\nimpl Hash for Point {\n fn hash(self) -> Field {\n poseidon2_hash(self.serialize())\n }\n}\n\nimpl Empty for Point {\n /// Note: Does not return a valid point on curve - instead represents an empty/\"unpopulated\" point struct (e.g.\n /// empty/unpopulated value in an array of points).\n fn empty() -> Self {\n Point {\n x: 0,\n y: 0,\n is_infinite: false\n }\n }\n}\n"},"257":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr","source":"use crate::{\n address::{\n aztec_address::AztecAddress, eth_address::EthAddress, partial_address::PartialAddress,\n public_keys_hash::PublicKeysHash\n},\n contract_class_id::ContractClassId,\n constants::{GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA, CONTRACT_INSTANCE_LENGTH},\n traits::{Deserialize, Hash, Serialize}\n};\n\nstruct ContractInstance {\n salt : Field,\n deployer: AztecAddress,\n contract_class_id : ContractClassId,\n initialization_hash : Field,\n public_keys_hash : PublicKeysHash,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys_hash.eq(other.public_keys_hash) &\n self.initialization_hash.eq(other.initialization_hash) &\n self.contract_class_id.eq(other.contract_class_id) &\n self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n self.public_keys_hash.to_field()\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys_hash: PublicKeysHash::from_field(serialized[4]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys_hash,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer\n )\n )\n }\n}\n"},"269":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/root.nr","source":"use crate::{hash::merkle_hash, merkle_tree::merkle_tree::MerkleTree};\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<let N: u32>(\n leaf: Field,\n leaf_index: Field,\n sibling_path: [Field; N]\n) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\npub fn calculate_subtree_root<let N: u32>(leaves: [Field; N]) -> Field {\n MerkleTree::new(leaves).get_root()\n}\n\n// These values are precomputed and we run tests to ensure that they\n// are correct. The values themselves were computed from the cpp code.\n//\n// Would be good if we could use width since the compute_subtree\n// algorithm uses depth.\npub fn calculate_empty_tree_root(depth: u32) -> Field {\n if depth == 0 {\n 0\n } else if depth == 1 {\n 0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1\n } else if depth == 2 {\n 0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290\n } else if depth == 3 {\n 0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20\n } else if depth == 4 {\n 0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e\n } else if depth == 5 {\n 0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf\n } else if depth == 6 {\n 0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76\n } else if depth == 7 {\n 0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b\n } else if depth == 8 {\n 0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1\n } else if depth == 9 {\n 0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972\n } else if depth == 10 {\n 0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686\n } else {\n assert(false, \"depth should be between 0 and 10\");\n 0\n }\n}\n\n#[test]\nfn test_merkle_root_interop_test() {\n // This is a test to ensure that we match the cpp implementation.\n // You can grep for `TEST_F(root_rollup_tests, noir_interop_test)`\n // to find the test that matches this.\n let root = calculate_subtree_root([1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]);\n assert(0x1a09d935ae110b4c861fcec8f9099ec30b4485022aeb3d3cf9d7168e38fdc231 == root);\n\n let empty_root = calculate_subtree_root([0; 16]);\n assert(0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e == empty_root);\n}\n\n#[test]\nfn test_empty_subroot() {\n assert(calculate_empty_tree_root(0) == 0);\n\n let expected_empty_root_2 = calculate_subtree_root([0; 2]);\n assert(calculate_empty_tree_root(1) == expected_empty_root_2);\n\n let expected_empty_root_4 = calculate_subtree_root([0; 4]);\n assert(calculate_empty_tree_root(2) == expected_empty_root_4);\n\n let expected_empty_root_8 = calculate_subtree_root([0; 8]);\n assert(calculate_empty_tree_root(3) == expected_empty_root_8);\n\n let expected_empty_root_16 = calculate_subtree_root([0; 16]);\n assert(calculate_empty_tree_root(4) == expected_empty_root_16);\n\n let expected_empty_root_32 = calculate_subtree_root([0; 32]);\n assert(calculate_empty_tree_root(5) == expected_empty_root_32);\n\n let expected_empty_root_64 = calculate_subtree_root([0; 64]);\n assert(calculate_empty_tree_root(6) == expected_empty_root_64);\n\n let expected_empty_root_128 = calculate_subtree_root([0; 128]);\n assert(calculate_empty_tree_root(7) == expected_empty_root_128);\n\n let expected_empty_root_256 = calculate_subtree_root([0; 256]);\n assert(calculate_empty_tree_root(8) == expected_empty_root_256);\n\n let expected_empty_root_512 = calculate_subtree_root([0; 512]);\n assert(calculate_empty_tree_root(9) == expected_empty_root_512);\n\n let expected_empty_root_1024 = calculate_subtree_root([0; 1024]);\n assert(calculate_empty_tree_root(10) == expected_empty_root_1024);\n}\n"},"27":{"path":"std/hash/mod.nr","source":"mod poseidon;\nmod mimc;\nmod poseidon2;\nmod keccak;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\nuse crate::collections::vec::Vec;\nuse crate::embedded_curve_ops::{EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_slice};\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n __pedersen_hash_with_separator(input, separator)\n}\n\nfn pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let value = __pedersen_commitment_with_separator(input, separator);\n if (value[0] == 0) & (value[1] == 0) {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n } else {\n EmbeddedCurvePoint { x: value[0], y: value[1], is_infinite: false }\n }\n}\n\nfn pedersen_commitment_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n for i in 0..N {\n // we use the unsafe version because the multi_scalar_mul will constrain the scalars.\n points[i] = from_field_unsafe(input[i]);\n }\n let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n multi_scalar_mul(generators, points)\n}\n\nfn pedersen_hash_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: Vec<EmbeddedCurveScalar> = Vec::from_slice([EmbeddedCurveScalar { lo: 0, hi: 0 }; N].as_slice()); //Vec::new();\n\n for i in 0..N {\n scalars.set(i, from_field_unsafe(input[i]));\n }\n scalars.push(EmbeddedCurveScalar { lo: N as Field, hi: 0 });\n let domain_generators :[EmbeddedCurvePoint; N]= derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n let mut vec_generators = Vec::from_slice(domain_generators.as_slice());\n let length_generator : [EmbeddedCurvePoint; 1] = derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n vec_generators.push(length_generator[0]);\n multi_scalar_mul_slice(vec_generators.slice, scalars.slice)[0]\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n __pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\nfn __pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {}\n\n#[foreign(pedersen_commitment)]\nfn __pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\n#[field(bn254)]\nfn derive_generators<let N: u32, let M: u32>(domain_separator_bytes: [u8; M], starting_index: u32) -> [EmbeddedCurvePoint; N] {\n crate::assert_constant(domain_separator_bytes);\n crate::assert_constant(starting_index);\n __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n // Same as from_field but:\n // does not assert the limbs are 128 bits\n // does not assert the decomposition does not overflow the EmbeddedCurveScalar\n fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n let (xlo, xhi) = crate::field::bn254::decompose_hint(scalar);\n // Check that the decomposition is correct\n assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n// docs:start:keccak256\npub fn keccak256<let N: u32>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{\n crate::hash::keccak::keccak256(input, message_size)\n}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<let N: u32>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, let N: u32> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n assert_eq(\n pedersen_hash_with_separator([1], 1), 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1), EmbeddedCurvePoint {\n x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n is_infinite: false\n }\n );\n\n assert_eq(\n pedersen_hash_with_separator([1, 2], 2), 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2), EmbeddedCurvePoint {\n x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3], 3), 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3), EmbeddedCurvePoint {\n x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4], 4), 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4), EmbeddedCurvePoint {\n x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5], 5), 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5), EmbeddedCurvePoint {\n x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6), 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6), EmbeddedCurvePoint {\n x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7), 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7), EmbeddedCurvePoint {\n x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), EmbeddedCurvePoint {\n x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), EmbeddedCurvePoint {\n x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false\n }\n );\n}\n\n"},"273":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> 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<let K: u32>(&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, let K: u32>(&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, let K: u32, let C: u32>(&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"},"283":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr","source":"pub fn field_from_bytes<let N: u32>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(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..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\n assert_eq(field2, field);\n}\n\n#[test]\nunconstrained fn max_field_test() {\n // Tests the hardcoded value in constants.nr vs underlying modulus\n // NB: We can't use 0-1 in constants.nr as it will be transpiled incorrectly to ts and sol constants files\n let max_value = crate::constants::MAX_FIELD_VALUE;\n assert_eq(max_value, 0 - 1);\n // modulus == 0 is tested elsewhere, so below is more of a sanity check\n let max_bytes = max_value.to_be_bytes(32);\n let mod_bytes = std::field::modulus_be_bytes();\n for i in 0..31 {\n assert_eq(max_bytes[i], mod_bytes[i]);\n }\n assert_eq(max_bytes[31], mod_bytes[31] - 1);\n}\n"},"285":{"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, let N: u32, let M: u32>(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"},"300":{"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_with_separator,\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_with_separator(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_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 = 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\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"},"302":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr","source":"use crate::{\n address::{\n eth_address::EthAddress, salted_initialization_hash::SaltedInitializationHash,\n aztec_address::AztecAddress\n},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, contract_class_id::ContractClassId,\n hash::poseidon2_hash_with_separator, traits::{ToField, FromField, Serialize, Deserialize}\n};\n\nglobal PARTIAL_ADDRESS_LENGTH = 1;\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[0] }\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n deployer: AztecAddress\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, deployer)\n )\n }\n\n pub fn compute_from_salted_initialization_hash(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash\n ) -> Self {\n PartialAddress::from_field(\n poseidon2_hash_with_separator(\n [\n contract_class_id.to_field(),\n salted_initialization_hash.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.to_field() == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"303":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr","source":"use crate::{\n address::{eth_address::EthAddress, aztec_address::AztecAddress},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, hash::poseidon2_hash_with_separator, traits::ToField\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\nstruct SaltedInitializationHash {\n inner: Field\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n SaltedInitializationHash::from_field(\n poseidon2_hash_with_separator(\n [\n salt,\n initialization_hash,\n deployer.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\nglobal RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"361":{"path":"/usr/src/noir-projects/noir-contracts/contracts/ecdsa_public_key_note/src/lib.nr","source":"use dep::aztec::prelude::{AztecAddress, FunctionSelector, NoteHeader, NoteInterface, NoteGetterOptions, PrivateContext};\n\nuse dep::aztec::{\n note::utils::compute_note_hash_for_consumption, keys::getters::get_nsk_app,\n protocol_types::{constants::GENERATOR_INDEX__NOTE_NULLIFIER, hash::poseidon2_hash_with_separator}\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n// ECDSA_PUBLIC_KEY_NOTE_LEN * 32 + 32(storage_slot as bytes) + 32(note_type_id as bytes)\nglobal ECDSA_PUBLIC_KEY_NOTE_BYTES_LEN: Field = 5 * 32 + 64;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\n#[aztec(note)]\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n // We store the npk_m_hash only to get the secret key to compute the nullifier\n npk_m_hash: Field,\n}\n\nimpl NoteInterface<ECDSA_PUBLIC_KEY_NOTE_LEN, ECDSA_PUBLIC_KEY_NOTE_BYTES_LEN> for EcdsaPublicKeyNote {\n // Cannot use the automatic serialization since x and y don't fit. Serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = npk_m_hash\n fn serialize_content(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.npk_m_hash]\n }\n\n // Cannot use the automatic deserialization for the aforementioned reasons\n fn deserialize_content(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, npk_m_hash: serialized_note[4], header: NoteHeader::empty() }\n }\n\n fn compute_note_hash_and_nullifier(self, context: &mut PrivateContext) -> (Field, Field) {\n let note_hash_for_nullify = compute_note_hash_for_consumption(self);\n let secret = context.request_nsk_app(self.npk_m_hash);\n let nullifier = poseidon2_hash_with_separator([\n note_hash_for_nullify,\n secret,\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field,\n );\n (note_hash_for_nullify, nullifier)\n }\n\n fn compute_note_hash_and_nullifier_without_context(self) -> (Field, Field) {\n let note_hash_for_nullify = compute_note_hash_for_consumption(self);\n let secret = get_nsk_app(self.npk_m_hash);\n let nullifier = poseidon2_hash_with_separator([\n note_hash_for_nullify,\n secret,\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field,\n );\n (note_hash_for_nullify, nullifier)\n }\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], npk_m_hash: Field) -> Self {\n EcdsaPublicKeyNote { x, y, npk_m_hash, header: NoteHeader::empty() }\n }\n}\n"},"362":{"path":"/usr/src/noir-projects/noir-contracts/contracts/ecdsa_r_account_contract/src/main.nr","source":"// Account contract that uses ECDSA signatures for authentication on random version of the p256 curve (to use with touchID).\ncontract EcdsaRAccount {\n use dep::aztec::prelude::{AztecAddress, FunctionSelector, NoteHeader, NoteGetterOptions, PrivateContext, PrivateImmutable};\n use dep::aztec::encrypted_logs::encrypted_note_emission::encode_and_encrypt_note;\n\n use dep::aztec::protocol_types::abis::call_context::CallContext;\n use dep::std;\n\n use dep::authwit::{\n entrypoint::{app::AppPayload, fee::FeePayload}, account::AccountActions,\n auth_witness::get_auth_witness\n };\n\n use dep::ecdsa_public_key_note::EcdsaPublicKeyNote;\n\n #[aztec(storage)]\n struct Storage {\n public_key: PrivateImmutable<EcdsaPublicKeyNote>,\n }\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n #[aztec(initializer)]\n fn constructor(signing_pub_key_x: [u8; 32], signing_pub_key_y: [u8; 32]) {\n let this = context.this_address();\n let header = context.get_header();\n let this_npk_m_hash = header.get_npk_m_hash(&mut context, this);\n // Not emitting outgoing for msg_sender here to not have to register keys for the contract through which we\n // deploy this (typically MultiCallEntrypoint). I think it's ok here as I feel the outgoing here is not that\n // important.\n\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this_npk_m_hash);\n storage.public_key.initialize(&mut pub_key_note).emit(encode_and_encrypt_note(&mut context, this, this));\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload);\n }\n\n #[aztec(private)]\n #[aztec(noinitcheck)]\n #[aztec(view)]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n // Load public key from storage\n let storage = Storage::init(context);\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(outer_hash);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let outer_hash_bytes: [u8; 32] = outer_hash.to_be_bytes(32).as_array();\n let hashed_message: [u8; 32] = std::hash::sha256(outer_hash_bytes);\n let verification = std::ecdsa_secp256r1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n}\n"},"4":{"path":"std/cmp.nr","source":"// docs:start:eq-trait\ntrait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\nimpl Eq for Field { fn eq(self, other: Field) -> bool { self == other } }\n\nimpl Eq for u64 { fn eq(self, other: u64) -> bool { self == other } }\nimpl Eq for u32 { fn eq(self, other: u32) -> bool { self == other } }\nimpl Eq for u8 { fn eq(self, other: u8) -> bool { self == other } }\nimpl Eq for u1 { fn eq(self, other: u1) -> bool { self == other } }\n\nimpl Eq for i8 { fn eq(self, other: i8) -> bool { self == other } }\nimpl Eq for i32 { fn eq(self, other: i32) -> bool { self == other } }\nimpl Eq for i64 { fn eq(self, other: i64) -> bool { self == other } }\n\nimpl Eq for () { fn eq(_self: Self, _other: ()) -> bool { true } }\nimpl Eq for bool { fn eq(self, other: bool) -> bool { self == other } }\n\nimpl<T, let N: u32> Eq for [T; N] where T: Eq {\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<T> Eq for [T] where T: Eq {\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<let N: u32> Eq for str<N> {\n fn eq(self, other: str<N>) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl<A, B> Eq for (A, B) where A: Eq, B: Eq {\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl<A, B, C> Eq for (A, B, C) where A: Eq, B: Eq, C: Eq {\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl<A, B, C, D> Eq for (A, B, C, D) where A: Eq, B: Eq, C: Eq, D: Eq {\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl<A, B, C, D, E> Eq for (A, B, C, D, E) where A: Eq, B: Eq, C: Eq, D: Eq, E: Eq {\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3) & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\nstruct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n// docs:start:ord-trait\ntrait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else {\n if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n\nimpl<T, let N: u32> Ord for [T; N] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<T> Ord for [T] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<A, B> Ord for (A, B) where A: Ord, B: Ord {\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl<A, B, C> Ord for (A, B, C) where A: Ord, B: Ord, C: Ord {\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D> Ord for (A, B, C, D) where A: Ord, B: Ord, C: Ord, D: Ord {\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D, E> Ord for (A, B, C, D, E) where A: Ord, B: Ord, C: Ord, D: Ord, E: Ord {\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max<T>(v1: T, v2: T) -> T where T: Ord {\n if v1 > v2 { v1 } else { v2 }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min<T>(v1: T, v2: T) -> T where T: Ord {\n if v1 > v2 { v2 } else { v1 }\n}\n\nmod cmp_tests {\n use crate::cmp::{min, max};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0 as u64, 1 as u64), 0);\n assert_eq(min(0 as u64, 0 as u64), 0);\n assert_eq(min(1 as u64, 1 as u64), 1);\n assert_eq(min(255 as u8, 0 as u8), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0 as u64, 1 as u64), 1);\n assert_eq(max(0 as u64, 0 as u64), 0);\n assert_eq(max(1 as u64, 1 as u64), 1);\n assert_eq(max(255 as u8, 0 as u8), 255);\n }\n}\n"},"44":{"path":"std/option.nr","source":"use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<let N: u32, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\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"},"53":{"path":"std/uint128.nr","source":"use crate::ops::{Add, Sub, Mul, Div, Rem, Not, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\nuse crate::println;\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\nglobal pow63 : Field = 9223372036854775808; // 2^63;\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo, hi)\n }\n\n pub fn zero() -> U128 {\n U128 { lo: 0, hi: 0 }\n }\n\n pub fn one() -> U128 {\n U128 { lo: 1, hi: 0 }\n }\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 { lo, hi }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<let N: u32>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1;\n if N <= 18 {\n for i in 0..N - 2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N - 1 {\n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n unconstrained fn uconstrained_check_is_upper_ascii(ascii: u8) -> bool {\n ((ascii >= 65) & (ascii <= 90)) // Between 'A' and 'Z'\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n (if ascii < 58 {\n ascii - 48\n } else {\n let ascii = ascii + 32 * (U128::uconstrained_check_is_upper_ascii(ascii) as u8);\n assert(ascii >= 97); // enforce >= 'a'\n assert(ascii <= 102); // enforce <= 'f'\n ascii - 87\n }) as Field\n }\n\n // TODO: Replace with a faster version. \n // A circuit that uses this function can be slow to compute\n // (we're doing up to 127 calls to compute the quotient)\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if b == U128::zero() {\n // Return 0,0 to avoid eternal loop\n (U128::zero(), U128::zero())\n } else if self < b {\n (U128::zero(), self)\n } else if self == b {\n (U128::one(), U128::zero())\n } else {\n let (q,r) = if b.hi as u64 >= pow63 as u64 {\n // The result of multiplication by 2 would overflow\n (U128::zero(), self)\n } else {\n self.unconstrained_div(b * U128::from_u64s_le(2, 0))\n };\n let q_mul_2 = q * U128::from_u64s_le(2, 0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::one(), r - b)\n }\n }\n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f - lo) / pow64;\n U128 { lo, hi }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo + self.hi * pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo * b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = self.lo * b.hi + self.hi * b.lo + carry;\n let hi = high as u64 as Field;\n U128 { lo, hi }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with underflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl Not for U128 { \n fn not(self) -> U128 {\n U128 {\n lo: (!(self.lo as u64)) as Field,\n hi: (!(self.hi as u64)) as Field\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift left with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift right with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\n } \n}\n\nmod tests {\n use crate::uint128::{U128, pow64, pow63};\n\n #[test]\n fn test_not(lo: u64, hi: u64) {\n let num = U128::from_u64s_le(lo, hi);\n let not_num = num.not();\n\n assert_eq(not_num.hi, (hi.not() as Field));\n assert_eq(not_num.lo, (lo.not() as Field));\n\n let not_not_num = not_num.not();\n assert_eq(num, not_not_num);\n }\n #[test]\n fn test_construction() {\n // Check little-endian u64 is inversed with big-endian u64 construction\n let a = U128::from_u64s_le(2, 1);\n let b = U128::from_u64s_be(1, 2);\n assert_eq(a, b);\n // Check byte construction is equivalent\n let c = U128::from_le_bytes([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);\n let d = U128::from_u64s_le(0x0706050403020100, 0x0f0e0d0c0b0a0908);\n assert_eq(c, d);\n }\n #[test]\n fn test_byte_decomposition() {\n let a = U128::from_u64s_le(0x0706050403020100, 0x0f0e0d0c0b0a0908);\n // Get big-endian and little-endian byte decompostions\n let le_bytes_a= a.to_le_bytes();\n let be_bytes_a= a.to_be_bytes();\n\n // Check equivalence\n for i in 0..16 {\n assert_eq(le_bytes_a[i], be_bytes_a[15 - i]);\n }\n // Reconstruct U128 from byte decomposition\n let b= U128::from_le_bytes(le_bytes_a);\n // Check that it's the same element\n assert_eq(a, b);\n }\n #[test]\n fn test_hex_constuction() {\n let a = U128::from_u64s_le(0x1, 0x2);\n let b = U128::from_hex(\"0x20000000000000001\");\n assert_eq(a, b);\n\n let c= U128::from_hex(\"0xffffffffffffffffffffffffffffffff\");\n let d= U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff);\n assert_eq(c, d);\n\n let e= U128::from_hex(\"0x00000000000000000000000000000000\");\n let f= U128::from_u64s_le(0, 0);\n assert_eq(e, f);\n }\n\n // Ascii decode tests\n\n #[test]\n fn test_ascii_decode_correct_range() {\n // '0'..'9' range\n for i in 0..10 {\n let decoded= U128::decode_ascii(48 + i);\n assert_eq(decoded, i as Field);\n }\n // 'A'..'F' range\n for i in 0..6 {\n let decoded = U128::decode_ascii(65 + i);\n assert_eq(decoded, (i + 10) as Field);\n }\n // 'a'..'f' range\n for i in 0..6 {\n let decoded = U128::decode_ascii(97 + i);\n assert_eq(decoded, (i + 10) as Field);\n }\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_less_than_48_fails_0() {\n crate::println(U128::decode_ascii(0));\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_less_than_48_fails_1() {\n crate::println(U128::decode_ascii(47));\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_58_64_fails_0() {\n let _ = U128::decode_ascii(58);\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_58_64_fails_1() {\n let _ = U128::decode_ascii(64);\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_71_96_fails_0() {\n let _ = U128::decode_ascii(71);\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_71_96_fails_1() {\n let _ = U128::decode_ascii(96);\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_greater_than_102_fails() {\n let _ = U128::decode_ascii(103);\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_regression() {\n // This code will actually fail because of ascii_decode,\n // but in the past it was possible to create a value > (1<<128)\n let a = U128::from_hex(\"0x~fffffffffffffffffffffffffffffff\");\n let b:Field= a.to_integer();\n let c= b.to_le_bytes(17);\n assert(c[16] != 0);\n }\n\n #[test]\n fn test_unconstrained_div() {\n // Test the potential overflow case\n let a= U128::from_u64s_le(0x0, 0xffffffffffffffff);\n let b= U128::from_u64s_le(0x0, 0xfffffffffffffffe);\n let c= U128::one();\n let d= U128::from_u64s_le(0x0, 0x1);\n let (q,r) = a.unconstrained_div(b);\n assert_eq(q, c);\n assert_eq(r, d);\n\n let a = U128::from_u64s_le(2, 0);\n let b = U128::one();\n // Check the case where a is a multiple of b\n let (c,d ) = a.unconstrained_div(b);\n assert_eq((c, d), (a, U128::zero()));\n\n // Check where b is a multiple of a\n let (c,d) = b.unconstrained_div(a);\n assert_eq((c, d), (U128::zero(), b));\n\n // Dividing by zero returns 0,0\n let a = U128::from_u64s_le(0x1, 0x0);\n let b = U128::zero();\n let (c,d)= a.unconstrained_div(b);\n assert_eq((c, d), (U128::zero(), U128::zero()));\n\n // Dividing 1<<127 by 1<<127 (special case)\n let a = U128::from_u64s_le(0x0, pow63 as u64);\n let b = U128::from_u64s_le(0x0, pow63 as u64);\n let (c,d )= a.unconstrained_div(b);\n assert_eq((c, d), (U128::one(), U128::zero()));\n }\n\n #[test]\n fn integer_conversions() {\n // Maximum\n let start:Field = 0xffffffffffffffffffffffffffffffff;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // Minimum\n let start:Field = 0x0;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // Low limb\n let start:Field = 0xffffffffffffffff;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // High limb\n let start:Field = 0xffffffffffffffff0000000000000000;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n }\n\n #[test]\n fn integer_conversions_fuzz(lo: u64, hi: u64) {\n let start: Field = (lo as Field) + pow64 * (hi as Field);\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n }\n\n #[test]\n fn test_wrapping_mul() {\n // 1*0==0\n assert_eq(U128::zero(), U128::zero().wrapping_mul(U128::one()));\n\n // 0*1==0\n assert_eq(U128::zero(), U128::one().wrapping_mul(U128::zero()));\n\n // 1*1==1\n assert_eq(U128::one(), U128::one().wrapping_mul(U128::one()));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(U128::zero(), U128::zero().wrapping_mul(U128::from_u64s_le(0, 1)));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(U128::zero(), U128::from_u64s_le(0, 1).wrapping_mul(U128::zero()));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(U128::from_u64s_le(0, 1), U128::from_u64s_le(0, 1).wrapping_mul(U128::one()));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(U128::from_u64s_le(0, 1), U128::one().wrapping_mul(U128::from_u64s_le(0, 1)));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(U128::zero(), U128::from_u64s_le(0, 1).wrapping_mul(U128::from_u64s_le(0, 1)));\n // -1 * -1 == 1\n assert_eq(\n U128::one(), U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff).wrapping_mul(U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff))\n );\n }\n}\n"},"59":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr","source":"#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n * \n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\nunconstrained pub fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"},"60":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{\n GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER, GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n CANONICAL_AUTH_REGISTRY_ADDRESS\n},\n hash::poseidon2_hash_with_separator\n};\nuse dep::aztec::{prelude::Deserialize, context::{PrivateContext, PublicContext, gas::GasOpts}, hash::hash_args_array};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties \n * (e.g. protocols or other users) to execute an action on their behalf.\n * \n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be \n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few \n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can \n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be \n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n * \n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer. \n * \n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is \n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n * \n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline \n * how this would look in private, and then in public later. \n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX). \n * `Alice` would make a `deposit` transaction, that she is executing using her account contract. \n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token` \n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to \n * convince the `Token` contract that it is allowed to do so. \n * \n * This is where the authentication witness comes in! The `Token` contract computes a `message_hash` from the \n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to \n * execute that call.\n * \n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her \n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n * \n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n * \n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts. \n * \n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n * \n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store \n * the messages that we have approved. \n * \n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `keccak256(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a colission and we return \n * a success flag.\n * \n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be \n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the \n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n * \n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains. \n */\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n/** \n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n * \n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/** \n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n * \n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n * \n * @param on_behalf_of The address that have authorized the current call\n * @param inner_hash The hash of the message to authorize \n */\npub fn assert_inner_hash_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context.static_call_private_function(\n on_behalf_of,\n FunctionSelector::from_signature(\"verify_private_authwit(Field)\"),\n [inner_hash]\n ).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/** \n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n * \n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n * \n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub fn assert_current_call_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/** \n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n * \n * @param on_behalf_of The address that have authorized the `inner_hash`\n */\npub fn assert_inner_hash_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n let result: Field = context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"consume((Field),Field)\"),\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness \n * \n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n * \n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n * \n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n * \n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/** \n * Computs the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n * \n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n * \n * @param on_behalf_of The address that have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n * \n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(consumer: AztecAddress, chain_id: Field, version: Field, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n * \n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n * \n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub fn set_authorized(context: &mut PublicContext, message_hash: Field, authorize: bool) {\n context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"set_authorized(Field,bool)\"),\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n\n/**\n * Helper function to reject all authwits\n * \n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise \n */\npub fn set_reject_all(context: &mut PublicContext, reject: bool) {\n context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"set_reject_all(bool)\"),\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n"},"61":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/account.nr","source":"use dep::aztec::context::{PrivateContext, PublicContext};\nuse dep::aztec::protocol_types::{address::AztecAddress, abis::function_selector::FunctionSelector, hash::pedersen_hash};\n\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\nuse crate::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash};\n\nstruct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n * \n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /** \n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n * \n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n * \n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload) {\n let valid_fn = self.is_valid_impl;\n\n let fee_hash = fee_payload.hash();\n assert(valid_fn(self.context, fee_hash));\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n\n let app_hash = app_payload.hash();\n assert(valid_fn(self.context, app_hash));\n app_payload.execute_calls(self.context);\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n * \n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n * \n * Will revert if the message is not authorized. \n * \n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can \n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"},"62":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\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 poseidon2_hash_with_separator(\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"},"64":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\nuse crate::entrypoint::function_call::FunctionCall;\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: Field = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: Field = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS = 2;\n\n// docs:start:fee-payload-struct\nstruct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__FEE_PAYLOAD\n )\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_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 bytes.push(self.is_fee_payer as u8);\n\n bytes.storage\n }\n\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 if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"},"70":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/point_to_symmetric_key.nr","source":"use dep::protocol_types::{constants::GENERATOR_INDEX__SYMMETRIC_KEY, scalar::Scalar, point::Point, utils::arr_copy_slice};\nuse crate::utils::point::point_to_bytes;\nuse std::{hash::sha256, embedded_curve_ops::multi_scalar_mul};\n\n// TODO(#5726): This function is called deriveAESSecret in TS. I don't like point_to_symmetric_key name much since\n// point is not the only input of the function. Unify naming with TS once we have a better name.\npub fn point_to_symmetric_key(secret: Scalar, point: Point) -> [u8; 32] {\n let shared_secret: Point = multi_scalar_mul([point], [secret]);\n let shared_secret = point_to_bytes(shared_secret);\n let mut shared_secret_bytes_with_separator = [0 as u8; 33];\n shared_secret_bytes_with_separator = arr_copy_slice(shared_secret, shared_secret_bytes_with_separator, 0);\n shared_secret_bytes_with_separator[32] = GENERATOR_INDEX__SYMMETRIC_KEY;\n sha256(shared_secret_bytes_with_separator)\n}\n\n#[test]\nfn test_point_to_symmetric_key_matches_noir() {\n // Value taken from \"derive shared secret\" test in encrypt_buffer.test.ts\n let secret = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let point = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n let key = point_to_symmetric_key(secret, point);\n\n // The following value was generated by `encrypt_buffer.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let key_from_typescript = [\n 251, 232, 177, 34, 2, 174, 35, 92, 165, 118, 168, 3, 153, 140, 46, 210, 203, 154, 184, 158, 236, 33, 95, 77, 93, 120, 72, 88, 190, 209, 64, 159\n ];\n assert_eq(key, key_from_typescript);\n}\n"},"71":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/getters.nr","source":"use dep::protocol_types::{\n header::Header, abis::validation_requests::KeyValidationRequest, address::AztecAddress,\n constants::CANONICAL_KEY_REGISTRY_ADDRESS, point::Point, storage::map::derive_storage_slot_in_map,\n traits::is_empty\n};\nuse crate::{\n context::PrivateContext,\n oracle::{keys::get_public_keys_and_partial_address, key_validation_request::get_key_validation_request},\n keys::{public_keys::PublicKeys, constants::{NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX, TAGGING_INDEX}},\n state_vars::{shared_mutable::shared_mutable_private_getter::SharedMutablePrivateGetter}\n};\n\nglobal DELAY = 5;\n\n// docs:start:key-getters\ntrait KeyGetters {\n fn get_npk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_ivpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_ovpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_tpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_npk_m_hash(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Field;\n}\n\nimpl KeyGetters for Header {\n fn get_npk_m(self, context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_master_key(context, address, NULLIFIER_INDEX, self)\n }\n\n fn get_ivpk_m(self, context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_master_key(context, address, INCOMING_INDEX, self)\n }\n\n fn get_ovpk_m(self, context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_master_key(context, address, OUTGOING_INDEX, self)\n }\n\n fn get_tpk_m(self, context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_master_key(context, address, TAGGING_INDEX, self)\n }\n\n fn get_npk_m_hash(self, context: &mut PrivateContext, address: AztecAddress) -> Field {\n get_master_key(context, address, NULLIFIER_INDEX, self).hash()\n }\n}\n// docs:end:key-getters\n\nfn get_master_key(\n context: &mut PrivateContext,\n address: AztecAddress,\n key_index: Field,\n header: Header\n) -> Point {\n let key = fetch_key_from_registry(context, key_index, address, header);\n if is_empty(key) {\n // Keys were not registered in registry yet --> fetch key from PXE\n let keys = fetch_and_constrain_keys(address);\n // Return the corresponding to index\n keys.get_key_by_index(key_index)\n } else {\n // Keys were registered --> return the key\n key\n }\n}\n\nfn fetch_key_from_registry(\n context: &mut PrivateContext,\n key_index: Field,\n address: AztecAddress,\n header: Header\n) -> Point {\n let x_coordinate_map_slot = key_index * 2 + 1;\n let y_coordinate_map_slot = x_coordinate_map_slot + 1;\n let x_coordinate_derived_slot = derive_storage_slot_in_map(x_coordinate_map_slot, address);\n let y_coordinate_derived_slot = derive_storage_slot_in_map(y_coordinate_map_slot, address);\n\n let x_coordinate_registry: SharedMutablePrivateGetter<Field, DELAY> = SharedMutablePrivateGetter::new(\n context,\n AztecAddress::from_field(CANONICAL_KEY_REGISTRY_ADDRESS),\n x_coordinate_derived_slot\n );\n let y_coordinate_registry: SharedMutablePrivateGetter<Field, DELAY> = SharedMutablePrivateGetter::new(\n context,\n AztecAddress::from_field(CANONICAL_KEY_REGISTRY_ADDRESS),\n y_coordinate_derived_slot\n );\n let x_coordinate = x_coordinate_registry.get_value_in_private(header);\n let y_coordinate = y_coordinate_registry.get_value_in_private(header);\n\n Point { x: x_coordinate, y: y_coordinate, is_infinite: false }\n}\n\n// Passes only when keys were not rotated - is expected to be called only when keys were not registered yet\nfn fetch_and_constrain_keys(address: AztecAddress) -> PublicKeys {\n let (public_keys, partial_address) = get_public_keys_and_partial_address(address);\n\n let computed_address = AztecAddress::compute(public_keys.hash(), partial_address);\n\n assert(computed_address.eq(address));\n\n public_keys\n}\n\n// A helper function since requesting nsk_app is very common\n// TODO(#6543)\npub fn get_nsk_app(npk_m_hash: Field) -> Field {\n get_key_validation_request(npk_m_hash, NULLIFIER_INDEX).sk_app\n}\n"},"72":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n hash::poseidon2_hash_with_separator, point::Point, traits::{Deserialize, Serialize, Empty, is_empty}\n};\nuse crate::keys::constants::{NUM_KEY_TYPES, NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX};\n\nglobal PUBLIC_KEYS_LENGTH = 12;\n\nstruct PublicKeys {\n npk_m: Point,\n ivpk_m: Point,\n ovpk_m: Point,\n tpk_m: Point,\n}\n\nimpl Empty for PublicKeys {\n fn empty() -> Self {\n PublicKeys {\n npk_m : Point::empty(),\n ivpk_m : Point::empty(),\n ovpk_m : Point::empty(),\n tpk_m : Point::empty()\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n ( self.npk_m == other.npk_m ) &\n ( self.ivpk_m == other.ivpk_m ) &\n ( self.ovpk_m == other.ovpk_m ) &\n ( self.tpk_m == other.tpk_m )\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n if is_empty(self) {\n 0\n } else {\n poseidon2_hash_with_separator(\n [\n self.npk_m.x,\n self.npk_m.y,\n self.npk_m.is_infinite as Field,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ivpk_m.is_infinite as Field,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.ovpk_m.is_infinite as Field,\n self.tpk_m.x,\n self.tpk_m.y,\n self.tpk_m.is_infinite as Field\n ],\n GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field\n )\n }\n )\n }\n\n pub fn get_key_by_index(self, index: Field) -> Point {\n assert(index as u8 < NUM_KEY_TYPES, \"Invalid key index\");\n if index == NULLIFIER_INDEX {\n self.npk_m\n } else if index == INCOMING_INDEX {\n self.ivpk_m\n } else if index == OUTGOING_INDEX {\n self.ovpk_m\n } else {\n self.tpk_m\n }\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.x,\n self.npk_m.y,\n self.npk_m.is_infinite as Field,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ivpk_m.is_infinite as Field,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.ovpk_m.is_infinite as Field,\n self.tpk_m.x,\n self.tpk_m.y,\n self.tpk_m.is_infinite as Field\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: Point { x:serialized[0], y:serialized[1], is_infinite: serialized[2] as bool },\n ivpk_m: Point { x:serialized[3], y: serialized[4], is_infinite: serialized[5] as bool },\n ovpk_m: Point { x:serialized[6], y: serialized[7], is_infinite: serialized[8] as bool },\n tpk_m: Point { x:serialized[9], y: serialized[10], is_infinite: serialized[11] as bool }\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: Point { x: 1, y: 2, is_infinite: false },\n ivpk_m: Point { x: 3, y: 4, is_infinite: false },\n ovpk_m: Point { x: 5, y: 6, is_infinite: false },\n tpk_m: Point { x: 7, y: 8, is_infinite: false }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn compute_empty_hash() {\n let keys = PublicKeys::empty();\n\n let actual = keys.hash();\n let test_data_empty_hash = 0x0000000000000000000000000000000000000000000000000000000000000000;\n\n assert(actual.to_field() == test_data_empty_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: Point { x: 1, y: 2, is_infinite: false },\n ivpk_m: Point { x: 3, y: 4, is_infinite: false },\n ovpk_m: Point { x: 5, y: 6, is_infinite: false },\n tpk_m: Point { x: 7, y: 8, is_infinite: false }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.x, deserialized.npk_m.x);\n assert_eq(keys.npk_m.y, deserialized.npk_m.y);\n assert_eq(keys.ivpk_m.x, deserialized.ivpk_m.x);\n assert_eq(keys.ivpk_m.y, deserialized.ivpk_m.y);\n assert_eq(keys.ovpk_m.x, deserialized.ovpk_m.x);\n assert_eq(keys.ovpk_m.y, deserialized.ovpk_m.y);\n assert_eq(keys.tpk_m.x, deserialized.tpk_m.x);\n assert_eq(keys.tpk_m.y, deserialized.tpk_m.y);\n}\n"},"86":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/history/public_storage.nr","source":"use dep::protocol_types::{\n constants::GENERATOR_INDEX__PUBLIC_LEAF_INDEX, hash::poseidon2_hash_with_separator,\n address::AztecAddress, header::Header, utils::field::full_field_less_than\n};\nuse dep::protocol_types::merkle_tree::root::root_from_sibling_path;\n\nuse crate::{context::PrivateContext, oracle::get_public_data_witness::get_public_data_witness};\n\ntrait PublicStorageHistoricalRead {\n fn public_storage_historical_read(header: Header, storage_slot: Field, contract_address: AztecAddress) -> Field;\n}\n\nimpl PublicStorageHistoricalRead for Header { \n fn public_storage_historical_read(self, storage_slot: Field, contract_address: AztecAddress) -> Field {\n // 1) Compute the leaf slot by siloing the storage slot with the contract address\n let public_data_tree_index = poseidon2_hash_with_separator(\n [contract_address.to_field(), storage_slot],\n GENERATOR_INDEX__PUBLIC_LEAF_INDEX\n );\n\n // 2) Get the membership witness of the slot\n let witness = get_public_data_witness(\n self.global_variables.block_number as u32,\n public_data_tree_index\n );\n\n // 3) Extract the value from the witness leaf and check that the storage slot is correct\n let preimage = witness.leaf_preimage;\n\n // Here we have two cases. Code based on same checks in `validate_public_data_reads` in `base_rollup_inputs`\n // 1. The value is the same as the one in the witness\n // 2. The value was never initialized and is zero\n let is_less_than_slot = full_field_less_than(preimage.slot, public_data_tree_index);\n let is_next_greater_than = full_field_less_than(public_data_tree_index, preimage.next_slot);\n let is_max = ((preimage.next_index == 0) & (preimage.next_slot == 0));\n let is_in_range = is_less_than_slot & (is_next_greater_than | is_max);\n\n let value = if is_in_range {\n 0\n } else {\n assert_eq(preimage.slot, public_data_tree_index, \"Public data tree index doesn't match witness\");\n preimage.value\n };\n\n // 4) Prove that the leaf exists in the public data tree. Note that `hash` returns not just the hash of the value\n // but also the metadata (slot, next index and next slot).\n assert(\n self.state.partial.public_data_tree.root\n == root_from_sibling_path(preimage.hash(), witness.index, witness.path), \"Proving public value inclusion failed\"\n );\n\n value\n }\n}\n"}}}
|