@aztec/protocol-contracts 0.47.1 → 0.49.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/AuthRegistry.json +1 -1
- package/artifacts/ContractClassRegisterer.json +1 -1
- package/artifacts/ContractInstanceDeployer.json +1 -1
- package/artifacts/FeeJuice.json +1 -0
- package/artifacts/MultiCallEntrypoint.json +1 -1
- package/artifacts/NewKeyRegistry.json +1 -0
- package/dest/fee-juice/artifact.d.ts +2 -0
- package/dest/fee-juice/artifact.d.ts.map +1 -0
- package/dest/{gas-token → fee-juice}/artifact.js +3 -3
- package/dest/fee-juice/index.d.ts +8 -0
- package/dest/{gas-token → fee-juice}/index.d.ts.map +1 -1
- package/dest/{gas-token → fee-juice}/index.js +10 -10
- package/dest/key-registry/artifact.d.ts.map +1 -1
- package/dest/key-registry/artifact.js +3 -3
- package/package.json +4 -4
- package/src/{gas-token → fee-juice}/artifact.ts +2 -2
- package/src/fee-juice/index.ts +19 -0
- package/src/key-registry/artifact.ts +2 -2
- package/artifacts/GasToken.json +0 -1
- package/artifacts/KeyRegistry.json +0 -1
- package/dest/gas-token/artifact.d.ts +0 -2
- package/dest/gas-token/artifact.d.ts.map +0 -1
- package/dest/gas-token/index.d.ts +0 -8
- package/src/gas-token/index.ts +0 -19
- /package/artifacts/{GasToken.d.json.ts → FeeJuice.d.json.ts} +0 -0
- /package/artifacts/{KeyRegistry.d.json.ts → NewKeyRegistry.d.json.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"transpiled":true,"noir_version":"0.32.0+92ff2fa2e944722e5c3fa43fb3363f093b8f1d12","name":"ContractClassRegisterer","functions":[{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"artifact_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_root","type":{"kind":"field"},"visibility":"private"},{"name":"public_bytecode_commitment","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5Zdva8IwEMa/S16L5O5yl8SvMsao/4YgVbQOhvS7r7qmdi5QvG0i7JXEPr/knsvTtD2a+WJ6eH1ZlcvN3kyejma9mRXValM2o6MBd/5vvy3K03BfFbvKTOzILMp581uPzHK1XpgJ2VCPvulQyLdSFI6dGtBn1OR9aNUUHA+oI1tu1ZHFdWp0ebW0YrC2J/b188gA/weTcj+TDm1SOxR/R5P+JyYpWkp7E+liMsbz3OEP5465uYGjS17F+i8rNBDaLOQxdROC4EBZ0WESQ0+MzLe2HiFXDQKlDiEEHqhGmmlbtVikfpMykcQYUkuRLOBVTxEfrSDKFoSclkDuLZE2OXsAI1O3klgYciEQkwtxQ+pBG/xwFclvVCQp3OLZXm8DxHH+/ifX3dbS37yYqKih8rf2IAUqCm+mkMaU9RW6kzyg7R3k1FLOqihQUaiiSEU5FcUqSlSUV1FBRamywapssCobrMoGq7LBqmywKhusygarssGqbLAqG6LKhqiyIapsiCobks2G7552ASFH8e2UjCF/zlNIT2JyEi6v6mTr52b0VuxWxXS9OH0Nni4eyln6OGyG1fv280qj/QA="},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5Zdha8IwEIb/Sz4XSe6Su8S/MmRUraMgVbQOhvS/r3VN7WageNtksE8l7fskveYhac5qXSxPL89ltdkd1fzprLa7VV6Xu6ptnZVxl3vHfV51zWOdH2o115kqqnV7bTK1KbeFmqP2TXaTA0Luo0AuDGkDnEgjs+/T6K2bSAenXZ8OjuyQBptOUx82Wo/C3CwyZeg/FMmPK9KCjmkLxA8s0n+nSAwa49wEvBYZwqXv8Ht9g071bb0L8TN6hk8jdJBJQQ59/JqORwNFCJIQ2ziS84YnaiEyMU1kzZQ6EHwsHVAb+Fo7/rk3sj/xRhQ9JXb6Zhr0LO0q2kETwhEVIhUkVNqvScqIKLifMjOXtMAPK4MHPVoYMFJWRDkRRSKKRZQXUUFCkRZRRkSBiBK5QSI3SOQGidwgkRskcoNEbrDIDRa5wSI3WOQGi9xgkRsscoNFbnDSDR52Ow8mRYX7KTsz6XUefdwl0ZK//vqhbhZt6zU/lPlyW3Sni+7hqVrFw0bbrN/2H0/a7Ds="},{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"private_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5ZfRasIwFIbfJddFcs5JThJfZcioWkdBqmgdDOm7r92aWmdAPNtE8Epi/y/2N1/T9qiWxfzw9lpWq81eTV+Oar1Z5HW5qdrRUYH9+m6/zatuuK/zXa2mOlNFtWw/m0ytynWhpqR9k13kkMn1UWQbhjSgS6TJOd+nyRt7JR2stn06WDZDGk06zX0YtB6FXTPLFPAzlHTPUNLfr6RBHdMG2d2xZPhNSQqa4toEOpUMoZsb9T/ODam5CREig2TOfqGDMAn5QbCz/z5ClIIMumHBaGRlugszhD7NbOCaOhh8rI6kAX92Nw93RvYvzoijp+ysvlgGmKQvSDKDJkwjKkQqSKi0u1cpEFF4O4UTk9yD/bAzeNSjjYEi5UVUkFBWiygQUSiiSEQZEWVFFIsokRtW5IYVucEiN1jkBovcYJEbLHKDRW6wyA0WucEiN1jkhhO54URuuKQbbrjbeYQURbdTdgLpfZ58vBOTYX969CPdzNrRe74r8/m66F6huoOHahHfqNph/bH9PtJmPwE="},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b0W7aMBSGHRq6tGlTSAiBQgt0baXdpazt6N1eZnvuXU/aOwwHH/HXdZDRjmcsEQnFie3zf/6PbdIqRGJzJOtPpMpddT4VHw9q812d6387nhhj1S45o0A4O4FwngTCGTNyRgZOeY5VWa47ueY+ic16/FCJnWWiT6Be7AqkqyaqkGh1bKNd1W+nIIDwQsHHqo7Okfqkqh4BUzXYph3cowF34B5pncA92slIK1HmOBj3S7LF5o29no1yLGcqFvGnUMa6KVgYOxxr181Yn53laO2jwxw1q5zy0FWxE7imnJyDPuO3yxPqU+xzbX7EUJ5AW2pHbTrAK49LsV1L5zv6xVq/DNqcQr9E60fXlHfpV1+V5bmbbNtSfEc+1jJ26ib2uxzFmocpjC0Dfb45ulxJjQvx/oi0a/xiyYDp0gnTZk26Ge8ml1cQm+8p6eVZxutpvl1ovmXQ5gq87DnyMgJtYqLrXos+nyevKxmvb+FJ38DU9+BJv0Wf0ZM3GS+38CQ3MOUePMlb9Pk8+fZVxissPCkMTIUHT4oWfT5Pls3zw8DCk4GBaeDBk0GLPuPaaeZJaeFJaWAqPXhStugzevJTxhtaeDI0MA09eDJs0Wf05IeMV1l4UhmYKg+eVC36jHts83wysvBkZGAaefBk1KLP6MlSxhtbeDI2MI09eDJu0WdcO43+tYUn1wamaw+eoOY+3INAuatAuYsD4db1GddOs8dOLDyZGJgmHjxBzX24ywPh1vUZc/ki400tPJkamKYePEHNfbjzQLmLQLmHgXKXgXJXgXIfyvzW9Rmfv5s99sbCkxsD040HT1BzH+48UO5JoNzFgXDr+oxrp/n/4K2FJ7cGplsPnqDmPtyjQLn7B8Kt6zPOwVcZb2bhyczANPPgCWruwz0OlLsKlHsSKHcRKPcwUO4yUO7juvy/3PmBcMt79L7PH+dMy7dUYyINoXEKjTOFcgacc4jRZeOsa8zVHPQWTnzZ5EqfP3S9cK6/XMnYnx2NTca+dxO7+ZvjQcWidxrvDb49gn7EnLcHLTZpPUAuqfwb2lI7akP7BfHL99nuVPlxR7+Z1i+DNnfQ717rR9eUd+nfL1V2Odds5npPbNf5F2BytFc+4/vLAjSExknHDJjmbpieHI63xncaheBdjwvNszPNswza4F7uc289ch+5bbjxOeQM7lH9HO51tPHgb0UWEOMv7Ab1lOo2AAA=","debug_symbols":"ndpRattAGIXRveg5FN/f0swoWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLjT9vT2+74+3F6bx7P0/329bvpv3x6frU6/Nuej687K/Pm/H57e42WmG03cgoMioZbWU0y2iRUZNRl5EUsZUiZililiJmKWKWImYpYpYiZililiJmKWKWIhYpYpEiFilikSIWKWKRIhYpYpEiFilikSKaFNGkiCZFNCmiSRFNimhSRJMimhTRpIguRXQpoksRXYroUkSXIroU0aWILkV0KWJIEUOKGFLEkCKGFDGkiCFFDCliSBFDililiFWKWKWIVYpYpYhVililiFWKWKWIVYrIZkOr0KpotaXVTKuFVo1WnVaDVtRGqI1QG6E2Qm2E2gi1EWoj1EaojVAbRW0UtVHURlEbRW0UtVHURlEbBJoh0QyRZsg0Q6gZUs0Qa4ZcMwSbIdkM0WbINkO4GdLNEG+GfDMEnCHhDBFnyDhDyBlSzhBzhpwzBJ0h6QxRZ8g6Q9gZ0s4Qd4a8MwSeIfEMkWfIPEPoGVLPEHuG3DMEnyH5DNFnyD5D+BnSzxB/hvwzBKAhAQ0RaMhAQwgaUtAQg4YcNAShIQkNUWjIQkMYGtLQEIeGPDQEoiERDZFoyERDKBpS0RCLhly0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctOyiJ7lokYsWuWiRixa5aJGLFrlo/beLXk8/d++H3cPL/na39/bx4/j476rv9Xj+9fb3y/Xf3w=="}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"artifact_hash","type":{"kind":"field"}},{"name":"private_functions_root","type":{"kind":"field"}},{"name":"public_bytecode_commitment","type":{"kind":"field"}}],"kind":"struct","path":"ContractClassRegisterer::register_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::register_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"private_function_tree_leaf_index","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_abi"}]}},"file_map":{"127":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, 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 pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<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] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"130":{"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"},"243":{"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"},"247":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\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 pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<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#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"255":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr","source":"use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"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 constraint 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"},"308":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr","source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,\n MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize, abis::log_hash::LogHash\n };\n\n use dep::aztec::{context::PrivateContext, oracle::logs::emit_contract_class_unencrypted_log_private_internal};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction, InnerPrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction, InnerUnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerPrivateFunction\n ) {\n let private_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS] = pop_capsule();\n\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: PrivateFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n vk_hash: function_data.vk_hash,\n bytecode: private_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerUnconstrainedFunction\n ) {\n let unconstrained_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS] = pop_capsule();\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: UnconstrainedFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n bytecode: unconstrained_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n #[contract_library_method]\n pub fn emit_contract_class_unencrypted_log<N>(context: &mut PrivateContext, log: [Field; N]) {\n let contract_address = context.this_address();\n let counter = context.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, log, counter);\n // 40 = addr (32) + raw log len (4) + processed log len (4)\n let len = 40 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n context.unencrypted_logs_hashes.push(side_effect);\n }\n}\n"},"309":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr","source":"// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nunconstrained fn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule"},"99":{"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::{enqueue_public_function_call_internal, set_public_teardown_function_call_internal}\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 // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_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 }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<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"}}}
|
|
1
|
+
{"transpiled":true,"noir_version":"0.33.0+ccbef55cf6af6e8bab3e52daf967175465eb69a2","name":"ContractClassRegisterer","functions":[{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"private_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+3dBXAba8Jw6TAzM94bBjvo5EKYmZmZmZmZmZmZmZmTy8zMzLCnZ5wafdn8U7s79ldzqlZVp9zqltvP25JlWdAdM8Y/Tw+SxYhxNtY/p2NS7Mivwawcj8x7+DV0Os5j5sV7zPcmecy8ZI+Zl+Ix81I9Zl56Kv/IvOyPuVyOx8zL+Zh5uR4zL89j5pWKnBd6ihn5tXzk1+JhpUqU6FK6WJfw4uEdwoqV6RhRMqxEyY6lIsIjwktGlOxcLKJ48S4RJSJKl+lYpnRYmfASxbuEdy1ZpnjXsH+ezsX617rC/qNTsU7R6Tz//9kZHv7onIfXaZwQa7Ad/oqczhvjX9P5QqbPR17m4fdd4PxFukSXY/1r/sNT7Ee2Qdh/dgrPH4XruhAr6q6bK1F2GwoLi87tVyAK13UxCrffVcn2KxiF67oUhdvvWhRuv8fdN1wJuW+4GjJ9LWT68iP3Ddc5f4Nu0q3/hfuGQlG4rutReN3clty2C0fhum5E4fa7I9l+RaJwXTejcPvdjeb7htsh9wF3QqbvhkzfeuS+4R7n79MDeu5/4b6haBSu614UXjfPS27bYVG4rvtRuP1ekGy/8Chc14Mo3H4vRvN9w/Mh9wEvhEy/GDL93CP3DS9x/mV6hV79X7hvKBaF63opCq+b1yS37eJRuK6Xo3D7vS7ZfiWicF2vROH2eyOa7xteC7kPeD1k+o2Q6VcfuW94k/Nv0dv0zv/CfUPJKFzXm1F43bwruW2XisJ1vRWF2++9aL5tvxtyG34vZPrtkOl3Hrltv8/5D+hD+ijWv57r/XfP05WO8a/piBj/5+fpPub8J/QpffZv1v1xyLo/CZn+NGT6s0fW/Tnnv6Av6at/s+7PQ9bxRcj0lyHTXz2y7q85/w19S9/9m3V/HbKOb0Kmvw2Z/u6RdX/P+R/oR/rp36z7+5B1/BAy/WPI9E+PrPtnzv9Cv9Jv/2bdP4es45eQ6V9Dpn97ZN2/c/4P+jOY///wdvJ+yPTvsf7Pt5O/OR/cCcSkWLH/z+v+O2QdweUfTscMmY4V+3+uO3awPopL8f7NumOHrCNOyHTckOl4j6w7PucTUEJK9G/WHT9kHQlCphOGTCd6ZN2JOZ+EklKyf7PuxCHrSBIynTRkOtkj607O+RSUklL9m3UnD1lHipDplCHTqR5Zd2rOp6G0lC72//1vZazIr+Ujv4b9Z6fwPDGi7v45feyoc/2P17Fi//P1pLiPbIuYIV+PJ/7ndAYum5EyUWbKQlkpG2UP1kM5KRflpifoScpDeSkf5acCVJAKUWEqQkUpjMKpGBWnElSSSlFpiqAyVJaeoqfpGXqWygXbhypQRapElakKVaVqVJ1qUE2qRbWpDtWlelSfGlBDakSNqQk1pWbUnFpQS2pFrakNtaV21J46UEfqRJ2pC3WlbtSdelBP6kW9qQ/1pX7UnwbQQBpEg2kIDaVhNJxG0EgaRaNpDI2lcTSeJtBEmkSTaQpNpWk0nWbQTJpFs2kOzaV5NJ8W0EJaRItpCS2lZbScVtBKWkWraQ2tpXW0njbQRtpEm2kLbaVttJ120E7aRbtpD+2lfbSfDtBBOkSH6QgdpWN0nE7QSTpFp+kMnaVzdJ4u0EW6RJfpCl2la3SdbtBNukW36Q7dpXt0nx7Qc/Q8vUAv0kv0Mr1Cr9Jr9Dq9QW/SW/Q2vUPv0nv0Pn1AH9JH9DF9Qp/SZ/Q5fUFf0lf0NX1D39J39D39QD/ST/Qz/UK/0m/0O/1Bf9Jf9Hfsf97RxaRYFJviUFyKR/EpASWkRJSYklBSSkbJKQWlpFSUmtJQWkpH6SkDZaRMlJmyUFbKRtkpB+WkXJSbnqAnKQ/lpXyUnwpQQSpEhakIFaUwCqdiVJxKUEkqRaUpgspQWXqKnqZn6FkqR+WpAlWkSlSZqlBVqkbVqQbVpFpUm+pQXapH9akBNaRG1JiaUFNqRs2pBbWkVtSa2lBbakftqQN1pE7UmbpQV+pG3akH9aRe1Jv6UF/qR/1pAA2kQTSYhtBQGkbDaQSNpFE0msbQWBpH42kCTaRJNJmm0FSaRtNpBs2kWTSb5tBcmkfzaQEtpEW0mJbQUlpGy2kFraRVtJrW0FpaR+tpA22kTbSZttBW2kbbaQftpF20m/bQXtpH++kAHaRDdJiO0FE6RsfpBJ2kU3SaztBZOkfn6QJdpEt0ma7QVbpG1+kG3aRbdJvu0F26R/fpAT1Hz9ML9CK9RC/TK/QqvUav0xv0Jr1Fb9M79C69R+/TB/QhfUQf0yf0KX1Gn9MX9CV9RV/TN/QtfUff0w/0I/1EP9Mv9Cv9Rr/TH/Qn/UV/x/nnH/GYFItiUxyKS/EoPiWghJSIElMSSkrJKDmloJSUilJTGkpL6Sg9ZaCMlIkyUxbKStkoO+WgnJSLctMT9CTlobyUj/JTASpIhagwFaGiFEbhVIyKUwkqSaWoNEVQGSpLT9HT9Aw9S+WoPFWgilSJKlMVqkrVqDrVoJpUi2pTHapL9ag+NaCG1IgaUxNqSs2oObWgltSKWlMbakvtqD11oI7UiTpTF+pK3ag79aCe1It6Ux/qS/2oPw2ggTSIBtMQGkrDaDiNoJE0ikbTGBpL42g8TaCJNIkm0xSaStNoOs2gmTSLZtMcmkvzaD4toIW0iBbTElpKy2g5raCVtIpW0xpaS+toPW2gjbSJNtMW2krbaDvtoJ20i3bTHtpL+2g/HaCDdIgO0xE6SsfoOJ2gk3SKTtMZOkvn6DxdoIt0iS7TFbpK1+g63aCbdItu0x26S/foPj2g5+h5eoFepJfoZXqFXqXX6HV6g96kt+hteofepffoffqAPqSP6GP6hD6lz+hz+oK+pK/oa/qGvqXv6Hv6gX6kn+hn+oV+pd/od/qD/qS/6G8K3vgWk2JRbIpDcSkexacElJASUWJKQkkpGSWnFJSSUlFqSkNpKR2lpwyUkTJRZspCWSkbZacclJNyUW56gp6kPJSX8lF+KkAFqRAVpiJUlMIonIpRcSpBJakUlaYIKkNl6Sl6mp6hZ6kclacKVJEqUWWqQlWpGlWnGlSTalFtqkN1qR7VpwbUkBpRY2pCTakZNacW1JJaUWtqQ22pHbWnDtSROlFn6kJdqRt1px7Uk3pRb+pDfakf9acBNJAG0WAaQkNpGA2nETSSRtFoGkNjaRyNpwk0kSbRZJpCU2kaTacZNJNm0WyaQ3NpHs2nBbSQFtFiWkJLaRktpxW0klbRalpDa2kdracNtJE20WbaQltpG22nHbSTdtFu2kN7aR/tpwN0kA7RYTpCR+kYHacTdJJO0Wk6Q2fpHJ2nC3SRLtFlukJX6Rpdpxt0k27RbbpDd+ke3acH9Bw9Ty/Qi/QSvUyv0Kv0Gr1Ob9Cb9Ba9Te/Qu/QevU8f0If0EX1Mn9Cn9Bl9Tl/Ql/QVfU3f0Lf0HX1PP9CP9BP9TL/Qr/Qb/U5/0J/0F/0dL3gyh99/ikWxKQ7FpXgUnxJQQkpEiSkJJaVklJxSUEpKRakpDaWldJSeMlBGykSZKQtlpWyUnXJQTspFuekJepLyUF7KR/mpABWkQlSYilBRCqNwKkbFqQSVpFJUmiKoDJWlp+hpeoaepXJUnipQRapElakKVaVqVJ1qUE2qRbWpDtWlelSfGlBDakSNqQk1pWbUnFpQS2pFrakNtaV21J46UEfqRJ2pC3WlbtSdelBP6kW9qQ/1pX7UnwbQQBpEg2kIDaVhNJxG0EgaRaNpDI2lcTSeJtBEmkSTaQpNpWk0nWbQTJpFs2kOzaV5NJ8W0EJaRItpCS2lZbScVtBKWkWraQ2tpXW0njbQRtpEm2kLbaVttJ120E7aRbtpD+2lfbSfDtBBOkSH6QgdpWN0nE7QSTpFp+kMnaVzdJ4u0EW6RJfpCl2la3SdbtBNukW36Q7dpXt0nx7Qc/Q8vUAv0kv0Mr1Cr9Jr9Dq9QW/SW/Q2vUPv0nv0Pn1AH9JH9DF9Qp/SZ/Q5fUFf0lf0NX1D39J39D39QD/ST/Qz/UK/0m/0O/1Bf9Jf9Hf84Alcfv8pFsWmOBSX4lF8SkAJKRElpiSUlJJRckpBKSkVpaY0lJbSUXrKQBkpE2WmLJSVslF2ykE5KRflpifoScpDeSkf5acCVJAKUWEqQkUpjMKpGBWnElSSSlFpiqAyVJaeoqfpGXqWylF5qkAVqRJVpipUlapRdapBNakW1aY6VJfqUX1qQA2pETWmJtSUmlFzakEtqRW1pjbUltpRe+pAHakTdaYu1JW6UXfqQT2pF/WmPtSX+lF/GkADaRANpiE0lIbRcBpBI2kUjaYxNJbG0XiaQBNpEk2mKTSVptF0mkEzaRbNpjk0l+bRfFpAC2kRLaYltJSW0XJaQStpFa2mNbSW1tF62kAbaRNtpi20lbbRdtpBO2kX7aY9tJf20X46QAfpEB2mI3SUjtFxOkEn6RSdpjN0ls7RebpAF+kSXaYrdJWu0XW6QTfpFt2mO3SX7tF9ekDP0fP0Ar1IL9HL9Aq9Sq/R6/QGvUlv0dv0Dr1L79H79AF9SB/Rx/QJfUqf0ef0BX1JX9HX9A19S9/R9/QD/Ug/0c/0C/1Kv9Hv9Af9SX/R3wmCF234/adYFJviUFyKR/EpASWkRJSYklBSSkbJKQWlpFSUmtJQWkpH6SkDZaRMlJmyUFbKRtkpB+WkXJSbnqAnKQ/lpXyUnwpQQSpEhakIFaUwCqdiVJxKUEkqRaUpgspQWXqKnqZn6FkqR+WpAlWkSlSZqlBVqkbVqQbVpFpUm+pQXapH9akBNaRG1JiaUFNqRs2pBbWkVtSa2lBbakftqQN1pE7UmbpQV+pG3akH9aRe1Jv6UF/qR/1pAA2kQTSYhtBQGkbDaQSNpFE0msbQWBpH42kCTaRJNJmm0FSaRtNpBs2kWTSb5tBcmkfzaQEtpEW0mJbQUlpGy2kFraRVtJrW0FpaR+tpA22kTbSZttBW2kbbaQftpF20m/bQXtpH++kAHaRDdJiO0FE6RsfpBJ2kU3SaztBZOkfn6QJdpEt0ma7QVbpG1+kG3aRbdJvu0F26R/fpAT1Hz9ML9CK9RC/TK/QqvUav0xv0Jr1Fb9M79C69R+/TB/QhfUQf0yf0KX1Gn9MX9CV9RV/TN/QtfUff0w/0I/1EP9Mv9Cv9Rr/TH/Qn/UV/JwxeqOX3n2JRbIpDcSkexacElJASUWJKQkkpGSWnFJSSUlFqSkNpKR2lpwyUkTJRZspCWSkbZacclJNyUW56gp6kPJSX8lF+KkAFqRAVpiJUlMIonIpRcSpBJakUlaYIKkNl6Sl6mp6hZ6kclacKVJEqUWWqQlWpGlWnGlSTalFtqkN1qR7VpwbUkBpRY2pCTakZNacW1JJaUWtqQ22pHbWnDtSROlFn6kJdqRt1px7Uk3pRb+pDfakf9acBNJAG0WAaQkNpGA2nETSSRtFoGkNjaRyNpwk0kSbRZJpCU2kaTacZNJNm0WyaQ3NpHs2nBbSQFtFiWkJLaRktpxW0klbRalpDa2kdracNtJE20WbaQltpG22nHbSTdtFu2kN7aR/tpwN0kA7RYTpCR+kYHacTdJJO0Wk6Q2fpHJ2nC3SRLtFlukJX6Rpdpxt0k27RbbpDd+ke3acH9Bw9Ty/Qi/QSvUyv0Kv0Gr1Ob9Cb9Ba9Te/Qu/QevU8f0If0EX1Mn9Cn9Bl9Tl/Ql/QVfU3f0Lf0HX1PP9CP9BP9TL/Qr/Qb/U5/0J/0F/2dKHjDBb//FItiUxyKS/EoPiWghJSIElMSSkrJKDmloJSUilJTGkpL6Sg9ZaCMlIkyUxbKStkoO+WgnJSLctMT9CTlobyUj/JTASpIhagwFaGiFEbhVIyKUwkqSaWoNEVQGSpLT9HT9Aw9S+WoPFWgilSJKlMVqkrVqDrVoJpUi2pTHapL9ag+NaCG1IgaUxNqSs2oObWgltSKWlMbakvtqD11oI7UiTpTF+pK3ag79aCe1It6Ux/qS/2oPw2ggTSIBtMQGkrDaDiNoJE0ikbTGBpL42g8TaCJNIkm0xSaStNoOs2gmTSLZtMcmkvzaD4toIW0iBbTElpKy2g5raCVtIpW0xpaS+toPW2gjbSJNtMW2krbaDvtoJ20i3bTHtpL+2g/HaCDdIgO0xE6SscS//N9KCfoJJ2i03SGztI5Ok8X6CJdost0ha7SNbpON+gm3aLbdIfu0j26Tw/oOXqeXqAX6SV6mV6hV+k1ep3eoDfpLXqb3qF36T16nz6gD+kj+pg+oU/pM/qcvqAv6Sv6mr6hb+k7+p5+oB/pJ/qZfqFf6Tf6nf6gP+kv+jtxjH98yD0mxaLYFIfiUjyKTwkoISWixJSEklIySk4pKCWlotSUhtJSOkpPGSgjZaLMlIWyUjbKTjkoJ+Wi3PQEPUl5KC/lo/xUgApSISpMRagohVE4FaPiVIJKUikqTRFUhsrSU/Q0PUPPUjkqTxWoIlWiylSFqlI1qk41qCbVotpUh+pSPapPDaghNaLG1ISaUjNqTi2oJbWi1tSG2lI7ak8dqCN1os7UhbpSN+pOPagn9aLe1If6Uj/qTwNoIA2iwTSEhtIwGk4jaCSNotE0hsbSOBpPE2giTaLJNIWm0jSaTjNoJs2i2TSH5tI8mk8LaCEtosW0hJbSMlpOK2glraLVtIbW0jpaTxtoI22izbSFttI22k47aCftot20h/bSPtpPB+ggHaLDdISO0jE6TifoJJ2i03SGztI5Ok8X6CJdost0ha7SNbpON+gm3aLbdIfu0j26Tw/oOXqeXqAX6SV6mV6hV+k1ep3eoDfpLXqb3qF36T16nz6gD+kj+pg+oU/pM/qcvqAv6Sv6mr6hb+k7+p5+oB/pJ/qZfqFf6Tf6nf6gP+kv+jtJ8MZKfv8pFsWmOBSX4lF8SkAJKRElpiSUlJJRckpBKSkVpaY0lJbSUXrKQBkpE2WmLJSVslF2ykE5KRflpifoScpDeSkf5acCVJAKUWEqQkUpjMKpGBWnElSSSlFpiqAyVJaeoqfpGXqWylF5qkAVqRJVpipUlapRdapBNakW1aY6VJfqUX1qQA2pETWmJtSUmlFzakEtqRW1pjbUltpRe+pAHakTdaYu1JW6UXfqQT2pF/WmPtSX+lF/GkADaRANpiE0lIbRcBpBI2kUjaYxNJbG0XiaQBNpEk2mKTSVptF0mkEzaRbNpjk0l+bRfFpAC2kRLaYltJSW0XJaQStpFa2mNbSW1tF62kAbaRNtpi20lbbRdtpBO2kX7aY9tJf20X46QAfpEB2mI3SUjtFxOkEn6RSdpjN0ls7RebpAF+kSXaYrdJWu0XW6QTfpFt2mO3SX7tF9ekDP0fP0Ar1IL9HL9Aq9Sq/R6/QGvUlv0dv0Dr1L79H79AF9SB/Rx/QJfUqf0ef0BX1JX9HX9A19S9/R9/QD/Ug/0c/0C/1Kv9Hv9Af9SX/R30lj/GOHNjEpFsWmOBSX4lF8SkAJKRElpiSUlJJRckpBKSkVpaY0lJbSUXrKQBkpE2WmLJSVslF2ykE5KRflpifoScpDeSkf5acCVJAKUWEqQkUpjMKpGBWnElSSSlFpiqAyVJaeoqfpGXqWylF5qkAVqRJVpipUlapRdapBNakW1aY6VJfqUX1qQA2pETWmJtSUmlFzakEtqRW1pjbUltpRe+pAHakTdaYu1JW6UXfqQT2pF/WmPtSX+lF/GkADaRANpiE0lIbRcBpBI2kUjaYxNJbG0XiaQBNpEk2mKTSVptF0mkEzaRbNpjk0l+bRfFpAC2kRLaYltJSW0XJaQStpFa2mNbSW1tF62kAbaRNtpi20lbbRdtpBO2kX7aY9tJf20X46QAfpEB2mI3SUjtFxOkEn6RSdpjN0ls7RebpAF+kSXaYrdJWu0XW6QTfpFt2mO3SX7iWLfBP8Pz6oEfLm99wxHn8qHyVvxi9RPHrWW6pTNK03PHrWW7q4a70lw6LJWyyarrcy0eQtFU3e6LqdlYgmb8noWW+JaNq+paPJW6pLNK03uu4fouv2EE2/b6W6RtN6o+l6KxFN92fRdj8ZXds3mu7PSkXX7Te6HpfYHj/I/l5E1+2heIfoWW+x6Hoc1TGa1tv5Hx+2fmTdMaP0Z4SF5426dYVFlzGfwJhfYCwlMEYIjKWjwfg/TlG9d4DQT/T/p3sHuJ8sevYOEKw3R4x/PjESuSOM/9spqq/ImFG3rn/siSZ4pfdxp0d/RnjH0mFdypTs2rlLGFMdOncqHlaiTKmOZcI6FC9WukPXUh1KdikeUbxLWLGILqU7lCheLJxrqnTHTp2jazv8/38EosZo+CNQQGAsKDAWEhgLC4xFBMaiAmOYwBguMBYTGIsLjCUExpICo+GfttICo+Efywyx//uNGQXGTAJjZoExi8CYVWDMJjBmFxhzCIw5BcZcAmNugfEJgfFJgTGPwJhXYMwnMOYXGAsIjAUFxkICY2GBsYjAWFRgDBMYwwXGYgJjcYGxhMBYUmAsJTCWFhgjBMYyAmNZgfEpgfFpgfEZgfFZgbGcwFheYKwgMFYUGCsJjJUFxioCY1WBsZrAWF1grCEw1hQYawmMtQXGOgJjXYGxnsBYX2BsIDA2FBgbCYyNBcYmAmNTgbGZwNhcYGwhMLYUGFsJjK0FxjYCY1uBsZ3A2F5g7CAwdhQYOwmMnQXGLgJjV4Gxm8DYXWDsITD2FBh7CYy9BcY+AmNfgbGfwNhfYBwgMA4UGAcJjIMFxiEC41CBcZjAOFxgHCEwjhQYRwmMowXGMQLjWIFxnMA4XmCcIDBOFBgnCYyTBcYpAuNUgXGawDhdYJwhMM4UGGcJjLMFxjkC41yBcZ7AOF9gXCAwLhQYFwmMiwXGJQLjUoFxmcC4XGBcITCuFBhXCYyrBcY1AuNagXGdwLheYNwgMG4UGDcJjJsFxi0C41aBcZvAuF1g3CEw7hQYdwmMuwXGPQLjXoFxn8C4X2A8IDAeFBgPCYyHBcYjAuNRgfGYwHhcYDwhMJ4UGE8JjKcFxjMC41mB8ZzAeF5gvCAwXhQYLwmMlwXGKwLjVYHxmsB4XWC8ITDeFBhvCYy3BcY7AuNdgfGewHhfYHwgMD4nMD4vML4gML4oML4kML4sML4iML4qML4mML4uML4hML4pML4lML4tML4jML4rML4nML4vMH4gMH4oMH4kMH4sMH4iMH4qMH4mMH4uMH4hMH4pMH4lMH4tMH4jMH4rMH4nMH4vMP4gMP4oMP4kMP4sMP4iMP4qMP4mMP4uMP4hMP4pMP4lMP4tMMaI899vjCkwxhIYYwuMcQTGuAJjPIExvsCYQGBMKDAmEhgTC4xJBMakAmMygTG5wJhCYEwpMKYSGFMLjGkExrQCYzqBMb3AmEFgzCgwZhIYMwuMWQTGrAJjNoExu8CYQ2DMKTDmEhhzC4xPCIxPCox5BMa8AmM+gTG/wFhAYCwoMBYSGAsLjEUExqICY5jAGC4wFhMYiwuMJQTGkgJjKYGxtMAYITCWERjLCoxPCYxPC4zPCIzPCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfE5gfF5gfEFgfFFgfElgfFlgfEVgfFVgfE1gfF1gfENgfFNgfEtgfFtgfEdgfFdgfE9gfF9gfEDgfFDgfEjgfFjgfETgfFTgfEzgfFzgfELgfFLgfErgfFrgfEbgfFbgfE7gfF7gfEHgfFHgfEngfFngfEXgfFXgfE3gfF3gfEPgfFPgfEvgfFvgTFG3P9+Y0yBMZbAGFtgjCMwxhUY4wmM8QXGBAJjQoExkcCYWGBMIjAmFRiTCYzJBcYUAmNKgTGVwJhaYEwjMKYVGNMJjOkFxgwCY0aBMZPAmFlgzCIwZhUYswmM2QXGHAJjToExl8CYW2B8QmB8UmDMIzDmFRjzCYz5BcYCAmNBgbGQwFhYYCwiMBYVGMMExnCBsZjAWFxgLCEwlhQYSwmMpQXGCIGxjMBYVmB8SmB8WmB8RmB8VmAsJzCWFxgrCIwVBcZKAmNlgbGKwFhVYKwmMFYXGGsIjDUFxloCY22BsY7AWFdgrCcw1hcYGwiMDQXGRgJjY4GxicDYVGBsJjA2FxhbCIwtBcZWAmNrgbGNwNhWYGwnMLYXGDsIjB0Fxk4CY2eBsYvA2FVg7CYwdhcYewiMPQXGXgJjb4Gxj8DYV2DsJzD2FxgHCIwDBcZBAuNggXGIwDhUYBwmMA4XGEcIjCMFxlEC42iBcYzAOFZgHCcwjhcYJwiMEwXGSQLjZIFxisA4VWCcJjBOFxhnCIwzBcZZAuNsgXGOwDhXYJwnMM4XGBcIjAsFxkUC42KBcYnAuFRgXCYwLhcYVwiMKwXGVQLjaoFxjcC4VmBcJzCuFxg3CIwbBcZNAuNmgXGLwLhVYNwmMG4XGHcIjDsFxl0C426BcY/AuFdg3Ccw7hcYDwiMBwXGQwLjYYHxiMB4VGA8JjAeFxhPCIwnBcZTAuNpgfGMwHhWYDwnMJ4XGC8IjBcFxksC42WB8YrAeFVgvCYwXhcYbwiMNwXGWwLjbYHxjsB4V2C8JzDeFxgfCIzPCYzPC4wvCIwvCowvCYwvC4yvCIyvCoyvCYyvC4xvCIxvCoxvCYxvC4zvCIzvCozvCYzvC4wfCIwfCowfCYwfC4yfCIyfCoyfCYyfC4xfCIxfCoxfCYxfC4zfCIzfCozfCYzfC4w/CIw/Cow/CYw/C4y/CIy/Coy/CYy/C4x/CIx/Cox/CYx/C4wx4v33G2MKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3ALjEwLjkwJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowBgmMIYLjMUExuICYwmBsaTAWEpgLC0wRgiMZQTGsgLjUwLj0wLjMwLjswJjOYGxvMBYQWCsKDBWEhgrC4xVBMaqAmM1gbG6wFhDYKwpMNYSGGsLjHUExroCYz2Bsb7A2EBgbCgwNhIYGwuMTQTGpgJjM4GxucDYQmBsKTC2EhhbC4xtBMa2AmM7gbG9wNhBYOwoMHYSGDsLjF0Exq4CYzeBsbvA2ENg7Ckw9hIYewuMfQTGvgJjP4Gxv8A4QGAcKDAOEhgHC4xDBMahAuMwgXG4wDhCYBwpMI4SGEcLjGMExrEC4ziBcbzAOEFgnCgwThIYJwuMUwTGqQLjNIFxusA4Q2CcKTDOEhhnC4xzBMa5AuM8gXG+wLhAYFwoMC4SGBcLjEsExqUC4zKBcbnAuEJgXCkwrhIYVwuMawTGtQLjOoFxvcC4QWDcKDBuEhg3C4xbBMatAuM2gXG7wLhDYNwpMO4SGHcLjHsExr0C4z6Bcb/AeEBgPCgwHhIYDwuMRwTGowLjMYHxuMB4QmA8KTCeEhhPC4xnBMazAuM5gfG8wHhBYLwoMF4SGC8LjFcExqsC4zWB8brAeENgvCkw3hIYbwuMdwTGuwLjPYHxvsD4QGB8TmB8XmB8QWB8UWB8SWB8WWB8RWB8VWB8TWB8XWB8Q2B8U2B8S2B8W2B8R2B8V2B8T2B8X2D8QGD8UGD8SGD8WGD8RGD8VGD8TGD8XGD8QmD8UmD8SmD8WmD8RmD8VmD8TmD8XmD8QWD8UWD8SWD8WWD8RWD8VWD8TWD8XWD8Q2D8U2D8S2D8W2CMEf+/3xhTYIwlMMYWGOMIjHEFxngCY3yBMYHAmFBgTCQwJhYYkwiMSQXGZAJjcoExhcCYUmBMJTCmFhjTCIxpBcZ0AmN6gTGDwJhRYMwkMGYWGLMIjFkFxmwCY3aBMYfAmFNgzCUw5hYYnxAYnxQY8wiMeQXGfAJjfoGxgMBYUGAsJDAWFhiLCIxFBcYwgTFcYCwmMBYXGEsIjCUFxlICY2mBMUJgLCMwlhUYnxIYnxYYnxEYnxUYywmM5QXGCgJjRYGxksBYWWCsIjBWFRirCYzVBcYaAmNNgbGWwFhbYKwjMNYVGOsJjPUFxgYCY0OBsZHA2FhgbCIwNhUYmwmMzQXGFgJjS4GxlcDYWmBsIzC2FRjbCYztBcYOAmNHgbGTwNhZYOwiMHYVGLsJjN0Fxh4CY0+BsZfA2Ftg7CMw9hUY+wmM/QXGAQLjQIFxkMA4WGAcIjAOFRiHCYzDBcYRAuNIgXGUwDhaYBwjMI4VGMcJjOMFxgkC40SBcZLAOFlgnCIwThUYpwmM0wXGGQLjTIFxlsA4W2CcIzDOFRjnCYzzBcYFAuNCgXGRwLhYYFwiMC4VGJcJjMsFxhUC40qBcZXAuFpgXCMwrhUY1wmM6wXGDQLjRoFxk8C4WWDcIjBuFRi3CYzbBcYdAuNOgXGXwLhbYNwjMO4VGPcJjPsFxgMC40GB8ZDAeFhgPCIwHhUYjwmMxwXGEwLjSYHxlMB4WmA8IzCeFRjPCYznBcYLAuNFgfGSwHhZYLwiMF4VGK8JjNcFxhsC402B8ZbAeFtgvCMw3hUY7wmM9wXGBwLjcwLj8wLjCwLjiwLjSwLjywLjKwLjqwLjawLj6wLjGwLjmwLjWwLj2wLjOwLjuwLjewLj+wLjBwLjhwLjRwLjxwLjJwLjpwLjZwLj5wLjFwLjlwLjVwLj1wLjNwLjtwLjdwLj9wLjDwLjjwLjTwLjzwLjLwLjrwLjbwLj7wLjHwLjnwLjXwLj3wJjjAT//caYAmMsgTG2wBhHYIwrMMYTGOMLjAkExoQCYyKBMbHAmERgTCowJhMYkwuMKQTGlAJjKoExtcCYRmBMKzCmExjTC4wZBMaMAmMmgTGzwJhFYMwqMGYTGLMLjDkExpwCYy6BMbfA+ITA+KTAmEdgzCsw5hMY8wuMBQTGggJjIYGxsMBYRGAsKjCGCYzhAmMxgbG4wFhCYCwpMJYSGEsLjBECYxmBsazA+JTA+LTA+IzA+KzAWE5gLC8wVhAYKwqMlQTGygJjFYGxqsBYTWCsLjDWEBhrCoy1BMbaAmMdgbGuwFhPYKwvMDYQGBsKjI0ExsYCYxOBsanA2ExgbC4wthAYWwqMrQTG1gJjG4GxrcDYTmBsLzB2EBg7CoydBMbOAmMXgbGrwNhNYOwuMPYQGHsKjL0Ext4CYx+Bsa/A2E9g7C8wDhAYBwqMgwTGwQLjEIFxqMA4TGAcLjCOEBhHCoyjBMbRAuMYgXGswDhOYBwvME4QGCcKjJMExskC4xSBcarAOE1gnC4wzhAYZwqMswTG2QLjHIFxrsA4T2CcLzAuEBgXCoyLBMbFAuMSgXGpwLhMYFwuMK4QGFcKjKsExtUC4xqBca3AuE5gXC8wbhAYNwqMmwTGzQLjFoFxq8C4TWDcLjDuEBh3Coy7BMbdAuMegXGvwLhPYNwvMB4QGA8KjIcExsMC4xGB8ajAeExgPC4wnhAYTwqMpwTG0wLjGYHxrMB4TmA8LzBeEBgvCoyXBMbLAuMVgfGqwHhNYLwuMN4QGG8KjLcExtsC4x2B8a7AeE9gvC8wPhAYnxMYnxcYXxAYXxQYXxIYXxYYXxEYXxUYXxMYXxcY3xAY3xQY3xIY3xYY3xEY3xUY3xMY3xcYPxAYPxQYPxIYPxYYPxEYPxUYPxMYPxcYvxAYvxQYvxIYvxYYvxEYvxUYvxMYvxcYfxAYfxQYfxIYfxYYfxEYfxUYfxMYfxcY/xAY/xQY/xIY/xYYYyT87zfGFBhjCYyxBcY4AmNcgTGewBhfYEwgMCYUGBMJjIkFxiQCY1KBMZnAmFxgTCEwphQYUwmMqQXGNAJjWoExncCYXmDMIDBmFBgzCYyZBcYsAmNWgTGbwJhdYMwhMOYUGHMJjLkFxicExicFxjwCY16BMZ/AmF9gLCAwFhQYCwmMhQXGIgJjUYExTGAMFxiLCYzFBcYSAmNJgbGUwFhaYIwQGMsIjGUFxqcExqcFxmcExmcFxnICY3mBsYLAWFFgrCQwVhYYqwiMVQXGagJjdYGxhsBYU2CsJTDWFhjrCIx1BcZ6AmN9gbGBwNhQYGwkMDYWGJsIjE0FxmYCY3OBsYXA2FJgbCUwthYY2wiMbQXGdgJje4Gxg8DYUWDsJDB2Fhi7CIxdBcZuAmN3gbGHwNhTYOwlMPYWGPsIjH0Fxn4CY3+BcYDAOFBgHCQwDhYYhwiMQwXGYQLjcIFxhMA4UmAcJTCOFhjHCIxjBcZxAuN4gXGCwDhRYJwkME4WGKcIjFMFxmkC43SBcYbAOFNgnCUwzhYY5wiMcwXGeQLjfIFxgcC4UGBcJDAuFhiXCIxLBcZlAuNygXGFwLhSYFwlMK4WGNcIjGsFxnUC43qBcYPAuFFg3CQwbhYYtwiMWwXGbQLjdoFxh8C4U2DcJTDuFhj3CIx7BcZ9AuN+gfGAwHhQYDwkMB4WGI8IjEcFxmMC43GB8YTAeFJgPCUwnhYYzwiMZwXGcwLjeYHxgsB4UWC8JDBeFhivCIxXBcZrAuN1gfGGwHhTYLwlMN4WGO8IjHcFxnsC432B8YHA+JzA+LzA+ILA+KLA+JLA+LLA+IrA+KrA+JrA+LrA+IbA+KbA+JbA+LbA+I7A+K7A+J7A+L7A+IHA+KHA+JHA+LHA+InA+KnA+JnA+LnA+IXA+KXA+JXA+LXA+I3A+K3A+J3A+L3A+IPA+KPA+JPA+LPA+IvA+KvA+JvA+LvA+IfA+KfA+JfA+LfAGCPRf78xpsAYS2CMLTDGERjjCozxBMb4AmMCgTGhwJhIYEwsMCYRGJMKjMkExuQCYwqBMaXAmEpgTC0wphEY0wqM6QTG9AJjBoExo8CYSWDMLDBmERizCozZBMbsAmMOgTGnwJhLYMwtMD4hMD4pMOYRGPMKjPkExvwCYwGBsaDAWEhgLCwwFhEYiwqMYQJjuMBYTGAsLjCWEBhLCoylBMbSAmOEwFhGYCwrMD4lMD4tMD4jMD4rMJYTGMsLjBUExooCYyWBsbLAWEVgrCowVhMYqwuMNQTGmgJjLYGxtsBYR2CsKzDWExjrC4wNBMaGAmMjgbGxwNhEYGwqMDYTGJsLjC0ExpYCYyuBsbXA2EZgbCswthMY2wuMHQTGjgJjJ4Gxs8DYRWDsKjB2Exi7C4w9BMaeAmMvgbG3wNhHYOwrMPYTGPsLjAMExoEC4yCBcbDAOERgHCowDhMYhwuMIwTGkQLjKIFxtMA4RmAcKzCOExjHC4wTBMaJAuMkgXGywDhFYJwqME4TGKcLjDMExpkC4yyBcbbAOEdgnCswzhMY5wuMCwTGhQLjIoFxscC4RGBcKjAuExiXC4wrBMaVAuMqgXG1wLhGYFwrMK4TGNcLjBsExo0C4yaBcbPAuEVg3CowbhMYtwuMOwTGnQLjLoFxt8C4R2DcKzDuExj3C4wHBMaDAuMhgfGwwHhEYDwqMB4TGI8LjCcExpMC4ymB8bTAeEZgPCswnhMYzwuMFwTGiwLjJYHxssB4RWC8KjBeExivC4w3BMabAuMtgfG2wHhHYLwrMN4TGO8LjA8ExucExucFxhcExhcFxpcExpcFxlcExlcFxtcExtcFxjcExjcFxrcExrcFxncExncFxvcExvcFxg8Exg8Fxo8Exo8Fxk8Exk8Fxs8Exs8Fxi8Exi8Fxq8Exq8Fxm8Exm8Fxu8Exu8Fxh8Exh8Fxp8Exp8Fxl8Exl8Fxt8Ext8Fxj8Exj8Fxr8Exr8FxhiJ//uNMQXGWAJjbIExjsAYV2CMJzDGFxgTCIwJBcZEAmNigTGJwJhUYEwmMCYXGFMIjCkFxlQCY2qBMY3AmFZgTCcwphcYMwiMGQXGTAJjZoExi8CYVWDMJjBmFxhzCIw5BcZcAmNugfEJgfFJgTGPwJhXYMwnMOYXGAsIjAUFxkICY2GBsYjAWFRgDBMYwwXGYgJjcYGxhMBYUmAsJTCWFhgjBMYyAmNZgfEpgfFpgfEZgfFZgbGcwFheYKwgMFYUGCsJjJUFxioCY1WBsZrAWF1grCEw1hQYawmMtQXGOgJjXYGxnsBYX2BsIDA2FBgbCYyNBcYmAmNTgbGZwNhcYGwhMLYUGFsJjK0FxjYCY1uBsZ3A2F5g7CAwdhQYOwmMnQXGLgJjV4Gxm8DYXWDsITD2FBh7CYy9BcY+AmNfgbGfwNhfYBwgMA4UGAcJjIMFxiEC41CBcZjAOFxgHCEwjhQYRwmMowXGMQLjWIFxnMA4XmCcIDBOFBgnCYyTBcYpAuNUgXGawDhdYJwhMM4UGGcJjLMFxjkC41yBcZ7AOF9gXCAwLhQYFwmMiwXGJQLjUoFxmcC4XGBcITCuFBhXCYyrBcY1AuNagXGdwLheYNwgMG4UGDcJjJsFxi0C41aBcZvAuF1g3CEw7hQYdwmMuwXGPQLjXoFxn8C4X2A8IDAeFBgPCYyHBcYjAuNRgfGYwHhcYDwhMJ4UGE8JjKcFxjMC41mB8ZzAeF5gvCAwXhQYLwmMlwXGKwLjVYHxmsB4XWC8ITDeFBhvCYy3BcY7AuNdgfGewHhfYHwgMD4nMD4vML4gML4oML4kML4sML4iML4qML4mML4uML4hML4pML4lML4tML4jML4rML4nML4vMH4gMH4oMH4kMH4sMH4iMH4qMH4mMH4uMH4hMH4pMH4lMH4tMH4jMH4rMH4nMH4vMP4gMP4oMP4kMP4sMP4iMP4qMP4mMP4uMP4hMP4pMP4lMP4tMMZI8t9vjCkwxhIYYwuMcQTGuAJjPIExvsCYQGBMKDAmEhgTC4xJBMakAmMygTG5wJhCYEwpMKYSGFMLjGkExrQCYzqBMb3AmEFgzCgwZhIYMwuMWQTGrAJjNoExu8CYQ2DMKTDmEhhzC4xPCIxPCox5BMa8AmM+gTG/wFhAYCwoMBYSGAsLjEUExqICY5jAGC4wFhMYiwuMJQTGkgJjKYGxtMAYITCWERjLCoxPCYxPC4zPCIzPCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfE5gfF5gfEFgfFFgfElgfFlgfEVgfFVgfE1gfF1gfENgfFNgfEtgfFtgfEdgfFdgfE9gfF9gfEDgfFDgfEjgfFjgfETgfFTgfEzgfFzgfELgfFLgfErgfFrgfEbgfFbgfE7gfF7gfEHgfFHgfEngfFngfEXgfFXgfE3gfF3gfEPgfFPgfEvgfFvgTFG0v9+Y0yBMZbAGFtgjCMwxhUY4wmM8QXGBAJjQoExkcCYWGBMIjAmFRiTCYzJBcYUAmNKgTGVwJhaYEwjMKYVGNMJjOkFxgwCY0aBMZPAmFlgzCIwZhUYswmM2QXGHAJjToExl8CYW2B8QmB8UmDMIzDmFRjzCYz5BcYCAmNBgbGQwFhYYCwiMBYVGMMExnCBsZjAWFxgLCEwlhQYSwmMpQXGCIGxjMBYVmB8SmB8WmB8RmB8VmAsJzCWFxgrCIwVBcZKAmNlgbGKwFhVYKwmMFYXGGsIjDUFxloCY22BsY7AWFdgrCcw1hcYGwiMDQXGRgJjY4GxicDYVGBsJjA2FxhbCIwtBcZWAmNrgbGNwNhWYGwnMLYXGDsIjB0Fxk4CY2eBsYvA2FVg7CYwdhcYewiMPQXGXgJjb4Gxj8DYV2DsJzD2FxgHCIwDBcZBAuNggXGIwDhUYBwmMA4XGEcIjCMFxlEC42iBcYzAOFZgHCcwjhcYJwiMEwXGSQLjZIFxisA4VWCcJjBOFxhnCIwzBcZZAuNsgXGOwDhXYJwnMM4XGBcIjAsFxkUC42KBcYnAuFRgXCYwLhcYVwiMKwXGVQLjaoFxjcC4VmBcJzCuFxg3CIwbBcZNAuNmgXGLwLhVYNwmMG4XGHcIjDsFxl0C426BcY/AuFdg3Ccw7hcYDwiMBwXGQwLjYYHxiMB4VGA8JjAeFxhPCIwnBcZTAuNpgfGMwHhWYDwnMJ4XGC8IjBcFxksC42WB8YrAeFVgvCYwXhcYbwiMNwXGWwLjbYHxjsB4V2C8JzDeFxgfCIzPCYzPC4wvCIwvCowvCYwvC4yvCIyvCoyvCYyvC4xvCIxvCoxvCYxvC4zvCIzvCozvCYzvC4wfCIwfCowfCYwfC4yfCIyfCoyfCYyfC4xfCIxfCoxfCYxfC4zfCIzfCozfCYzfC4w/CIw/Cow/CYw/C4y/CIy/Coy/CYy/C4x/CIx/Cox/CYx/C4wxkv33G2MKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3ALjEwLjkwJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowBgmMIYLjMUExuICYwmBsaTAWEpgLC0wRgiMZQTGsgLjUwLj0wLjMwLjswJjOYGxvMBYQWCsKDBWEhgrC4xVBMaqAmM1gbG6wFhDYKwpMNYSGGsLjHUExroCYz2Bsb7A2EBgbCgwNhIYGwuMTQTGpgJjM4GxucDYQmBsKTC2EhhbC4xtBMa2AmM7gbG9wNhBYOwoMHYSGDsLjF0Exq4CYzeBsbvA2ENg7Ckw9hIYewuMfQTGvgJjP4Gxv8A4QGAcKDAOEhgHC4xDBMahAuMwgXG4wDhCYBwpMI4SGEcLjGMExrEC4ziBcbzAOEFgnCgwThIYJwuMUwTGqQLjNIFxusA4Q2CcKTDOEhhnC4xzBMa5AuM8gXG+wLhAYFwoMC4SGBcLjEsExqUC4zKBcbnAuEJgXCkwrhIYVwuMawTGtQLjOoFxvcC4QWDcKDBuEhg3C4xbBMatAuM2gXG7wLhDYNwpMO4SGHcLjHsExr0C4z6Bcb/AeEBgPCgwHhIYDwuMRwTGowLjMYHxuMB4QmA8KTCeEhhPC4xnBMazAuM5gfG8wHhBYLwoMF4SGC8LjFcExqsC4zWB8brAeENgvCkw3hIYbwuMdwTGuwLjvWgwRoczfeyoc8YMcT5IFuN/nmI9Ai8eVqpEiS6li3UJLx7eIaxYmY4RJcNKlOxYKiI8IrxkRMnOxSKKF+8SUSKidJmOZUqHlQkvUbxLeNeSZYp3jfxhUbkRysSInisrqsccMwrHXFYy5lhROOanJGOOHYVjfloy5jhROOZn/pfGHPafncKfjcLtlzq24w9OuRgOZ3mJs4LEWVHirCRxVpY4q0icVSXOahJndYmzhsRZU+KsJXHWljjrSJx1Jc56Emd9ibOBxNlQ4mwkcTaWOJtInE0lzmYSZ3OJs4XE2VLibCVxtpY420icbSXOdhJne4mzg8TZUeLsJHF2lji7SJxdJc5uEmd3ibOHxNlT4uwlcfaWOPtInH0lzn4SZ3+Jc4DEOVDiHCRxDpY4h0icQyXOYRLncIlzhMQ5UuIcJXGOljjHSJxjJc5xEud4iXOCxDlR4pwkcU6WOKdInFMlzmkS53SJc4bEOVPinCVxzpY450iccyXOeRLnfIlzgcS5UOJcJHEuljiXSJxLJc5lEudyiXOFxLlS4lwlca6WONdInGslznUS53qJc4PEuVHi3CRxbpY4t0icWyXObRLndolzh8S5U+LcJXHuljj3SJx7Jc59Eud+ifOAxHlQ4jwkcR6WOI9InEclzmMS53GJ84TEeVLiPCVxnpY4z0icZyXOcxLneYnzgsR5UeK8JHFeljivSJxXJc5rEud1ifOGxHlT4rwlcd6WOO9InHclznsS532J84HE+ZzE+bzE+YLE+aLE+ZLE+bLE+YrE+arE+ZrE+brE+YbE+abE+ZbE+bbE+Y7E+a7E+Z7E+b7E+YHE+aHE+ZHE+bHE+YnE+anE+ZnE+bnE+YXE+aXE+ZXE+bXE+Y3E+a3E+Z3E+b3E+YPE+aPE+ZPE+bPE+YvE+avE+ZvE+bvE+YfE+afE+ZfE+bfEGazQ4IwpccaSOGNLnHEkzrgSZzyJM77EmUDiTChxJpI4E0ucSSTOpBJnMokzucSZQuJMKXGmkjhTS5xpJM60Emc6iTO9xJlB4swocWaSODNLnFkkzqwSZzaJM7vEmUPizClx5pI4c0ucT0icT0qceSTOvBJnPokzv8RZQOIsKHEWkjgLS5xFJM6iEmeYxBkucRaTOItLnCUkzpISZymJs7TEGSFxlpE4y0qcT0mcT0ucz0icz0qc5STO8hJnBYmzosRZSeKsLHFWkTirSpzVJM7qEmcNibOmxFlL4qwtcdaROOtKnPUkzvoSZwOJs6HE2UjibCxxNpE4m0qczSTO5hJnC4mzpcTZSuJsLXG2kTjbSpztJM72EmcHibOjxNlJ4uwscXaROLtKnN0kzu4SZw+Js6fE2Uvi7C1x9pE4+0qc/STO/hLnAIlzoMQ5SOIcLHEOkTiHSpzDJM7hEucIiXOkxDlK4hwtcY6ROMdKnOMkzvES5wSJc6LEOUninCxxTpE4p0qc0yTO6RLnDIlzpsQ5S+KcLXHOkTjnSpzzJM75EucCiXOhxLlI4lwscS6ROJdKnMskzuUS5wqJc6XEuUriXC1xrpE410qc6yTO9RLnBolzo8S5SeLcLHFukTi3SpzbJM7tEucOiXOnxLlL4twtce6ROPdKnPskzv0S5wGJ86DEeUjiPCxxHpE4j0qcxyTO4xLnCYnzpMR5SuI8LXGekTjPSpznJM7zEucFifOixHlJ4rwscV6ROK9KnNckzusS5w2J86bEeUvivC1x3pE470qc9yTO+xLnA4nzOYnzeYnzBYnzRYnzJYnzZYnzFYnzVYnzNYnzdYnzDYnzTYnzLYnzbYnzHYnzXYnzPYnzfYnzA4nzQ4nzI4nzY4nzE4nzU4nzM4nzc4nzC4nzS4nzK4nza4nzG4nzW4nzO4nze4nzB4nzR4nzJ4nzZ4nzF4nzV4nzN4nzd4nzD4nzT4nzL4nzb4kzRiyHM6bEGUvijC1xxpE440qc8STO+BJnAokzocSZSOJMLHEmkTiTSpzJJM7kEmcKiTOlxJlK4kwtcaaRONNKnOkkzvQSZwaJM6PEmUnizCxxZpE4s0qc2STO7BJnDokzp8SZS+LMLXE+IXE+KXHmkTjzSpz5JM78EmcBibOgxFlI4iwscRaROItKnGESZ7jEWUziLC5xlpA4S0qcpSTO0hJnhMRZRuIsK3E+JXE+LXE+I3E+K3GWiyZnrEecxcNKlSjRpXSxLuHFwzuEFSvTMaJkWImSHUtFhEeEl4wo2blYRPHiXSJKRJQu07FM6bAy4SWKdwnvWrJM8a6R684ThWMu/7805rD/7BReIVbUbb/7yRy3x4qS35tKEmdlibOKxFlV4qwmcVaXOGtInDUlzloSZ22Js47EWVfirCdx1pc4G0icDSXORhJnY4mzicTZVOJsJnE2lzhbSJwtJc5WEmdribONxNlW4mwncbaXODtInB0lzk4SZ2eJs4vE2VXi7CZxdpc4e0icPSXOXhJnb4mzj8TZV+LsJ3H2lzgHSJwDJc5BEudgiXOIxDlU4hwmcQ6XOEdInCMlzlES52iJc4zEOVbiHCdxjpc4J0icEyXOSRLnZIlzisQ5VeKcJnFOlzhnSJwzJc5ZEudsiXOOxDlX4pwncc6XOBdEkzNWFDsXhjj/089cPUjmGPOiKBxz+tiO2+PiKBhzl65du0SUKl0mOp1LJL/fSyXOZRLncolzhcS5UuJcJXGuljjX/C897vhP/27GjcIxr5WMOV4UjnmdZMzxo3DM6yVjThCFY94gGXPCKBzzRsmYE0XhmDdJxpw4Cse8WTLmJFE45i2SMSeNwjFvlYw5WRSOeZtkzMmjcMzbJWNOEYVj3iEZc8ooHPNOyZhTReGYd0nGnDoKx7xbMuY0UTjmPZIxp43CMe+VjDldFI55n2TM6aNwzPslY84QhWM+IBlzxigc80HJmDNF4ZgPScacOQrHfFgy5ixROOYjkjFnjcIxH5WMOVsUjvmYZMzZo3DMxyVjzhGFYz4hGXPOKBzzScmYc0XhmE9Jxpw7Csd8WjLmJ6JwzGckY34yCsd8NgrHHLwfIE7kukLfaBUzchvEjlwevH4evJ4cvL4avN4YvP4WvB4VvD4TvF4RPH8fPJ8dPL8bPN8ZPP8XPB8WPD8UPF8SPH8Q/D8d/H8Z/L8V/P8RPB4PHp8Gj9eCxy/B3/Pg71sOCu7/gvuD4PcjuL0E2y/YR31eykf5qQAVpEJUmIpQ0WCbUDgVC643KkElqRSVpoiQcU6N9a+xl6Wn6Gl6hp6lcpHXWwWqSJWoMlWhqlSNqlMNqkm1qDbVobpUj+pTA2pIjagxNaGm1IyaUwtqSa2oNbWhttSO2lMH6kidqDN1oa7UjbpTD+pJvag39aG+1I/60wAaSINoMA2hoTSMhtMIGkmjaDSNobE0jsbTBJpIk2gyTQm2HU2j6TSDZtIsmk1zaC7No/m0gBbSIlpMS2gpLaPltIJW0ipaTWtoLa2j9bSBNtIm2kxbaCtto+20g3bSLtpNe2gv7aP9dIAO0iE6TEfoKB2j43SCTtIpOk1n6Cydo/N0gS7SJbpMV+gqXaPrdINu0i26TXfoLt2j+/SAnqPn6QV6kV6il+kVepVeo9fpDXqT3qK36R16l96j9+kD+pA+oo/pE/qUPqPP6Qv6kr6ir+kb+pa+o+/pB/qRfqKf6Rf6lX6j3+kP+pP+or8puDOISbEoNsWhuBSP4lMCSkiJKDEloaSUjJJTCkpJqSg1paG0lI7SUwbKSJkoM2WhrJSNslMOykm5KDc9QU9SHspL+Sg/FaCCVIgKUxEqSsGdXDgVo+JUgkpSKSpNEVSGytJT9DQ9Q89SOSpPFagiVaLKVIWqUjWqTjWoJtWi2lSH6lI9qk8NqCE1osbUhJpSM2pOLagltaLW1IbaUjtqTx2oI3WiztSFulI36k49qCf1ot7Uh/pSP+pPA2ggDaLBNISG0jAaTiNoJI2i0TSGxtI4Gk8TaCJNosk0habSNJpOM2gmzaLZNIfm0jyaTwtoIS2ixbSEltIyWk4raCWtotW0htbSOlpPG2gjbaLNtIW20jbaTjtoJ+2i3bSH9tI+2k8H6CAdosN0hI7SMTpOJ+gknaLTdIbO0jk6TxfoIl2iy3SFrtI1uk436Cbdott0h+7SPbpPD+g5ep5eoBfpJXqZXqFX6TV6nd6gN+ktepveoXfpPXqfPqAP6SP6mD6hT+kz+py+oC/pK/qavqFv6Tv6nn6gH+kn+pl+oV/pN/qd/qA/6S/6m4IHAjEpFsWmOBSX4lF8SkAJKRElpiSUlJJRckpBKSkVpaY0lJbSUXrKQBkpEwXHsw+OFR8chz04xnlw/PAcFBz3OjimdHC85uBYyMFxhoNj+AbHxw2OPRsc1zU4ZmpwPNLgWJ/BcTSDY1QGx38Mjq0YHLcwOCZgcLy94Fh2wXHigmOwBcc3C44dFhyXKzjmVXA8qeBYTcFxkIJjDP3j+D0UHCsmOHZKcFyS4JgfwfE0gmNVBMeBCI6xEBy/IDg2QLDf/WCf9sH+4oN9sQf7OQ/2IR7snzvY93WwX+lgn83B/pCDfQ0H+/EN9pEb7H822LdrsN/UYJ+kwf4+g31pBvupbE/B/hWDfRcG+wUM9rkX7M8u2FdcsB+2YB9nwf7Dgn1zBfu9CvYpFeyvKdgXUrCfoWAfPsH+cYJ9zwT7dQn2mRLsjyTY10ewH41gHxXB/h+CfSsE+y0I9gkQfN4++Cx78Dnx8RR8vjn47HDwudzgM6/B50mDx07B5yCDzxgGn98LPhsXfO4s+ExX8Hmp4LNIwed8gs/QBJ9PCT77EXwWIvhsQPC+++A97cH7xYP3Ygfvcw7eQxy8Pzd472vwvtLgfZbB+w7XU/C+tOB9WsH7loL38QTvawne5xG87yF4H0DwunjwOnHwumnwOmLwulrwOlPwukvwOkTwvHzwPHXwvG3wPGbwvF7wPFfwvE/wPEjwvEDwf3Lwf2Pwf1Twf0XwODtWjH+dioVMZ4n82mHw4C59+g/OMbhfjg6dO+cY1mNw9xz9hnYZ2LV3v+Ch1T8ec/6/+Z6YsR+5cIKQFQS/i8GD8fKR58P+g1N48Y4R8R79ASGn4IF+qhBDnGgwhEX8882LcaNj3R07RiSIHEeUrzvsn+4E0bPu4LHKP/7BihG5beKEjCNuyHWSKOTnx4ymn/9w3Q9/1sP5cUKmU4Zc9uHlHl7m4S/QQ3/wj2K8yOlE/+b74jzyfclCLhMv5PviP/J98UO2T3CKGzIvZciC44n/dbnQ9UXl7S9xjP95B/LwZ8R4xBzjkXEFptjRYeK6TRSyHfv361+pQ/9BQ3p3iRny0x6KH26h0GWP6h9e5tFT4pDRxAqZ9/CaiB0yL9Yjo08csvzh5YNbWq0Y/9o6MWJEw9aJKFYm9B4xf4z/eYoV+sMT/Ovnx4os5sN5j1kWK3JerMcsix05L/ZjlsWJnBfnMcviRs6L+5hl8SLnxXvMsviR8+I/ZlmCyHkJHrMsYeS8hI9ZlihyXqLHLEscOS/xY5YliZyX5DHLkkbOS/qYZcki5yV7zLLkkfOSP2ZZish5KR6zLGXkvJSPWZYqcl6qxyxLHTkv9WOWpYmcl+Yxy9JGzkv7mGXpIuele8yy9JHz0j9mWYbIeRkesyxj5LyMj1mWKXJepscsyxw5L/NjlmWJnJflMcuyRs7L+phl2SLnZXvMsuyR87I/ZlmOyHk5HrMsZ+S8nI9ZlityXq5HliWI8a/7n+h4ZBNd9+LR94isWPFoe0SG+//0d+FxfwMeTscJmRfnkcsFfx+KRk4Hf93zP/Jo9tFHSVE4llIJIk3RsZ2C9SUJGf/Dp+BjhPzMOCGXKRH5NbhMqZDLxQ+57MPlVR6zPEbIOEJPoY9OEoVs02TRM+5//M4kj8ZtmiJkO8QJGUfo2EIfzcaMpp//cN0Pf1aKkO39cLpyyGUfXu7hZR5eLw/9SSOL8Yj/0e+L/8j3JQu5TNKQ70v2yPc9PP/wugm2X9mQ6dDb1MNfwdBtGvrfRHTdn4T+vGi6/yqVKGR8nbt0HNKtdr9uMR45hd7nP7xfyx2y/KHtH4/FQsyPfm/o7+LDdeV+ZN7D/7Ae/b0NtneKR9Yd1dsjvHinLqGPl+888r9A4Lqd+p/TD78+/Pn/4z+jBP/6Ei1/LyOi8e9l5G3w4XX6cJyht8vQ/3UeTof+/UoSsvxO6n9tu+CUMmTew+s4uA1mj5zu0qfH4Er9+g4e2KHT4Eq9Owwa1KRvl76dBo7oP7hLZ26aoTeL0H9yQ0+xQ6ZDHwo9nH8r5GqN+5jveXj5R9cb+n2hV3vcRzyhN4WHy4Kb7/8FnjqTmTm+CQA=","debug_symbols":"7ZrdbuIwEIXfJdcIeWbssc2rrFYVtLSKhKACutIK9d3XYXEIsqWo0x9yMTcQkzmO/eVgn0g5NU/r1dvLQ7t93h2axa9Ts9k9Lo/tbptapwbc+bfD63LbNQ/H5f7YLMysWW+f0vf7rHluN+tmQQ7eZ0Ud+ugvpRgg9tVAVKmmSOFSbQ3CSDUYJHcpT8fu2js6V6t3TLncBXsdOVY7930xIA6Lf88aYIVSQvEKpYQSFEoJJSqUAgoahVJCAYVSQkGFUkIhhVJCsQqlhKKJtgJFE20FiibaChRNtBUommhLKKSJtgJFE20FiibaChRNtBUodsJQPF6hhDACJVVAHks0+CkoU060d4My5UR7Nyg/mGgtRs5QyMcJrylBoZRQokIpoFijUEoooFBKKDhhKPfafewPJlpLMWYo1rsJO8UqlBKKUyglFFYoJRSvUEooYcJQ7rb7fCrRUuRcmibM12ka13XuzHd2Xk1YhJAfOgkJbi7RiaoJhILPnrTIthBVd2iL3vYBw+LIZJghxxFmCmNmI4B809LxoPc8eTu9IbmvGFL/b2dv/e2NSK3Vvt1s2peHm5fxTPfhYV5/q4hs7pGYBh2e3d+pokRVfy9lVAUiFX5QlVpwZkLz+kYQTLZ7QDNYa8z5ikkVRKooUdXXiFEViFQoUpFIZUUqJ1KxSCXyhhN5w4m8wSJvsMgbLPIGi7zBIm+wyBss8gaLvMEib7DIG17kDS/yhq96wwfqVVBT0QdVqYXndZvnUF/zKeRUSZbDIFVyUqfmn+W+Xa42625f7M6+bR/zNpmax7+v/8+k4n8="},{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"artifact_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_root","type":{"kind":"field"},"visibility":"private"},{"name":"public_bytecode_commitment","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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tahNHepSj/o0oCGNaEwTmtKM5rSgJa1oTRva0o72dKAjnehMF7rSje70oCe96E0f/qYv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84a/w8k8AAhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vThb/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so/9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/84Ce/+M0f/uMLWv5FAAISiMAEISjBCE4IQhKK0IQhLOEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKclITgpSkorUpCEt6UhPBjKSicxkISvZyE4OcpKL3OQhL/nITwEKUojCFKEoxShOCUpSitKUoSzlKE8FKlKJylShKtWoTg1qUova1KEu9ahPAxrSiMY0oSnNaE4LWtKK1rShLe1oTwc60onOdKEr3ehOD3rSi9704W/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jM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","debug_symbols":"7ZndbuIwEIXfJdcIZWY8Y5tXWa0qaGkVCYUK6Eor1Hdfh8UJ1JaiTv8i4RvA5BzH8+XYDuFYPaxXL093Tfu43VeLX8dqs71fHpptG1rHCszpu/3zsu2a+8Nyd6gW9axatw/h/XVWPTabdbUghtdZokPr7VmKDnyvBqKM2qCXs9qQHVNDjcRnefjMgx6Zc3oWinJ2Zhg5Zju3vRgQL8W/ZxVwgZJCkQIlhWILlBSKK1BSKL5ASaBgXaCkUKBASaHghKFYHKA4NwIlKCCOxdf4ISj0jVDI+wjFWJ5wUkyBkkLhAiWFIgVKCsUWKCkUV6CkUPyEofzUlkwfuqMlL1EaCpahzJpPncNXdp69wwL2JlYrtb06RWfK3oGAxT6TTnBkXN701wpkuLQoE8s7mRuqlW+oVvn+Wn9sebI3VGt200aguAoiuLFa2UEkw47M1ZqZGTwBxAGFzwaTNdZPbkgmu2Ehcn8ZGOu3y77JbkTIQx3s3UgdIhB/ZYvQmHq8DpzekOgzhtSvc2LNm/03tFa7ZrNpnu6u/tSpuxdj5vkHsWRij9RN2b7D06TpXF7jyj/KG3WByoXvdIUWdErmeX4KujrOKXeRduS6O2Nw5WfJqAtULlS5SOUyKherXKJyWZXLqVyqbLAqG6zKBquywapssCobrMoGq7LBqmywKhusyoaosiGqbIgqG6LKhmSzYR31Lsi5+J2u0MLTuu3mkF/zycXnAmTEXTwXkOAOzT/LXbNcbdbdvtgdfWnv4zYZmoe/z/+PBPE/"},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/9WZ204yMRDHW9mFhdXlw/MBFeTTxLsFAeHOl9Hn8drEd/ARpTAT/q1IbOloaGLa3U5nfjPTw1q0WpRs9qepnVJdVV8LyzxRXW5W+hF1lZKceks4d7aEs7IlnElETr2C09QJtc26M2uuphbr8UsnDjaJrkC/WqfItfpBdeb0RfN2Uk6rYADhFcEn1Me1pr+c+hEwJ2fncvCOHd6Bd2yrAu94J2NbGQVHwO9RtsSOq3s2G40vddLF/Dm0sa8NIUwEfU1lfB2K5WhWJHOkIQ8p6a7BM+ekAfa1kH3W3XDmRwLtC5BlOZbhdcj8e2q5lhprxiXOuAJkqjCu5oyrQXxMMfFqUdvUabaUZTmhOM7nSC6j28pR4sQwB98KsB9vjg4mxsausot2nvFgKYBpT4Sp7BvdTSHdOfiwC778A3vxvpxGwwLsoY1C2fHl5yYwtUSYxhNkanky7cswTZFp35PpQITp8QGZDjyZDkWYBiUyHXoyHYkwja04HXkyHcswvSDTsSfTiQzTMzKdeDKdijA9WvvTqSfTmQzTAJnOPJnORZjGfWQ692AKXRuhedlkf8Dvv4ixs+bYRaAvvmu4LePLCJnagb74nCWh+Qzda0Jj/hfz9RLkI+4/Vo4vA30JzXHonPKN3RXIR4yd9X1yFeiLz56/yXfjtUwMxsh0HehL6BkTuvZ+Y95t45606R6P9yvvVAv+Pz/NgUeBDeWwK2A2JVer10gHdKTROEtrn+iAva5IXBb3LN/lrytufzAxunsyvs3vp/4Lxu2WdPEdZm9F3O7Avhayz7rZ1i3kkttvIMtyLMP3Pcxv7q9uqH23ZlzhjCtA5gbG9Zxx/My5MfF7pbbkXPvJXDd3UbzO74FJZl8qh/h7hQIbyuHkUgBTR4bp1+4Z6+BLF3yMZMvaS3FO+ZxXfzUOz6s6vHPPBvwtsAnvKqCbdXwC3tPG3MogAAA=","debug_symbols":"ndnNasJAFIbhe5m1lHyTmXNmeiulSNQogRBFY6GI995ou3DbdxPy92X1rN7cwq7fXA/rYdofL+H94xbG47abh+O0XN3uq7A5D+M4HNavt0PzPLzF8lxcTt30uHGZu/Mc3lvzVein3XLmcfnCfhj75Tzr/rl6jCoYtQ0ZiYwiGbVklMgok5GRkZMREdESEYmISEREIiISEZGIiEREJCIiERGJiEhERCYiMhGRiYhMRGQiIhMRmYjIREQmIjIRYUSEERFGRBgRYUSEERFGRBgRYUSEERFORDgR4USEExFORDgR4USEExFORDgRUYiIQkQUIqIQEYWIKEREISIKEVGIiEJEVCKiEhGViKhERCUiKhFRiYhKRFQiohIRahq0ElpFtGrRKqFVRitDK0erglbIhpANIRtCNoRsCNkQsiFkQ8iGkA0hGxHZiMhGRDYishGRjYhsRGQjIhsoaAoVTaGkKdQ0haKmUNUUyppCXVMobAqVTaG0KdQ2heKmUN0UyptCfVMocAoVTqHEKdQ4hSKnUOUUypxCnVModAqVTqHUKdQ69e/YeV8uv7rz0G3G/u/H2P46bV/+k83fp98ny8s/"},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7ZnRbuIwEEX/Jc8I2R7PjM2vrFYVtLSKFIUK6Eor1H9fJ4sDyJaiTndbHuYFYnKvY59c7FFyap62m7eXh7Z/3h2a1Y9T0+0e18d216fWqbE4/nZ4XfdD83Bc74/Nyiyabf+Uvt8XzXPbbZsVoH1fFDrHkc9SF2yc1BagovYu0lntgefU1jjAszwd40XvEGt6JMhyDP4yclftnCexde5a/HPRWFIoJRRWKCWUoFBKKFGhFFCcUSglFKtQSihOoZRQQKGUULxCKaFoRVuBohVtBYpWtBUoWtFWoGhFW0IBrWgrUO65omV3gRLCDJSksHks0bhPQfnKihZizFA84x0nBRRKCcUrlBIKKpQSCimUEgorlBJKuGMo37Ylf6qihUhZmiZMl2kaHDr35n92Xq2wfMCpFgoUby4xmKoVCELI+JGBClN1h0b2+UoYrJ+ZDJHNaiIIc2EDa/NNS8feFZP39zck/BdDmv7txJ5vb0RqbfZt17UvDzevLs3wgX5ZfwcDPvcIBFcdjukfXFHiqj/Fn3VZkct90JVadmRCS6xGN5i8BAdnrtYaM14xubzIhSIXiVwscgWRK0pcZEQuK3I5kUuUDRJlg0TZIFE2SJQNEmWDRNlgUTZYlA0WZYNF2WBRNliUDRZlg0XZ4Go2OMDksjVX/KArtdy4bselra/5EHJVCZ7CVVVJyZ2av9b7dr3ptsO+OJx96x/zNpmax9+vf88k8R8="}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"artifact_hash","type":{"kind":"field"}},{"name":"private_functions_root","type":{"kind":"field"}},{"name":"public_bytecode_commitment","type":{"kind":"field"}}],"kind":"struct","path":"ContractClassRegisterer::register_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::register_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"private_function_tree_leaf_index","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_abi"}]}},"file_map":{"105":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"133":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash,\n hash::{\n pedersen_hash, compute_siloed_nullifier, sha256_to_field, pedersen_commitment,\n poseidon2_hash_with_separator\n}\n};\n// Note: pedersen_commitment is used only as a re-export here\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"136":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"250":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"255":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc, point::Point\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"263":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr","source":"use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = crate::hash::poseidon2_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"351":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr","source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,\n MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize, abis::log_hash::LogHash\n };\n\n use dep::aztec::{context::PrivateContext, oracle::logs::emit_contract_class_unencrypted_log_private_internal};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction, InnerPrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction, InnerUnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_nullifier(contract_class_id.to_field());\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerPrivateFunction\n ) {\n let private_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS] = pop_capsule();\n\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: PrivateFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n vk_hash: function_data.vk_hash,\n bytecode: private_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerUnconstrainedFunction\n ) {\n let unconstrained_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS] = pop_capsule();\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: UnconstrainedFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n bytecode: unconstrained_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n #[contract_library_method]\n pub fn emit_contract_class_unencrypted_log<N>(context: &mut PrivateContext, log: [Field; N]) {\n let contract_address = context.this_address();\n let counter = context.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, log, counter);\n // 40 = addr (32) + raw log len (4) + processed log len (4)\n let len = 40 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n context.unencrypted_logs_hashes.push(side_effect);\n }\n}\n"},"352":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr","source":"// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nunconstrained fn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule"}}}
|