@aztec/protocol-contracts 0.46.6 → 0.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/AuthRegistry.json +1 -1
- package/artifacts/ContractClassRegisterer.json +1 -1
- package/artifacts/ContractInstanceDeployer.json +1 -1
- package/artifacts/GasToken.json +1 -1
- package/artifacts/KeyRegistry.json +1 -1
- package/artifacts/MultiCallEntrypoint.json +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"transpiled":true,"noir_version":"0.31.0+8403e849dff51c99a38ae15a4c39a40edc558214","name":"ContractClassRegisterer","functions":[{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"artifact_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_root","type":{"kind":"field"},"visibility":"private"},{"name":"public_bytecode_commitment","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"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":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"1ZfdbsIwDIXfJdcIxXbsJLzKhKbyNyGhgviZNCHefS1rSscyVZhtYleQ9nzJSX0ctUczm08OL8/LcrHemdHT0azW02K/XJfV6GjAna/tNkVZD3f7Yrs3Izsw83JW/Z4GZrFczc2ILJ0GX3QoEBspioNWDZhTk3fYqCnY2KOOLvhGHdlJq0aHp/HAAP9X4/J3xh14aNQOCe407u8xTgFt+wz5Mnnk89zhF+eOubmBo2sYEOs/rVBBaLOQR05QEOyxFdvUAHTEyPa8AuRWQKC0FYTAPStwtKm+HNF2N56JDpNN9a3+0/VzQnw0Q5Q1hOxaqM7xVeGyB1o9fds2Fnp2IZcmk26TfdOSfdvgh3MkP+FIJDnybK/LAHGY72lyaRGSbvFcoqKGyrdrLwUqCm+mkIaU3ZcPqV187By4FBrKWRUFKgpVFKkop6JYRYmK8ioqqChVNliVDVZlg1XZYFU2WJUNVmWDVdlgVTZYlQ1WZUNU2RBVNkSVDVFlQ/LZ4NhSPkfx7ZQMIX/OAySLBNF2XqnlNK5Gr8V2WUxW8/rrqr55KKfpY6sa7t82H3cq7Ts="},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b3U7bQBCF18GhBoOb2HGckEAIBaTehRSScMfLtM/d60p9haqss6Mclmm0UcdLVool5LG9O+ebsz+EyERqfSSvP5GJ2+Z8rN4f1ObFnGf/dzwI5po1yRkFwtkKhPMoEM5YkDNiOPU5NrFed3rNfVLr9fjuIXbWA30Ez9W2RLZqYgJ8eC1V6Wr2fAzJEVwZ8Ng8o7PGSc0zBEtNkXUbuEeFtuAe6RzBPdrBSCcxpgjX+5RskOXyvs4+XcOJyUXcKcT4bAzWxQ3V2Jav8bGRMXn1rqExqVcx+d42uRO4pjE4NbHgb44H1I7Mz6k1F2KIR9CW2pEfLWDVx7narJfTLf1iq18GbY6hn7230DWNtfaqa2J9btOeAPkb8HCm86byed+MTWx5l0JNGXgioz1f6fxn6u0RWdfXEGfAcy7Os1578nWux+4zsMvkfXrUXnUsr84srzJogwydBvyLQJdy03WH0ZbzYrHS2l0HL7oMT9ezF11GW9CLZ62dO3iRMzy5Zy9yRlvOi+U3rV04eFEwPIVnLwpGW86Lef0ZoOfgRY/h6Xn2osdoC66Rel6UDl6UDE/p2YuS0Rb04ofW7jt40Wd4+p696DPagl5819qVgxcVw1N59qJitAX3zvrzxcDBiwHDM/DsxYDRFvRirrWHDl4MGZ6hZy+GjLbgGqm1Lxy8uGB4Ljx7QXq7MvcCZK4CZC72gDmxYhntRb1/jhy8GDE8I89e4HcuuzCXe8CcWLGM9uJJa48dvBgzPGPPXpDersx5gMxFgMz9AJnLAJmrAJn3YT4nViyjvaz30EsHLy4ZnkvPXpDersx5gMyjAJmLPWBOrFhGe1l/N3fl4MUVw3Pl2QvS25V5ECBzdw+YEyuW0V4utPbEwYsJwzPx7AXp7co8DJC5CpB5FCBzESBzP0DmMkDmwxr0w5zvATO+e/S7UZ75c2rxkGfKYlQWYwpxBozU9kXJva+SWbWT1lTcj/X42POFrqeNas9XOu+XBmrSeW/l89Z/I9yZXPQO3y3j1b2JI+FxuoO8EejQ/RjiX9CW2pEftB8Qu36X68bE91v6Tax+GbS5gX63Vj+6prHW3v00cVNzy2Ved9RmLX8Fngb2wUd8J1eBV8pipGMCPNfyPA8N1TnDd/j+KNm1N7W8OrG8yqAN7tEftW8emA/M/2LGzxMncA956F7LqgX/v2EKOf4CARQXTpY1AAA=","debug_symbols":"ndpBattQGIXRvWgciu9v6T0pWymlOIlTDMYOsVMoJnuv3NIF9Mz0JN3ZNzq82/Cyf/r48f1wej1fhsevt+F4ft5dD+fTeroNmy81/3l7edud7i8u1937dXjctv4w7E8v61Ovz4fh9XDcr8+b7ee3h/togdF2I6PIqGS0ldEoo0lGTUZdRlLEVooYpYhRihiliFGKGKWIUYoYpYhRihiliFGKmKSISYqYpIhJipikiEmKmKSISYqYpIhJimhSRJMimhTRpIgmRTQpokkRTYpoUkSTIroU0aWILkV0KaJLEV2K6FJElyK6FNGliFmKmKWIWYqYpYhZipiliFmKmKWIWYqYpYhFilikiEWKWKSIRYpYpIhFilikiEWKWKSIbDa0Cq2KVltajbSaaNVo1Wk104raCLURaiPURqiNUBuhNkJthNoItRFqo6iNojaK2ihqo6iNojaK2ihqg0AzJJoh0gyZZgg1Q6oZYs2Qa4ZgMySbIdoM2WYIN0O6GeLNkG+GgDMknCHiDBlnCDlDyhlizpBzhqAzJJ0h6gxZZwg7Q9oZ4s6Qd4bAMySeIfIMmWcIPUPqGWLPkHuG4DMknyH6DNlnCD9D+hniz5B/hgA0JKAhAg0ZaAhBQwoaYtCQg4YgNCShIQoNWWgIQ0MaGuLQkIeGQDQkoiESDZloCEVDKhpi0ZCLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRi5Zd9CQXLXLRIhctctEiFy1y0SIXrf920fX0c/d+2D0d9/e7vfePH6fnf1d91+P119vfL+u/vwE="},{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"private_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"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":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"1Zdhb4IwEIb/Sz8T095dr61/ZTELKi4kBo3iksXw3wcbRRa6GM9tmZ+08D7H0T4lcFbrYnl6eS6rze6o5k9ntd2t8rrcVe3orIz9OHbc51U3PNb5oVZznamiWre/TaY25bZQc9TYZJMcsAl9FJjMkDaQSqMj6NPodbiSDuRdnw6WeEgDQbPIlOFHbdw9auP+7xon40yfJkBzZ+PhnsbRgx7m0F6KB9vVBv2LtU2qNgLEqUFA+nKFDoIk5J0f5pPdBMIURODitBKSvXIvfFlgHi/wNzpY1LF4+x8n907/riP7Ex0xx46c1ZNlMLP0JkPCuOSMI4oiFSRU2t2rlBFRcDsFM0o+K52PG8CF0WZHHykvooKEslpEGREFIgpFFIkoK6JYRIncsCI3rMgNFrnBIjdY5AaL3GCRGyxyg0VusMgNFrnBIjecyA0ncsOl3bBhoFyKwtspOzPp57wxwzuLCXr0OsfNoh295ocyX26L7pOkO3mqVvELpR3Wb/vPM232HQ=="},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"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":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"1ZZhb4IwEIb/Sz8T0+u1d61/ZTELKi4kBo3iksXw3weOIgtdjOe2bJ+g8D7HlT6QntW6WJ5enstqszuq+dNZbXervC53VTs6K3CXa8d9XnXDY50fajXXmSqqdXtsMrUpt4Wao8Ymm+QMQeijhiwMaTCpNLI1fRq9DjfSwXru08FZGtLGmmaRKaD/2jj/XuMWGPq0NQgPNu4faRy90cM7dNfiwV1qh5+rbXSqtvUuvsh22ubTEzoIUpBry/eQYwwTyCQhtvFJzgPfmAtdF5jGC/yFDg51XLP2HCdzxz/Xkf2OjohiR+z0ZBn0LO0qWoyaEI4oG6kgodJ+3aRARJn7KZi5pAXs47+Bw+hjRx8pK6KciCIRxSLKi6ggoUiLKBBRRkSJ3CCRGyRyg0RukMgNErlBIjdY5AaL3GCRGyxyg0VusMgNFrnBIjc47cawjeDAKSrcT9kZpP/zALFFhKBH2zlqFu3oNT+U+XJbdDv77uapWsWNfjus3/Yfd9rsOw=="}],"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":"private_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"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":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"private_function_tree_leaf_index","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_abi"}]}},"file_map":{"123":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"126":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<M>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\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(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<M>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _encrypted_event: [u8; M],\n _counter: u32\n) {}\n\nunconstrained pub fn emit_encrypted_event_log<M>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<N, M>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<N, M>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<N, M>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<N, M>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<N>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<N>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"238":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<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"},"242":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"250":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr","source":"use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"303":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr","source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,\n MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize, abis::log_hash::LogHash\n };\n\n use dep::aztec::{context::PrivateContext, oracle::logs::emit_contract_class_unencrypted_log_private_internal};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction, InnerPrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction, InnerUnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerPrivateFunction\n ) {\n let private_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS] = pop_capsule();\n\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: PrivateFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n vk_hash: function_data.vk_hash,\n bytecode: private_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerUnconstrainedFunction\n ) {\n let unconstrained_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS] = pop_capsule();\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: UnconstrainedFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n bytecode: unconstrained_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n #[contract_library_method]\n pub fn emit_contract_class_unencrypted_log<N>(context: &mut PrivateContext, log: [Field; N]) {\n let contract_address = context.this_address();\n let counter = context.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, log, counter);\n // 40 = addr (32) + raw log len (4) + processed log len (4)\n let len = 40 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n context.unencrypted_logs_hashes.push(side_effect);\n }\n}\n"},"304":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr","source":"// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nunconstrained fn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule"},"95":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<M>(&mut self, randomness: Field, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<M>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"}}}
|
|
1
|
+
{"transpiled":true,"noir_version":"0.32.0+92ff2fa2e944722e5c3fa43fb3363f093b8f1d12","name":"ContractClassRegisterer","functions":[{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"private_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"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":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5ZftasIwFIbvJb9FkvOVxFsZY1StoyBVtA6GeO9rt6bqDIhnmwz8JbHvk+Y0T0/bvZmX093rS1UvVlszedqb5WpWNNWqbkd74/jzv+26qLvhtik2jZnYkSnreft7GJlFtSzNBG08jC5yIOj7KAjHIe3AZ9LofejTGIivpCNb7tORhYY0UMimpQ87a0/C/vA8Mk4eoUj/CEWG+xVJYFOaQPwdi4w/KRID2GFvWIZ0jN3cYP9wbpebGwFcYgDp7AwdBFkoDIKdXfsEYQ4i8MOG4YmV+VpEXOzTIuSuqcNElNxh8vi9dvp3K+LfWJEkT8WzvdgGN87fkEiYtlyO60JnExU1VN7dq5RTUXA7BWPK9uAwdIb29jlpDJSooKKihmKropyKAhWFKopUFKsoUVEqN1jlBqvcEJUbonJDVG6Iyg1RuSEqN0TlhqjcEJUbonLDq9zwKjd81g0fcKBcjsLbKR67fJ/HkJ7ESBKOr37Ydvp29FZsqmK6LLtPqO7grp6lL6p22Lyvv4602Q8="},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b0W7aMBSGHRq6tGlTSAiBQgt0baXdpazt6N1eZnvuXU/aOwwHH/HXdZDRjmcsEQnFie3zf/6PbdIqRGJzJOtPpMpddT4VHw9q812d6387nhhj1S45o0A4O4FwngTCGTNyRgZOeY5VWa47ueY+ic16/FCJnWWiT6Be7AqkqyaqkGh1bKNd1W+nIIDwQsHHqo7Okfqkqh4BUzXYph3cowF34B5pncA92slIK1HmOBj3S7LF5o29no1yLGcqFvGnUMa6KVgYOxxr181Yn53laO2jwxw1q5zy0FWxE7imnJyDPuO3yxPqU+xzbX7EUJ5AW2pHbTrAK49LsV1L5zv6xVq/DNqcQr9E60fXlHfpV1+V5bmbbNtSfEc+1jJ26ib2uxzFmocpjC0Dfb45ulxJjQvx/oi0a/xiyYDp0gnTZk26Ge8ml1cQm+8p6eVZxutpvl1ovmXQ5gq87DnyMgJtYqLrXos+nyevKxmvb+FJ38DU9+BJv0Wf0ZM3GS+38CQ3MOUePMlb9Pk8+fZVxissPCkMTIUHT4oWfT5Pls3zw8DCk4GBaeDBk0GLPuPaaeZJaeFJaWAqPXhStugzevJTxhtaeDI0MA09eDJs0Wf05IeMV1l4UhmYKg+eVC36jHts83wysvBkZGAaefBk1KLP6MlSxhtbeDI2MI09eDJu0WdcO43+tYUn1wamaw+eoOY+3INAuatAuYsD4db1GddOs8dOLDyZGJgmHjxBzX24ywPh1vUZc/ki400tPJkamKYePEHNfbjzQLmLQLmHgXKXgXJXgXIfyvzW9Rmfv5s99sbCkxsD040HT1BzH+48UO5JoNzFgXDr+oxrp/n/4K2FJ7cGplsPnqDmPtyjQLn7B8Kt6zPOwVcZb2bhyczANPPgCWruwz0OlLsKlHsSKHcRKPcwUO4yUO7juvy/3PmBcMt79L7PH+dMy7dUYyINoXEKjTOFcgacc4jRZeOsa8zVHPQWTnzZ5EqfP3S9cK6/XMnYnx2NTca+dxO7+ZvjQcWidxrvDb49gn7EnLcHLTZpPUAuqfwb2lI7akP7BfHL99nuVPlxR7+Z1i+DNnfQ717rR9eUd+nfL1V2Odds5npPbNf5F2BytFc+4/vLAjSExknHDJjmbpieHI63xncaheBdjwvNszPNswza4F7uc289ch+5bbjxOeQM7lH9HO51tPHgb0UWEOMv7Ab1lOo2AAA=","debug_symbols":"ndpBattQGIXRvWgciu9v6T0pWymlOIlTDMYOsVMoJnuv3NIF9Mz0JN3ZNzq82/Cyf/r48f1wej1fhsevt+F4ft5dD+fTeroNmy81/3l7edud7i8u1937dXjctv4w7E8v61Ovz4fh9XDcr8+b5fPbw320wGi7kVFkVDLaymiU0SSjJqMuIyliK0WMUsQoRYxSxChFjFLEKEWMUsQoRYxSxChFTFLEJEVMUsQkRUxSxCRFTFLEJEVMUsQkRTQpokkRTYpoUkSTIpoU0aSIJkU0KaJJEV2K6FJElyK6FNGliC5FdCmiSxFdiuhSxCxFzFLELEXMUsQsRcxSxCxFzFLELEXMUsQiRSxSxCJFLFLEIkUsUsQiRSxSxCJFLFJENhtahVZFqy2tRlpNtGq06rSaaUVthNoItRFqI9RGqI1QG6E2Qm2E2gi1UdRGURtFbRS1UdRGURtFbRS1QaAZEs0QaYZMM4SaIdUMsWbINUOwGZLNEG2GbDOEmyHdDPFmyDdDwBkSzhBxhowzhJwh5QwxZ8g5Q9AZks4QdYasM4SdIe0McWfIO0PgGRLPEHmGzDOEniH1DLFnyD1D8BmSzxB9huwzhJ8h/QzxZ8g/QwAaEtAQgYYMNISgIQUNMWjIQUMQGpLQEIWGLDSEoSENDXFoyENDIBoS0RCJhkw0hKIhFQ2xaMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRcsuepKLFrlokYsWuWiRixa5aJGL1n+76Hr6uXs/7J6O+/vd3vvHj9Pzv6u+6/H66+3vl/Xf3w=="},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"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":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5ZftasIwFIbvJb+L5ON8JN7KGKNqHQWponUwxHtf6prqZqB4tsnAXyXt+6Q5zdO0OahFNdu/vtTNcr1T06eDWq3nZVuvm9g6KIOnc7tN2XTNXVtuWzXVhaqaRTweC7WsV5WaOh2OxVXOkuM+agnDkDaWM2nH7Pu084Aj6YAa+3RAgiFtwWfT1IeN1hdhPj4XytAjFMn3KxKsTmmwxHcs0v+kSOetHuYGaUiHcOo7/F3fVuf6Bo8hPUbP9ssdOsjkIIzd9xCyC1eQzUIM6U7oDY/UQmRSmgjMmDoIAMkdBHbfa3f/bkTwGyOi5Ckx6qtp0JO8qw5c0oTO43JGJypIqLxfo5QRUfZ2ykwwa4EfVob4+lwsDJAoEFEookhEsYjyIipIKNIiyogoK6JEbpDIDRK5QSI3SOQGidwgkRsscoNFbrDIDRa5wSI3WOQGi9xgkRucdYO9GyiTo8LtFExMfp13Pn0lHZA///q5uNLH1lu5rcvZqup2F93FfTNPm43YbN83n1di9gM="},{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"artifact_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_root","type":{"kind":"field"},"visibility":"private"},{"name":"public_bytecode_commitment","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"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":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"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":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5ZfvTsIwFMXfpZ8J6f3bllcxxkxFQ0KGETQxhHe36DonNFm4KiHxE5SdX3fP7WnZtu5+fvvyeLNoH1ZrN7vauuXqrtksVm0ebR3wx2/rp6bdD9eb5nnjZn7i5u19/txN3MNiOXcz8mk3OdKhUuikqJJ6NWCoqCmE2Kkpsoyok3jp1EmUezVyrKq1E4P3A3HYXU8cyH8wqeczyeiLmlHDGU2Gn5ikiL5fG9FendLH3PEP5061uUESF6/qw7c7ZAh9FQpYuglRcaSsxFjEMBDjvsLTWo9QqwaBim2EKCPVSPLQqSWhHzapEklhLu3J3wMd9BTx0gqiakFZ2kNIR4tcPYBRiPrt6GHEhSqkTq3KY+pRG3JxFelvVKQl3BrEHy4DpGl9/xOXm5AOFg98oZKFqm/tUQpMFJ5MIU2p6iv2J3kc7BZk7ij2JgpMFJooMlFsosREqYkKJiqaKFM2xJQNMWVDTNkQUzbElA0xZUNM2RBTNsSUDTFlQ03ZUFM21JQNNWVDq9kIkXoKapScTukU6uc8xfJPTKzx61Gd8kmfR6/N86K5Xc73b4P7iy/tXXk5zMPN29Pnlax9Bw=="}],"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":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"private_function_tree_leaf_index","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_abi"}]}},"file_map":{"127":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"130":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"244":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"248":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"256":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr","source":"use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"27":{"path":"std/hash/mod.nr","source":"mod poseidon;\nmod mimc;\nmod poseidon2;\nmod keccak;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\nuse crate::collections::vec::Vec;\nuse crate::embedded_curve_ops::{EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_slice};\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n __pedersen_hash_with_separator(input, separator)\n}\n\nfn pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let value = __pedersen_commitment_with_separator(input, separator);\n if (value[0] == 0) & (value[1] == 0) {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n } else {\n EmbeddedCurvePoint { x: value[0], y: value[1], is_infinite: false }\n }\n}\n\nfn pedersen_commitment_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n for i in 0..N {\n // we use the unsafe version because the multi_scalar_mul will constraint the scalars.\n points[i] = from_field_unsafe(input[i]);\n }\n let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n multi_scalar_mul(generators, points)\n}\n\nfn pedersen_hash_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: Vec<EmbeddedCurveScalar> = Vec::from_slice([EmbeddedCurveScalar { lo: 0, hi: 0 }; N].as_slice()); //Vec::new();\n\n for i in 0..N {\n scalars.set(i, from_field_unsafe(input[i]));\n }\n scalars.push(EmbeddedCurveScalar { lo: N as Field, hi: 0 });\n let domain_generators :[EmbeddedCurvePoint; N]= derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n let mut vec_generators = Vec::from_slice(domain_generators.as_slice());\n let length_generator : [EmbeddedCurvePoint; 1] = derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n vec_generators.push(length_generator[0]);\n multi_scalar_mul_slice(vec_generators.slice, scalars.slice)[0]\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n __pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\nfn __pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {}\n\n#[foreign(pedersen_commitment)]\nfn __pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\n#[field(bn254)]\nfn derive_generators<let N: u32, let M: u32>(domain_separator_bytes: [u8; M], starting_index: u32) -> [EmbeddedCurvePoint; N] {\n crate::assert_constant(domain_separator_bytes);\n crate::assert_constant(starting_index);\n __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n // Same as from_field but:\n // does not assert the limbs are 128 bits\n // does not assert the decomposition does not overflow the EmbeddedCurveScalar\n fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n let (xlo, xhi) = crate::field::bn254::decompose_hint(scalar);\n // Check that the decomposition is correct\n assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n// docs:start:keccak256\npub fn keccak256<let N: u32>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{\n crate::hash::keccak::keccak256(input, message_size)\n}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<let N: u32>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, let N: u32> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n assert_eq(\n pedersen_hash_with_separator([1], 1), 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1), EmbeddedCurvePoint {\n x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n is_infinite: false\n }\n );\n\n assert_eq(\n pedersen_hash_with_separator([1, 2], 2), 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2), EmbeddedCurvePoint {\n x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3], 3), 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3), EmbeddedCurvePoint {\n x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4], 4), 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4), EmbeddedCurvePoint {\n x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5], 5), 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5), EmbeddedCurvePoint {\n x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6), 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6), EmbeddedCurvePoint {\n x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7), 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7), EmbeddedCurvePoint {\n x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), EmbeddedCurvePoint {\n x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), EmbeddedCurvePoint {\n x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false\n }\n );\n}\n\n"},"309":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr","source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,\n MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize, abis::log_hash::LogHash\n };\n\n use dep::aztec::{context::PrivateContext, oracle::logs::emit_contract_class_unencrypted_log_private_internal};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction, InnerPrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction, InnerUnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerPrivateFunction\n ) {\n let private_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS] = pop_capsule();\n\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: PrivateFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n vk_hash: function_data.vk_hash,\n bytecode: private_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerUnconstrainedFunction\n ) {\n let unconstrained_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS] = pop_capsule();\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: UnconstrainedFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n bytecode: unconstrained_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n #[contract_library_method]\n pub fn emit_contract_class_unencrypted_log<N>(context: &mut PrivateContext, log: [Field; N]) {\n let contract_address = context.this_address();\n let counter = context.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, log, counter);\n // 40 = addr (32) + raw log len (4) + processed log len (4)\n let len = 40 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n context.unencrypted_logs_hashes.push(side_effect);\n }\n}\n"},"310":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr","source":"// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nunconstrained fn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule"},"99":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"}}}
|