@aztec/protocol-contracts 0.41.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- { "transpiled": true, "noir_version": "0.29.0+78f13d9e0070502a980003c7ded3738fd353dd5a", "name": "ContractClassRegisterer", "functions": [{ "name": "register", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_hash": [{ "end": 40, "start": 39 }], "inputs": [{ "end": 39, "start": 0 }], "private_functions_root": [{ "end": 41, "start": 40 }], "public_bytecode_commitment": [{ "end": 42, "start": 41 }] }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": 32, "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": 32, "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", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::key_validation_request::KeyValidationRequest" } } }, { "name": "new_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": "new_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": "hash", "type": { "kind": "field" } }, { "name": "caller_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": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_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" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" }, "return_witnesses": [20051, 20052, 20053, 20054, 20055, 20056, 20057, 20058, 20059, 20060, 20061, 20062, 20063, 20064, 20065, 20066, 20067, 20068, 20069, 20070, 20071, 20072, 20073, 20074, 20075, 20076, 20077, 20078, 20079, 20080, 20081, 20082, 20083, 20084, 20085, 20086, 20087, 20088, 20089, 20090, 20091, 20092, 20093, 20094, 20095, 20096, 20097, 20098, 20099, 20100, 20101, 20102, 20103, 20104, 20105, 20106, 20107, 20108, 20109, 20110, 20111, 20112, 20113, 20114, 20115, 20116, 20117, 20118, 20119, 20120, 20121, 20122, 20123, 20124, 20125, 20126, 20127, 20128, 20129, 20130, 20131, 20132, 20133, 20134, 20135, 20136, 20137, 20138, 20139, 20140, 20141, 20142, 20143, 20144, 20145, 20146, 20147, 20148, 20149, 20150, 20151, 20152, 20153, 20154, 20155, 20156, 20157, 20158, 20159, 20160, 20161, 20162, 20163, 20164, 20165, 20166, 20167, 20168, 20169, 20170, 20171, 20172, 20173, 20174, 20175, 20176, 20177, 20178, 20179, 20180, 20181, 20182, 20183, 20184, 20185, 20186, 20187, 20188, 20189, 20190, 20191, 20192, 20193, 20194, 20195, 20196, 20197, 20198, 20199, 20200, 20201, 20202, 20203, 20204, 20205, 20206, 20207, 20208, 20209, 20210, 20211, 20212, 20213, 20214, 20215, 20216, 20217, 20218, 20219, 20220, 20221, 20222, 20223, 20224, 20225, 20226, 20227, 20228, 20229, 20230, 20231, 20232, 20233, 20234, 20235, 20236, 20237, 20238, 20239, 20240, 20241, 20242, 20243, 20244, 20245, 20246, 20247, 20248, 20249, 20250, 20251, 20252, 20253, 20254, 20255, 20256, 20257, 20258, 20259, 20260, 20261, 20262, 20263, 20264, 20265, 20266, 20267, 20268, 20269, 20270, 20271, 20272, 20273, 20274, 20275, 20276, 20277, 20278, 20279, 20280, 20281, 20282, 20283, 20284, 20285, 20286, 20287, 20288, 20289, 20290, 20291, 20292, 20293, 20294, 20295, 20296, 20297, 20298, 20299, 20300, 20301, 20302, 20303, 20304, 20305, 20306, 20307, 20308, 20309, 20310, 20311, 20312, 20313, 20314, 20315, 20316, 20317, 20318, 20319, 20320, 20321, 20322, 20323, 20324, 20325, 20326, 20327, 20328, 20329, 20330, 20331, 20332, 20333, 20334, 20335, 20336, 20337, 20338, 20339, 20340, 20341, 20342, 20343, 20344, 20345, 20346, 20347, 20348, 20349, 20350, 20351, 20352, 20353, 20354, 20355, 20356, 20357, 20358, 20359, 20360, 20361, 20362, 20363, 20364, 20365, 20366, 20367, 20368, 20369, 20370, 20371, 20372, 20373, 20374, 20375, 20376, 20377, 20378, 20379, 20380, 20381, 20382, 20383, 20384, 20385, 20386, 20387, 20388, 20389, 20390, 20391, 20392, 20393, 20394, 20395, 20396, 20397, 20398, 20399, 20400, 20401, 20402, 20403, 20404, 20405, 20406, 20407, 20408, 20409, 20410, 20411, 20412, 20413, 20414, 20415, 20416, 20417, 20418, 20419, 20420, 20421, 20422, 20423, 20424, 20425, 20426, 20427, 20428, 20429, 20430, 20431, 20432, 20433, 20434, 20435, 20436, 20437, 20438, 20439, 20440, 20441, 20442, 20443, 20444, 20445, 20446, 20447, 20448, 20449, 20450, 20451, 20452, 20453, 20454, 20455, 20456, 20457, 20458, 20459, 20460, 20461, 20462, 20463, 20464, 20465, 20466, 20467, 20468, 20469, 20470, 20471, 20472, 20473, 20474, 20475, 20476, 20477, 20478, 20479, 20480, 20481, 20482, 20483, 20484, 20485, 20486, 20487] }, "bytecode": "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", "debug_symbols": "1ZfdbsIwDIXfJdcIxXacxLzKNE0dPxMSKgjKpAnx7muhKTCiVZhtYldt2vMlx+2po+7MZPq6fXuZl7PlxoyedmaxHBfVfFnWo50BPlzbrIqyGW6qYl2ZkR2YaTmpj/uBmc0XUzPCEPeDKx1GL60Uo0CnFsmIHRG1Yues/V7sJcZWHCzjyYeN++eBAf8/bYe/s+3QdrbjnbbjPbYZHbZSPihadTjOLb83N9rc3IA+tAxgvFyhgSALkaQnBEzcY0s6VwA+nMTAhxUwu0K0KWcQPfYVbtGnwq3j88IzwRHwyX19LuHrc6JHM+SyhoQgQWivX1y2lSGC7aDQVwVQDF04KIq/sw7/eJbCT1gSTG8CnEW4+u6G+ZZBmBoYOTlbRBIlGir/mfdSoKLwdsoNKVtX6PpQiOc9F1vKWRUFKgpVFKkop6JYRXkVFVRUVFGqbLAqG6zKBquywapssCobrMoGq7LBqmywKhusyoZXZcOrsuFV2fCqbPh8Nhx3FOUovp0KQ6B8n7c2ba5Ub5l0sfHVg/diPS9eF9Pm36q5ty3H6VerHlYfq+OdWvsJ" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "error_types": {}, "param_witnesses": { "contract_address": [{ "end": 1, "start": 0 }], "nonce": [{ "end": 2, "start": 1 }], "note_type_id": [{ "end": 4, "start": 3 }], "serialized_note": [], "storage_slot": [{ "end": 3, "start": 2 }] }, "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": "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" }, "return_witnesses": [4, 5, 6, 7] }, "bytecode": "H4sIAAAAAAAA/+2b227iMBCGE8ohNMshIYTzobQ3exdYCvSOl9l9671fad9htZ3UUwZrWjnqxIolLKFMjOP/m9+HppXre2+l9frxVdzQrrRgm7O6Zl8rW8G+sjI5fUc4a45w3gly+gwnXOsqhivM5aZ3Pc/fy1lwklBRCgUDc0fqPoK7eghKUwWBBnyWgD5lpybpnEJDCRU4BQhJIj6pw2drpA53kLvg0kVTPod9QMwT6/d1QMNL2u/cIYnxO9Cekrp6STk25HMsy7t8VaI/DdVvi9yjV20VC+6wW6rtq0+baHpqjDCekLbYDv2okTGG0vEu49/+5Lm69lyXtGky+Z892fxbGk9LY24oJigR8Gp7QEljk0G/9/L9Xo15XRuTe5JTR9zv3Qn2hNC7LvpPmTOJO4TnmzhPti0nz7ex6xJ2mX6f9+BVT/Mq1LzqkjaUoVeCfz7Rxb7xvsdoy3lxOIF238CLPsPTt+xFn9EW9OIFtCMDLyKGJ7LsRcRoy3lx/AHasYEXMcMTW/YiZrTlvNjl7xYDAy8GDM/AshcDRltwjeTzIjHwImF4EsteJIy2oBe/QHto4MWQ4Rla9mLIaAt68RO0UwMvUoYntexFymgL7p35+8XIwIsRwzOy7MWI0Rb0YgfaYwMvxgzP2LIXY0ZbcI3k2hMDLyYMz8SyF/R31CLMAweZUweZ4wowB1oso33I98+pgRdThmdq2QvUK8qcVIA50GIZ7cMzaM8MvJgxPDPLXqBeUebIQebYQeahg8yJg8ypg8xVmM+BFstoH/M9dG7gxZzhmVv2AvWKMkcOMk8dZI4rwBxosYz2Mf/b3MLAiwXDs7DsBeoVZR45yNyvAHOgxTLaxwNoLw28WDI8S8teoF5R5rGDzKmDzFMHmWMHmYcOMicOMt/WoB3mqALM9EzT31J5di+hxoOeeRqjpzGGJKbnYFbijFlGx2dFtNbyWltuvuD9ulTt3Qn63cjnlL/LP6q+8AzfhsnpScXS57keSb8+0cH6Oon/kLbYDv3AdYvsMO8eVPz0yXNL7bkuafPA5H/2ZPPfaDwbjRnG5DfhWItz7E4m87rvXdbyd8JTwj64p2dysZjsOyXtMduS8szoGb5/nuyaXmteBZpXXdKG7tHrEvwzmV835hvzR8z0fSIgdfj9itTVtFzo/zJgezgz/B/4fzqFFjUAAA==", "debug_symbols": "ndpRattAGIXRveg5FN9f0swoWymlOIlTDMEJiVMoIXuv3dIF9LxpJN237+kwH9PD4e79x/fj6fH5bbr9+jE9Pd/vz8fn0+X0Me2+VPvz9u1lf7q+eDvvX8/T7Vy5mQ6nh+tT+7yZHo9Ph+m2+vj8dnMddRkNGW0wmncyioxKRrOMFhmtMpIiZililiJmKWKRIhYpYpEiFilikSIWKWKRIhYpYpEiFililSJWKWKVIlYpYpUiVililSJWKWKVIlYpokkRTYpoUkSTIpoU0aSIJkU0KaJJEU2K6FJElyK6FNGliC5FdCmiSxFdiuhSRJcihhQxpIghRQwpYkgRQ4oYUsSQIoYUMaSITYrYpIhNitikiE2K2KSITYrYpIhNitikiOx2tAqtilYzrRZarbRqtOq0GrSiNkJthNoItRFqI9RGqI1QG6E2Qm2E2ihqo6iNojaK2ihqo6gN4syQZ4ZAMySaIdIMmWYINUOqGWLNkGuGYDMkmyHaDNlmCDdDuhnizZBvhoAzJJwh4gwZZwg5Q8oZYs6Qc4agMySdIeoMWWcIO0PaGeLOkHeGwDMkniHyDJlnCD1D6hliz5B7huAzJJ8h+gzZZwg/Q/oZ4s+Qf4YANCSgIQINGWgIQUMKGmLQkIOGIDQkoSEKDVloCENDGhri0JCHhkA0JKIhEg2ZaAhFQyoaYtGQixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLll3ztHuedtGTXLTIRYtctMhFi1y0/ttFL6ef+9fj/u7pcL3Ze/34frr/d9H3cjz/evn75fLvbw==" }, { "name": "broadcast_private_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_function_tree_leaf_index": [{ "end": 54, "start": 53 }], "artifact_function_tree_sibling_path": [{ "end": 53, "start": 48 }], "artifact_metadata_hash": [{ "end": 41, "start": 40 }], "contract_class_id": [{ "end": 40, "start": 39 }], "function_data": [{ "end": 3057, "start": 54 }], "inputs": [{ "end": 39, "start": 0 }], "private_function_tree_leaf_index": [{ "end": 48, "start": 47 }], "private_function_tree_sibling_path": [{ "end": 47, "start": 42 }], "unconstrained_functions_artifact_tree_root": [{ "end": 42, "start": 41 }] }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction" }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": 32, "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": 32, "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", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::key_validation_request::KeyValidationRequest" } } }, { "name": "new_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": "new_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": "hash", "type": { "kind": "field" } }, { "name": "caller_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": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_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" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" }, "return_witnesses": [3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547] }, "bytecode": "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", "debug_symbols": "1ZrtSuNAGIXvZX4XmXm/Zqa3sixL1LoUSiq2Liyl926qSf0aFN+qeH4lk5yTnCSHPCTMLlwuzm///ln2V+tNmP/ahdX6otsu1/0w2oVk99s2111/GG623c02zOMsLPrLYbmfhavlahHmlMt+9kpHxeoopVLTUV1rQ8y1plEsUcvbYquljOIclR5zxLL/PQspY8YumLErZGyKmLETZmzCjM2YsQUztmLGxqQkYVKSMClJmJRkTEoyJiUZk5KMSUnGpCRjUpIxKcmYlGRMSjImJQWTkoJJScGkpGBSUjApKZiUFExKCiYlBZOSgklJxaSkYlJSMSmpmJRUTEoqJiUVk5KKSUnFpKRiUtIwKWmYlDRMStr3UVKYeYotMZ4WWzBjfx8lRSgeY5cTY59ESSWhUar3ilGdH46dv/DYTd4wpcnDFtOzMxxMzbc9W0pHU+Z3YiUuOY/yYb3a02CNB1uTTfd/WK/5xXXk+PMipc+IVGmSJ4mUXj2+s/bvgGzTleTytKw0uYrLVT2u9rfou67kcpHLxS6XuFzqcpnL5eqGurqhrm6Yqxvm6oa5umGubpirG+bqhrm6Ya5umKsb5upGdnUju7qR290QPbq45eIPu3I6S9xmbowTTgb+Rn72qh8G/7qbZXe+WhxmCx/23fYX0+ThYbj9f/2wZ9DeAQ==" }, { "name": "broadcast_unconstrained_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_function_tree_leaf_index": [{ "end": 48, "start": 47 }], "artifact_function_tree_sibling_path": [{ "end": 47, "start": 42 }], "artifact_metadata_hash": [{ "end": 41, "start": 40 }], "contract_class_id": [{ "end": 40, "start": 39 }], "function_data": [{ "end": 3050, "start": 48 }], "inputs": [{ "end": 39, "start": 0 }], "private_functions_artifact_tree_root": [{ "end": 42, "start": 41 }] }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction" }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": 32, "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": 32, "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", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::key_validation_request::KeyValidationRequest" } } }, { "name": "new_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": "new_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": "hash", "type": { "kind": "field" } }, { "name": "caller_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": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_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" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" }, "return_witnesses": [3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540] }, "bytecode": "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", "debug_symbols": "1ZrdbptAFITfhWsr2j2/u36VqqpI4lSWLBzFTqXK8rsXJ+AmzapRj9uocwULMzCwAx8XHLrb1fXj1y/r4W6765afDt1me9Pv19thHB26bE/bdvf9cBru9v3DvlumRbcabsflcdHdrTerbklejos3OipWJymVms/qWhtirjVPYklafi+2Wsok9qT0M0cqx8+LLjtm7IIZu0LGpoQZO2PGJszYjBlbMGMrZmxMShImJQmTkoRJScakJGNSkjEpyZiUZExKMiYlGZOSjElJxqQkY1JSMCkpmJQUTEoKJiUFk5KCSUnBpKRgUlIwKSmYlFRMSiomJRWTkopJScWkpGJSUjEpqZiUVExKKiYlDZOShklJw6SkfRwlhZnn2JLSZbEFM/bHUVKE0jl2uTD2RZRUEpqk+qSY1P58bP+Hx27yZpzF8+Pjqq/OcDI13/biprOpkL8TK3Nxn+TjerWXwRoTW7PN939cr/7LdXj6/yLlvxGp0jwTWRLlN9N31f6Id5uvxMvLstLskpBLQy4LuTzkKiFXjbjaXw/vunLIRSFXqBsW6oaFumGhblioGxbqhoW64aFueKgbHuqGh7rhoW54qBse6oaHuuHtboieXdxy1T92eb7KzTvPlNKME6ac+NWrfhx86x/W/fVmdfpb+LTvcbiZfx4eh/vv9897Ru0P" }], "outputs": { "globals": {}, "structs": { "functions": [{ "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" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_abi" }, { "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" }] } }, "file_map": { "202": { "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)]\nfn debug_log_oracle<M, N>(_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<M, N>(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<N>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n" }, "208": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr", "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::log_hash::{LogHash, NoteLogHash};\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::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};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index 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 pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\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: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n" }, "215": { "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 = dep::std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n" }, "278": { "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_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize\n };\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction}\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_new_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 context.emit_contract_class_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: PrivateFunction\n ) {\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_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 context.emit_contract_class_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: UnconstrainedFunction\n ) {\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_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 context.emit_contract_class_unencrypted_log(event.serialize());\n }\n}\n" }, "279": { "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)]\nfn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule" }, "78": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr", "source": "use crate::{\n context::{inputs::PrivateContextInputs, interface::ContextInterface},\n messaging::process_l1_to_l2_message,\n hash::{hash_args_array, ArgsHasher, compute_unencrypted_log_hash},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n note::{note_interface::NoteInterface, utils::compute_note_hash_for_insertion},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_log, emit_encrypted_note_log, compute_encrypted_log},\n logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n hash::sha256_to_field,\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber, key_validation_request::KeyValidationRequest,\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_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 contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, grumpkin_point::GrumpkinPoint, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader,\n traits::{is_empty, Deserialize, Empty}, utils::arrays::find_index\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: BoundedVec<KeyValidationRequest, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n app_secret_keys_generators: BoundedVec<Field, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<LogHash, 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 ContextInterface for PrivateContext {\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn 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_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\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: BoundedVec::new(),\n app_secret_keys_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_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 // 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 returns::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: self.key_validation_requests.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n 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 self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\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 // 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.push(request);\n self.app_secret_keys_generators.push(sk_generators[key_index]);\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.new_l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // call oracle\n let _void = emit_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\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 pub fn emit_contract_class_unencrypted_log<N>(&mut self, log: [Field; N]) {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n }\n\n pub fn encrypt_and_emit_log<N, M>(\n &mut self,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n ) where [Field; N]: LensForEncryptedLog<N, M> {\n // We are currently just encrypting it EXACTLY the same way as if it was a note.\n let counter = self.next_counter();\n let encrypted_log: [u8; M] = compute_encrypted_log(contract_address, storage_slot, note_type_id, ivpk_m, preimage);\n emit_encrypted_log(encrypted_log, counter);\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn encrypt_and_emit_note<Note, N, M>(\n &mut self,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ivpk_m: GrumpkinPoint,\n note: Note\n ) where Note: NoteInterface<N>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_hash: Field = compute_note_hash_for_insertion(note);\n let note_exists_index = find_index(\n self.new_note_hashes.storage,\n |n: NoteHash| n.value == note_hash\n );\n assert(\n note_exists_index != MAX_NEW_NOTE_HASHES_PER_CALL, \"Can only emit a note log for an existing note.\"\n );\n let note_hash_counter = self.new_note_hashes.storage[note_exists_index].counter;\n let preimage = note.serialize_content();\n let counter = self.next_counter();\n\n // TODO(#1139 | #6408): perform encryption in the circuit\n let encrypted_log: [u8; M] = compute_encrypted_log(contract_address, storage_slot, note_type_id, ivpk_m, preimage);\n emit_encrypted_note_log(note_hash, encrypted_log, counter);\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (64 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (176 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding) \n // len of processed log (4 bytes)\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n\n let log_hash = sha256_to_field(encrypted_log);\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\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, start_side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest { hash: item.hash(), caller_context, start_side_effect_counter, end_side_effect_counter }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests: BoundedVec::new(),\n app_secret_keys_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_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\nstruct PackedReturns {\n packed_returns: Field,\n}\n\nimpl PackedReturns {\n pub fn new(packed_returns: Field) -> Self {\n PackedReturns { packed_returns }\n }\n\n pub fn assert_empty(self) {\n assert_eq(self.packed_returns, 0);\n }\n\n pub fn raw(self) -> Field {\n self.packed_returns\n }\n\n pub fn unpack<N>(self) -> [Field; N] {\n let unpacked: [Field; N] = returns::unpack_returns(self.packed_returns);\n assert_eq(self.packed_returns, hash_args_array(unpacked));\n unpacked\n }\n\n pub fn unpack_into<T, N>(self) -> T where T: Deserialize<N> {\n let unpacked: [Field; N] = self.unpack();\n Deserialize::deserialize(unpacked)\n }\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle_private<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T,\n _counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, event_selector, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nfn emit_contract_class_unencrypted_log_private<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, event_selector, message, counter)\n}\n\n" }, "99": { "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\n},\n traits::Hash, hash::{pedersen_hash, silo_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n event_selector: Field,\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 event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + 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\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\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..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n" } } }
1
+ { "transpiled": true, "noir_version": "0.30.0+c363d6fb324a83b35cf5aa1bfd39f62b9198f0b6", "name": "ContractClassRegisterer", "functions": [{ "name": "register", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_hash": [{ "end": 40, "start": 39 }], "inputs": [{ "end": 39, "start": 0 }], "private_functions_root": [{ "end": 41, "start": 40 }], "public_bytecode_commitment": [{ "end": 42, "start": 41 }] }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": 32, "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": 32, "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" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "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": "new_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": "new_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": "hash", "type": { "kind": "field" } }, { "name": "caller_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": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" }, "return_witnesses": [20051, 20052, 20053, 20054, 20055, 20056, 20057, 20058, 20059, 20060, 20061, 20062, 20063, 20064, 20065, 20066, 20067, 20068, 20069, 20070, 20071, 20072, 20073, 20074, 20075, 20076, 20077, 20078, 20079, 20080, 20081, 20082, 20083, 20084, 20085, 20086, 20087, 20088, 20089, 20090, 20091, 20092, 20093, 20094, 20095, 20096, 20097, 20098, 20099, 20100, 20101, 20102, 20103, 20104, 20105, 20106, 20107, 20108, 20109, 20110, 20111, 20112, 20113, 20114, 20115, 20116, 20117, 20118, 20119, 20120, 20121, 20122, 20123, 20124, 20125, 20126, 20127, 20128, 20129, 20130, 20131, 20132, 20133, 20134, 20135, 20136, 20137, 20138, 20139, 20140, 20141, 20142, 20143, 20144, 20145, 20146, 20147, 20148, 20149, 20150, 20151, 20152, 20153, 20154, 20155, 20156, 20157, 20158, 20159, 20160, 20161, 20162, 20163, 20164, 20165, 20166, 20167, 20168, 20169, 20170, 20171, 20172, 20173, 20174, 20175, 20176, 20177, 20178, 20179, 20180, 20181, 20182, 20183, 20184, 20185, 20186, 20187, 20188, 20189, 20190, 20191, 20192, 20193, 20194, 20195, 20196, 20197, 20198, 20199, 20200, 20201, 20202, 20203, 20204, 20205, 20206, 20207, 20208, 20209, 20210, 20211, 20212, 20213, 20214, 20215, 20216, 20217, 20218, 20219, 20220, 20221, 20222, 20223, 20224, 20225, 20226, 20227, 20228, 20229, 20230, 20231, 20232, 20233, 20234, 20235, 20236, 20237, 20238, 20239, 20240, 20241, 20242, 20243, 20244, 20245, 20246, 20247, 20248, 20249, 20250, 20251, 20252, 20253, 20254, 20255, 20256, 20257, 20258, 20259, 20260, 20261, 20262, 20263, 20264, 20265, 20266, 20267, 20268, 20269, 20270, 20271, 20272, 20273, 20274, 20275, 20276, 20277, 20278, 20279, 20280, 20281, 20282, 20283, 20284, 20285, 20286, 20287, 20288, 20289, 20290, 20291, 20292, 20293, 20294, 20295, 20296, 20297, 20298, 20299, 20300, 20301, 20302, 20303, 20304, 20305, 20306, 20307, 20308, 20309, 20310, 20311, 20312, 20313, 20314, 20315, 20316, 20317, 20318, 20319, 20320, 20321, 20322, 20323, 20324, 20325, 20326, 20327, 20328, 20329, 20330, 20331, 20332, 20333, 20334, 20335, 20336, 20337, 20338, 20339, 20340, 20341, 20342, 20343, 20344, 20345, 20346, 20347, 20348, 20349, 20350, 20351, 20352, 20353, 20354, 20355, 20356, 20357, 20358, 20359, 20360, 20361, 20362, 20363, 20364, 20365, 20366, 20367, 20368, 20369, 20370, 20371, 20372, 20373, 20374, 20375, 20376, 20377, 20378, 20379, 20380, 20381, 20382, 20383, 20384, 20385, 20386, 20387, 20388, 20389, 20390, 20391, 20392, 20393, 20394, 20395, 20396, 20397, 20398, 20399, 20400, 20401, 20402, 20403, 20404, 20405, 20406, 20407, 20408, 20409, 20410, 20411, 20412, 20413, 20414, 20415, 20416, 20417, 20418, 20419, 20420, 20421, 20422, 20423, 20424, 20425, 20426, 20427, 20428, 20429, 20430, 20431, 20432, 20433, 20434, 20435, 20436, 20437, 20438, 20439, 20440, 20441, 20442, 20443, 20444, 20445, 20446, 20447, 20448, 20449, 20450, 20451, 20452, 20453, 20454, 20455, 20456, 20457, 20458, 20459, 20460, 20461, 20462, 20463, 20464, 20465, 20466, 20467, 20468, 20469, 20470, 20471, 20472, 20473, 20474, 20475, 20476, 20477, 20478, 20479, 20480, 20481, 20482, 20483, 20484, 20485, 20486, 20487, 20488, 20489, 20490, 20491, 20492, 20493, 20494, 20495, 20496, 20497, 20498, 20499, 20500, 20501, 20502, 20503, 20504, 20505, 20506, 20507] }, "bytecode": "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", "debug_symbols": "1ZfrasJAEIXfZX+L7Nz24quUUlIvRZAoXgpFfPdubLJaXQiObbG/dM35ds7Es0OyN5Pp6+7tZV7PlhszetqbxXJcbefLOq32BuT422ZV1c1ys63WWzOyAzOtJ+nzMDCz+WJqRhjlMLjSYXCxlWKIkNVguaBmImrVzNb2qH2A0Kp9CHhygnx4Hhhw/9W4/0PjjDYbD/caD/cYZ4qSrdDJeKDj3vH39kZb2hvQ+ZYBDN8rNBAUIYrdHQIh6bEVGTsxOH8SJ4dNBSxWCLaLGgSHPRUcWW7VjpDOG78Wk8W8d/pOeHmf6NEMcdFQJOhOANrrP6440BDBZsj3dQGcEtE1zRjjnX24x7Pkf8ISIWdLnIbE5bkblkcGYTfCiONZEddRUUOVj3kvBSoKb6d4SMW+fJ5D/nzmgm8ptioKVBSqKFJRrKJERTkV5VVUUFGqbIgqG6LKhqiyIapsiCobosqGqLIhqmyIKhuiyoZTZcOpsuFU2XCqbLhyNlgyRSVKbqf8EIoOkUN+BpfAZ0/V8fCcVu/Vel69LqbNC1ZzcVePu/ettNx+rL6uJO0n" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "error_types": {}, "param_witnesses": { "contract_address": [{ "end": 1, "start": 0 }], "nonce": [{ "end": 2, "start": 1 }], "note_type_id": [{ "end": 4, "start": 3 }], "serialized_note": [], "storage_slot": [{ "end": 3, "start": 2 }] }, "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": "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" }, "return_witnesses": [4, 5, 6, 7] }, "bytecode": "H4sIAAAAAAAA/+2b227iMBCGE8ohNMshIYTzobQ3exdYCvSOl9l9671fad9htZ3UUwZrWjnqxIolLKFMjOP/m9+HppXre2+l9frxVdzQrrRgm7O6Zl8rW8G+sjI5fUc4a45w3gly+gwnXOsqhivM5aZ3Pc/fy1lwklBRCgUDc0fqPoK7eghKUwWBBnyWgD5lpybpnEJDCRU4BQhJIj6pw2drpA53kLvg0kVTPod9QMwT6/d1QMNL2u/cIYnxO9Cekrp6STk25HMsy7t8VaI/DdVvi9yjV20VC+6wW6rtq0+baHpqjDCekLbYDv2okTGG0vEu49/+5Lm69lyXtGky+Z892fxbGk9LY24oJigR8Gp7QEljk0G/9/L9Xo15XRuTe5JTR9zv3Qn2hNC7LvpPmTOJO4TnmzhPti0nz7ex6xJ2mX6f9+BVT/Mq1LzqkjaUoVeCfz7Rxb7xvsdoy3lxOIF238CLPsPTt+xFn9EW9OIFtCMDLyKGJ7LsRcRoy3lx/AHasYEXMcMTW/YiZrTlvNjl7xYDAy8GDM/AshcDRltwjeTzIjHwImF4EsteJIy2oBe/QHto4MWQ4Rla9mLIaAt68RO0UwMvUoYntexFymgL7p35+8XIwIsRwzOy7MWI0Rb0YgfaYwMvxgzP2LIXY0ZbcI3k2hMDLyYMz8SyF/R31CLMAweZUweZ4wowB1oso33I98+pgRdThmdq2QvUK8qcVIA50GIZ7cMzaM8MvJgxPDPLXqBeUebIQebYQeahg8yJg8ypg8xVmM+BFstoH/M9dG7gxZzhmVv2AvWKMkcOMk8dZI4rwBxosYz2Mf/b3MLAiwXDs7DsBeoVZR45yNyvAHOgxTLaxwNoLw28WDI8S8teoF5R5rGDzKmDzFMHmWMHmYcOMicOMt/WoB3mqALM9EzT31J5di+hxoOeeRqjpzGGJKbnYFbijFlGx2dFtNbyWltuvuD9ulTt3Qn63cjnlL/LP6q+8AzfhsnpScXS57keSb8+0cH6Oon/kLbYDv3AdYvsMO8eVPz0yXNL7bkuafPA5H/2ZPPfaDwbjRnG5DfhWItz7E4m87rvXdbyd8JTwj64p2dysZjsOyXtMduS8szoGb5/nuyaXmteBZpXXdKG7tHrEvwzmV835hvzR8z0fSIgdfj9itTVtFzo/zJgezgz/B/4fzqFFjUAAA==", "debug_symbols": "ndpBattQGIXRvWgciu8vvScpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/3l7ftse7y/Ol+37ZXgcKw/D7vhyf+qfD8Pr/rAbHmttn98e7qNZRouMVhiNGxlFRiWjUUaTjJqMpIhRihiliFGKmKSISYqYpIhJipikiEmKmKSISYqYpIhJimhSRJMimhTRpIgmRTQpokkRTYpoUkSTIroU0aWILkV0KaJLEV2K6FJElyK6FNGliFmKmKWIWYqYpYhZipiliFmKmKWIWYqYpYhFilikiEWKWKSIRYpYpIhFilikiEWKWKSIVYpYpYhVililiFWKWKWIVYpYpYhVililiGw2tAqtilYjrSZaNVp1Ws20WmhFbYTaCLURaiPURqiNUBuhNkJthNoItVHURlEbRW0UtVHURlEbxJkhzwyBZkg0Q6QZMs0QaoZUM8SaIdcMwWZINkO0GbLNEG6GdDPEmyHfDAFnSDhDxBkyzhByhpQzxJwh5wxBZ0g6Q9QZss4Qdoa0M8SdIe8MgWdIPEPkGTLPEHqG1DPEniH3DMFnSD5D9BmyzxB+hvQzxJ8h/wwBaEhAQwQaMtAQgoYUNMSgIQcNQWhIQkMUGrLQEIaGNDTEoSEPDYFoSERDJBoy0RCKhlQ0xKIhFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLbvmafc87aInuWiRixa5aJGLFrlo/beL3k4/t+/77dNhd7/Ze//4cXz+d9H3drz8evv75fbvbw==" }, { "name": "broadcast_private_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_function_tree_leaf_index": [{ "end": 54, "start": 53 }], "artifact_function_tree_sibling_path": [{ "end": 53, "start": 48 }], "artifact_metadata_hash": [{ "end": 41, "start": 40 }], "contract_class_id": [{ "end": 40, "start": 39 }], "function_data": [{ "end": 3057, "start": 54 }], "inputs": [{ "end": 39, "start": 0 }], "private_function_tree_leaf_index": [{ "end": 48, "start": 47 }], "private_function_tree_sibling_path": [{ "end": 47, "start": 42 }], "unconstrained_functions_artifact_tree_root": [{ "end": 42, "start": 41 }] }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction" }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": 32, "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": 32, "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" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "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": "new_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": "new_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": "hash", "type": { "kind": "field" } }, { "name": "caller_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": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" }, "return_witnesses": [3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567] }, "bytecode": "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", "debug_symbols": "1ZrtauJAFIbvZX5LmTlfM+OtLGVJW7sIEku1C4t47xu7JnXbAemxLX1/mTHnjU/w1SdKduFucfP06+eyv19vwvzHLqzWt912ue6H1S4ke35u89D1h+Vm2z1uwzzOwqK/Gx73s3C/XC3CnKruZ2/mqFg9jlKpaZpOURrTXGs6TkvUcmY6l1SO07kUeiEh2V/PQsqo4AUVvIKCU0QFT6jghArOqOCCCq6o4KjmJFRzEqo5CdWcjGpORjUno5qTUc3JqOZkVHMyqjkZ1ZyMak5GNaegmlNQzSmo5hRUcwqqOQXVnIJqTkE1p6CaU1DNqajmVFRzKqo5FdWcimpORTWnoppTUc2pqOZUVHMaqjkN1ZyGak77QnMKM4/gEuOF4IIK/oXmFKE4gZdLwS8yp3DVCYVfwAs/Hzt/4rGb/mFKdMywxfTfKxxCze9+tpSmUOYzWEmojKcwbNd6Ctb4XEeKY82GbaZX55Hj90NKH4HEJBOSDF17/fZdtf80yJantp6UNeUxVVyp6km1f6ueTSVXilwpdqXElVJXylwpVzfU1Q11dcNc3TBXN8zVDXN1w1zdMFc3zNUNc3XDXN0wVzeyqxvZ1Y3c7obolOJWit+dyukqNVMkZbp40SInlyN1fz2sfnePy+5mtTjckHzY+dTfjvcnD8vtn4d/e4bZvw==" }, { "name": "broadcast_unconstrained_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_function_tree_leaf_index": [{ "end": 48, "start": 47 }], "artifact_function_tree_sibling_path": [{ "end": 47, "start": 42 }], "artifact_metadata_hash": [{ "end": 41, "start": 40 }], "contract_class_id": [{ "end": 40, "start": 39 }], "function_data": [{ "end": 3050, "start": 48 }], "inputs": [{ "end": 39, "start": 0 }], "private_functions_artifact_tree_root": [{ "end": 42, "start": 41 }] }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction" }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": 32, "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": 32, "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" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "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": "new_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": "new_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": "hash", "type": { "kind": "field" } }, { "name": "caller_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": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_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": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "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" }, "return_witnesses": [3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 3560] }, "bytecode": "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", "debug_symbols": "1ZrRbuIwEEX/xc+osj0zHptfWVWrtKUrJBSqQldaIf59TZe4bGsJdWir3idi4puckBuOH7Jzd4ubp18/l+P9euPmP3Zutb4dtsv1WEc7F9Lzd5uHYTwMN9vhcevmfuYW41393M/c/XK1cPNYZD97My/mVI5TYy6hzQ6eO7OplHCczV7ymdmaQz7O1pzjC0nk/fXMBUUFz6jgBRQ8elTwgAoeUcEJFZxRwQUVHNWcEdWcEdWcEdWchGpOQjUnoZqTUM1JqOYkVHMSqjkJ1ZyEak5CNSejmpNRzcmo5mRUczKqORnVnIxqTkY1J6Oak1HNKajmFFRzCqo5BdWcgmpOQTWnoJpTUM0pqOYUVHMmVHMmVHMmVHOmLzQnE9EEzt5fCM6o4F9oTuboG3i+FPwiczIVaSj0Ap7p+dj6icfu+qfeyPYUqch/ZziEuv/9rKmdKEc9gxU45ukS6nYpp2Cd59pHP9WsblN8dR3qvx9S+AgkityQuHbt9e276i/vNWlr60lZg04pNqXElEqmlJpS2ZQqllR/JXE2FUypaEqZupFM3UimbiRTN5KpG8nUjWTqhpq6oaZuqKkbauqGmrqhpm6oqRtq6ob2u8HSUtRLlXenNFyF7i8fObfFi2Q+WY6U/XUd/R4el8PNanF4Ifmw82m8nd5PrsPtn4d/e+rcvw==" }], "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" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction" } }], "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" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_abi" }] } }, "file_map": { "104": { "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\n},\n traits::Hash, hash::{pedersen_hash, silo_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n event_selector: Field,\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 event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + 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\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\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..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n" }, "109": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr", "source": "use dep::protocol_types::{address::AztecAddress, grumpkin_point::GrumpkinPoint};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nfn emit_encrypted_note_log_oracle<M>(\n _note_hash_counter: u32,\n _encrypted_note: [u8; M],\n _counter: u32\n) {}\n\nunconstrained pub fn emit_encrypted_note_log<M>(\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(emitEncryptedLog)]\nfn emit_encrypted_log_oracle<M>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _encrypted_note: [u8; M],\n _counter: u32\n) {}\n\nunconstrained pub fn emit_encrypted_log<M>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_log_oracle(contract_address, randomness, encrypted_note, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedLog)]\nfn compute_encrypted_log_oracle<N, M>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: GrumpkinPoint,\n _ivpk_m: GrumpkinPoint,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_log<N, M>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle_private<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T,\n _counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, event_selector, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nfn emit_contract_class_unencrypted_log_private<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, event_selector, message, counter)\n}\n" }, "217": { "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)]\nfn debug_log_oracle<M, N>(_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<M, N>(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<N>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n" }, "224": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr", "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::log_hash::LogHash;\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::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};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index 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 pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_encrypted_log(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_unencrypted_log(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly. \npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n" }, "231": { "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 = dep::std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n" }, "295": { "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_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize\n };\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction}\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_new_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 context.emit_contract_class_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: PrivateFunction\n ) {\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_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 context.emit_contract_class_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: UnconstrainedFunction\n ) {\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_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 context.emit_contract_class_unencrypted_log(event.serialize());\n }\n}\n" }, "296": { "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)]\nfn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule" }, "83": { "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,\n hash::{hash_args_array, ArgsHasher, compute_unencrypted_log_hash},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n note::{note_interface::NoteInterface, utils::compute_note_hash_for_insertion},\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::{\n emit_encrypted_log, emit_encrypted_note_log, compute_encrypted_log,\n emit_contract_class_unencrypted_log_private_internal, emit_unencrypted_log_private_internal\n},\n logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n hash::sha256_to_field,\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_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 contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, grumpkin_point::GrumpkinPoint, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{is_empty, Empty},\n utils::arrays::find_index\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 new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n 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 new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_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_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_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 new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n 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.new_l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // call oracle\n let _void = emit_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\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 pub fn emit_contract_class_unencrypted_log<N>(&mut self, log: [Field; N]) {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n }\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 encrypt_and_emit_log<N, M>(\n &mut self,\n contract_address: AztecAddress,\n randomness: Field, // Secret random value used later for masked_contract_address\n event_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n ) where [Field; N]: LensForEncryptedLog<N, M> {\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n\n // We are currently just encrypting it EXACTLY the same way as if it was a note.\n let counter = self.next_counter();\n let encrypted_log: [u8; M] = compute_encrypted_log(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n emit_encrypted_log(contract_address, randomness, encrypted_log, counter);\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn encrypt_and_emit_note<Note, N, NB, M>(\n &mut self,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n note: Note\n ) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_hash_counter = note.get_header().note_hash_counter;\n let note_exists_index = find_index(\n self.new_note_hashes.storage,\n |n: NoteHash| n.counter == note_hash_counter\n );\n assert(\n note_exists_index != MAX_NEW_NOTE_HASHES_PER_CALL, \"Can only emit a note log for an existing note.\"\n );\n let preimage = note.serialize_content();\n let counter = self.next_counter();\n\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n\n // TODO(#1139 | #6408): perform encryption in the circuit\n let encrypted_log: [u8; M] = compute_encrypted_log(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n emit_encrypted_note_log(note_hash_counter, encrypted_log, counter);\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (64 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (176 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding) \n // len of processed log (4 bytes)\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n\n let log_hash = sha256_to_field(encrypted_log);\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\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, start_side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest { hash: item.hash(), caller_context, start_side_effect_counter, end_side_effect_counter }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_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" } } }