@aztec/protocol-contracts 0.42.0 → 0.43.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/dest/artifacts/AuthRegistry.json +1 -0
- package/dest/artifacts/ContractClassRegisterer.json +1 -1
- package/dest/artifacts/ContractInstanceDeployer.json +1 -1
- package/dest/artifacts/GasToken.json +1 -1
- package/dest/artifacts/KeyRegistry.json +1 -1
- package/dest/artifacts/MultiCallEntrypoint.json +1 -1
- package/dest/auth-registry/artifact.d.ts +2 -0
- package/dest/auth-registry/artifact.d.ts.map +1 -0
- package/dest/auth-registry/artifact.js +4 -0
- package/dest/auth-registry/index.d.ts +7 -0
- package/dest/auth-registry/index.d.ts.map +1 -0
- package/dest/auth-registry/index.js +16 -0
- package/dest/class-registerer/index.d.ts +2 -3
- package/dest/class-registerer/index.d.ts.map +1 -1
- package/dest/class-registerer/index.js +7 -9
- package/dest/protocol_contract.d.ts +2 -2
- package/dest/protocol_contract.d.ts.map +1 -1
- package/dest/protocol_contract.js +1 -1
- package/package.json +4 -4
- package/src/artifacts/AuthRegistry.json +1 -0
- package/src/artifacts/ContractClassRegisterer.json +1 -1
- package/src/artifacts/ContractInstanceDeployer.json +1 -1
- package/src/artifacts/GasToken.json +1 -1
- package/src/artifacts/KeyRegistry.json +1 -1
- package/src/artifacts/MultiCallEntrypoint.json +1 -1
- package/src/auth-registry/artifact.ts +6 -0
- package/src/auth-registry/index.ts +22 -0
- package/src/class-registerer/index.ts +9 -11
- package/src/protocol_contract.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "transpiled": true, "noir_version": "0.30.0+c363d6fb324a83b35cf5aa1bfd39f62b9198f0b6", "name": "ContractClassRegisterer", "functions": [{ "name": "register", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_hash": [{ "end": 40, "start": 39 }], "inputs": [{ "end": 39, "start": 0 }], "private_functions_root": [{ "end": 41, "start": 40 }], "public_bytecode_commitment": [{ "end": 42, "start": 41 }] }, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs" }, "visibility": "private" }, { "name": "artifact_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_functions_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "public_bytecode_commitment", "type": { "kind": "field" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "is_fee_payer", "type": { "kind": "boolean" } }, { "name": "max_block_number", "type": { "fields": [{ "name": "_opt", "type": { "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "std::option::Option" } }], "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber" } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "key_validation_requests_and_generators", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "request", "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest" } }, { "name": "sk_app_generator", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash" } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::nullifier::Nullifier" } } }, { "name": "private_call_requests", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "hash", "type": { "kind": "field" } }, { "name": "caller_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "fields": [{ "name": "recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "content", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_encrypted_logs_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "note_hash_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::NoteLogHash" } } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "randomness", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::EncryptedLogHash" } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs" }, "visibility": "public" }, "return_witnesses": [20051, 20052, 20053, 20054, 20055, 20056, 20057, 20058, 20059, 20060, 20061, 20062, 20063, 20064, 20065, 20066, 20067, 20068, 20069, 20070, 20071, 20072, 20073, 20074, 20075, 20076, 20077, 20078, 20079, 20080, 20081, 20082, 20083, 20084, 20085, 20086, 20087, 20088, 20089, 20090, 20091, 20092, 20093, 20094, 20095, 20096, 20097, 20098, 20099, 20100, 20101, 20102, 20103, 20104, 20105, 20106, 20107, 20108, 20109, 20110, 20111, 20112, 20113, 20114, 20115, 20116, 20117, 20118, 20119, 20120, 20121, 20122, 20123, 20124, 20125, 20126, 20127, 20128, 20129, 20130, 20131, 20132, 20133, 20134, 20135, 20136, 20137, 20138, 20139, 20140, 20141, 20142, 20143, 20144, 20145, 20146, 20147, 20148, 20149, 20150, 20151, 20152, 20153, 20154, 20155, 20156, 20157, 20158, 20159, 20160, 20161, 20162, 20163, 20164, 20165, 20166, 20167, 20168, 20169, 20170, 20171, 20172, 20173, 20174, 20175, 20176, 20177, 20178, 20179, 20180, 20181, 20182, 20183, 20184, 20185, 20186, 20187, 20188, 20189, 20190, 20191, 20192, 20193, 20194, 20195, 20196, 20197, 20198, 20199, 20200, 20201, 20202, 20203, 20204, 20205, 20206, 20207, 20208, 20209, 20210, 20211, 20212, 20213, 20214, 20215, 20216, 20217, 20218, 20219, 20220, 20221, 20222, 20223, 20224, 20225, 20226, 20227, 20228, 20229, 20230, 20231, 20232, 20233, 20234, 20235, 20236, 20237, 20238, 20239, 20240, 20241, 20242, 20243, 20244, 20245, 20246, 20247, 20248, 20249, 20250, 20251, 20252, 20253, 20254, 20255, 20256, 20257, 20258, 20259, 20260, 20261, 20262, 20263, 20264, 20265, 20266, 20267, 20268, 20269, 20270, 20271, 20272, 20273, 20274, 20275, 20276, 20277, 20278, 20279, 20280, 20281, 20282, 20283, 20284, 20285, 20286, 20287, 20288, 20289, 20290, 20291, 20292, 20293, 20294, 20295, 20296, 20297, 20298, 20299, 20300, 20301, 20302, 20303, 20304, 20305, 20306, 20307, 20308, 20309, 20310, 20311, 20312, 20313, 20314, 20315, 20316, 20317, 20318, 20319, 20320, 20321, 20322, 20323, 20324, 20325, 20326, 20327, 20328, 20329, 20330, 20331, 20332, 20333, 20334, 20335, 20336, 20337, 20338, 20339, 20340, 20341, 20342, 20343, 20344, 20345, 20346, 20347, 20348, 20349, 20350, 20351, 20352, 20353, 20354, 20355, 20356, 20357, 20358, 20359, 20360, 20361, 20362, 20363, 20364, 20365, 20366, 20367, 20368, 20369, 20370, 20371, 20372, 20373, 20374, 20375, 20376, 20377, 20378, 20379, 20380, 20381, 20382, 20383, 20384, 20385, 20386, 20387, 20388, 20389, 20390, 20391, 20392, 20393, 20394, 20395, 20396, 20397, 20398, 20399, 20400, 20401, 20402, 20403, 20404, 20405, 20406, 20407, 20408, 20409, 20410, 20411, 20412, 20413, 20414, 20415, 20416, 20417, 20418, 20419, 20420, 20421, 20422, 20423, 20424, 20425, 20426, 20427, 20428, 20429, 20430, 20431, 20432, 20433, 20434, 20435, 20436, 20437, 20438, 20439, 20440, 20441, 20442, 20443, 20444, 20445, 20446, 20447, 20448, 20449, 20450, 20451, 20452, 20453, 20454, 20455, 20456, 20457, 20458, 20459, 20460, 20461, 20462, 20463, 20464, 20465, 20466, 20467, 20468, 20469, 20470, 20471, 20472, 20473, 20474, 20475, 20476, 20477, 20478, 20479, 20480, 20481, 20482, 20483, 20484, 20485, 20486, 20487, 20488, 20489, 20490, 20491, 20492, 20493, 20494, 20495, 20496, 20497, 20498, 20499, 20500, 20501, 20502, 20503, 20504, 20505, 20506, 20507] }, "bytecode": "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", "debug_symbols": "1ZfrasJAEIXfZX+L7Nz24quUUlIvRZAoXgpFfPdubLJaXQiObbG/dM35ds7Es0OyN5Pp6+7tZV7PlhszetqbxXJcbefLOq32BuT422ZV1c1ys63WWzOyAzOtJ+nzMDCz+WJqRhjlMLjSYXCxlWKIkNVguaBmImrVzNb2qH2A0Kp9CHhygnx4Hhhw/9W4/0PjjDYbD/caD/cYZ4qSrdDJeKDj3vH39kZb2hvQ+ZYBDN8rNBAUIYrdHQIh6bEVGTsxOH8SJ4dNBSxWCLaLGgSHPRUcWW7VjpDOG78Wk8W8d/pOeHmf6NEMcdFQJOhOANrrP6440BDBZsj3dQGcEtE1zRjjnX24x7Pkf8ISIWdLnIbE5bkblkcGYTfCiONZEddRUUOVj3kvBSoKb6d4SMW+fJ5D/nzmgm8ptioKVBSqKFJRrKJERTkV5VVUUFGqbIgqG6LKhqiyIapsiCobosqGqLIhqmyIKhuiyoZTZcOpsuFU2XCqbLhyNlgyRSVKbqf8EIoOkUN+BpfAZ0/V8fCcVu/Vel69LqbNC1ZzcVePu/ettNx+rL6uJO0n" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "error_types": {}, "param_witnesses": { "contract_address": [{ "end": 1, "start": 0 }], "nonce": [{ "end": 2, "start": 1 }], "note_type_id": [{ "end": 4, "start": 3 }], "serialized_note": [], "storage_slot": [{ "end": 3, "start": 2 }] }, "parameters": [{ "name": "contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" }, { "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" }, { "name": "note_type_id", "type": { "kind": "field" }, "visibility": "private" }, { "name": "serialized_note", "type": { "kind": "array", "length": 0, "type": { "kind": "field" } }, "visibility": "private" }], "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" }, "return_witnesses": [4, 5, 6, 7] }, "bytecode": "H4sIAAAAAAAA/+2b227iMBCGE8ohNMshIYTzobQ3exdYCvSOl9l9671fad9htZ3UUwZrWjnqxIolLKFMjOP/m9+HppXre2+l9frxVdzQrrRgm7O6Zl8rW8G+sjI5fUc4a45w3gly+gwnXOsqhivM5aZ3Pc/fy1lwklBRCgUDc0fqPoK7eghKUwWBBnyWgD5lpybpnEJDCRU4BQhJIj6pw2drpA53kLvg0kVTPod9QMwT6/d1QMNL2u/cIYnxO9Cekrp6STk25HMsy7t8VaI/DdVvi9yjV20VC+6wW6rtq0+baHpqjDCekLbYDv2okTGG0vEu49/+5Lm69lyXtGky+Z892fxbGk9LY24oJigR8Gp7QEljk0G/9/L9Xo15XRuTe5JTR9zv3Qn2hNC7LvpPmTOJO4TnmzhPti0nz7ex6xJ2mX6f9+BVT/Mq1LzqkjaUoVeCfz7Rxb7xvsdoy3lxOIF238CLPsPTt+xFn9EW9OIFtCMDLyKGJ7LsRcRoy3lx/AHasYEXMcMTW/YiZrTlvNjl7xYDAy8GDM/AshcDRltwjeTzIjHwImF4EsteJIy2oBe/QHto4MWQ4Rla9mLIaAt68RO0UwMvUoYntexFymgL7p35+8XIwIsRwzOy7MWI0Rb0YgfaYwMvxgzP2LIXY0ZbcI3k2hMDLyYMz8SyF/R31CLMAweZUweZ4wowB1oso33I98+pgRdThmdq2QvUK8qcVIA50GIZ7cMzaM8MvJgxPDPLXqBeUebIQebYQeahg8yJg8ypg8xVmM+BFstoH/M9dG7gxZzhmVv2AvWKMkcOMk8dZI4rwBxosYz2Mf/b3MLAiwXDs7DsBeoVZR45yNyvAHOgxTLaxwNoLw28WDI8S8teoF5R5rGDzKmDzFMHmWMHmYcOMicOMt/WoB3mqALM9EzT31J5di+hxoOeeRqjpzGGJKbnYFbijFlGx2dFtNbyWltuvuD9ulTt3Qn63cjnlL/LP6q+8AzfhsnpScXS57keSb8+0cH6Oon/kLbYDv3AdYvsMO8eVPz0yXNL7bkuafPA5H/2ZPPfaDwbjRnG5DfhWItz7E4m87rvXdbyd8JTwj64p2dysZjsOyXtMduS8szoGb5/nuyaXmteBZpXXdKG7tHrEvwzmV835hvzR8z0fSIgdfj9itTVtFzo/zJgezgz/B/4fzqFFjUAAA==", "debug_symbols": "ndpBattQGIXRvWgciu8vvScpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/3l7ftse7y/Ol+37ZXgcKw/D7vhyf+qfD8Pr/rAbHmttn98e7qNZRouMVhiNGxlFRiWjUUaTjJqMpIhRihiliFGKmKSISYqYpIhJipikiEmKmKSISYqYpIhJimhSRJMimhTRpIgmRTQpokkRTYpoUkSTIroU0aWILkV0KaJLEV2K6FJElyK6FNGliFmKmKWIWYqYpYhZipiliFmKmKWIWYqYpYhFilikiEWKWKSIRYpYpIhFilikiEWKWKSIVYpYpYhVililiFWKWKWIVYpYpYhVililiGw2tAqtilYjrSZaNVp1Ws20WmhFbYTaCLURaiPURqiNUBuhNkJthNoItVHURlEbRW0UtVHURlEbxJkhzwyBZkg0Q6QZMs0QaoZUM8SaIdcMwWZINkO0GbLNEG6GdDPEmyHfDAFnSDhDxBkyzhByhpQzxJwh5wxBZ0g6Q9QZss4Qdoa0M8SdIe8MgWdIPEPkGTLPEHqG1DPEniH3DMFnSD5D9BmyzxB+hvQzxJ8h/wwBaEhAQwQaMtAQgoYUNMSgIQcNQWhIQkMUGrLQEIaGNDTEoSEPDYFoSERDJBoy0RCKhlQ0xKIhFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLbvmafc87aInuWiRixa5aJGLFrlo/beL3k4/t+/77dNhd7/Ze//4cXz+d9H3drz8evv75fbvbw==" }, { "name": "broadcast_private_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_function_tree_leaf_index": [{ "end": 54, "start": 53 }], "artifact_function_tree_sibling_path": [{ "end": 53, "start": 48 }], "artifact_metadata_hash": [{ "end": 41, "start": 40 }], "contract_class_id": [{ "end": 40, "start": 39 }], "function_data": [{ "end": 3057, "start": 54 }], "inputs": [{ "end": 39, "start": 0 }], "private_function_tree_leaf_index": [{ "end": 48, "start": 47 }], "private_function_tree_sibling_path": [{ "end": 47, "start": 42 }], "unconstrained_functions_artifact_tree_root": [{ "end": 42, "start": 41 }] }, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs" }, "visibility": "private" }, { "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" }, "visibility": "private" }, { "name": "artifact_metadata_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "unconstrained_functions_artifact_tree_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "private_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "vk_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "is_fee_payer", "type": { "kind": "boolean" } }, { "name": "max_block_number", "type": { "fields": [{ "name": "_opt", "type": { "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "std::option::Option" } }], "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber" } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "key_validation_requests_and_generators", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "request", "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest" } }, { "name": "sk_app_generator", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash" } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::nullifier::Nullifier" } } }, { "name": "private_call_requests", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "hash", "type": { "kind": "field" } }, { "name": "caller_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "fields": [{ "name": "recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "content", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_encrypted_logs_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "note_hash_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::NoteLogHash" } } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "randomness", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::EncryptedLogHash" } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs" }, "visibility": "public" }, "return_witnesses": [3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567] }, "bytecode": "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", "debug_symbols": "1ZrtauJAFIbvZX5LmTlfM+OtLGVJW7sIEku1C4t47xu7JnXbAemxLX1/mTHnjU/w1SdKduFucfP06+eyv19vwvzHLqzWt912ue6H1S4ke35u89D1h+Vm2z1uwzzOwqK/Gx73s3C/XC3CnKruZ2/mqFg9jlKpaZpOURrTXGs6TkvUcmY6l1SO07kUeiEh2V/PQsqo4AUVvIKCU0QFT6jghArOqOCCCq6o4KjmJFRzEqo5CdWcjGpORjUno5qTUc3JqOZkVHMyqjkZ1ZyMak5GNaegmlNQzSmo5hRUcwqqOQXVnIJqTkE1p6CaU1DNqajmVFRzKqo5FdWcimpORTWnoppTUc2pqOZUVHMaqjkN1ZyGak77QnMKM4/gEuOF4IIK/oXmFKE4gZdLwS8yp3DVCYVfwAs/Hzt/4rGb/mFKdMywxfTfKxxCze9+tpSmUOYzWEmojKcwbNd6Ctb4XEeKY82GbaZX55Hj90NKH4HEJBOSDF17/fZdtf80yJantp6UNeUxVVyp6km1f6ueTSVXilwpdqXElVJXylwpVzfU1Q11dcNc3TBXN8zVDXN1w1zdMFc3zNUNc3XDXN0wVzeyqxvZ1Y3c7obolOJWit+dyukqNVMkZbp40SInlyN1fz2sfnePy+5mtTjckHzY+dTfjvcnD8vtn4d/e4bZvw==" }, { "name": "broadcast_unconstrained_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "artifact_function_tree_leaf_index": [{ "end": 48, "start": 47 }], "artifact_function_tree_sibling_path": [{ "end": 47, "start": 42 }], "artifact_metadata_hash": [{ "end": 41, "start": 40 }], "contract_class_id": [{ "end": 40, "start": 39 }], "function_data": [{ "end": 3050, "start": 48 }], "inputs": [{ "end": 39, "start": 0 }], "private_functions_artifact_tree_root": [{ "end": 42, "start": 41 }] }, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs" }, "visibility": "private" }, { "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" }, "visibility": "private" }, { "name": "artifact_metadata_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "is_fee_payer", "type": { "kind": "boolean" } }, { "name": "max_block_number", "type": { "fields": [{ "name": "_opt", "type": { "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "std::option::Option" } }], "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber" } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "key_validation_requests_and_generators", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "request", "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest" } }, { "name": "sk_app_generator", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash" } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::nullifier::Nullifier" } } }, { "name": "private_call_requests", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "hash", "type": { "kind": "field" } }, { "name": "caller_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "fields": [{ "name": "recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "content", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_encrypted_logs_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "note_hash_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::NoteLogHash" } } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "randomness", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::EncryptedLogHash" } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs" }, "visibility": "public" }, "return_witnesses": [3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 3560] }, "bytecode": "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", "debug_symbols": "1ZrRbuIwEEX/xc+osj0zHptfWVWrtKUrJBSqQldaIf59TZe4bGsJdWir3idi4puckBuOH7Jzd4ubp18/l+P9euPmP3Zutb4dtsv1WEc7F9Lzd5uHYTwMN9vhcevmfuYW41393M/c/XK1cPNYZD97My/mVI5TYy6hzQ6eO7OplHCczV7ymdmaQz7O1pzjC0nk/fXMBUUFz6jgBRQ8elTwgAoeUcEJFZxRwQUVHNWcEdWcEdWcEdWchGpOQjUnoZqTUM1JqOYkVHMSqjkJ1ZyEak5CNSejmpNRzcmo5mRUczKqORnVnIxqTkY1J6Oak1HNKajmFFRzCqo5BdWcgmpOQTWnoJpTUM0pqOYUVHMmVHMmVHMmVHOmLzQnE9EEzt5fCM6o4F9oTuboG3i+FPwiczIVaSj0Ap7p+dj6icfu+qfeyPYUqch/ZziEuv/9rKmdKEc9gxU45ukS6nYpp2Cd59pHP9WsblN8dR3qvx9S+AgkityQuHbt9e276i/vNWlr60lZg04pNqXElEqmlJpS2ZQqllR/JXE2FUypaEqZupFM3UimbiRTN5KpG8nUjWTqhpq6oaZuqKkbauqGmrqhpm6oqRtq6ob2u8HSUtRLlXenNFyF7i8fObfFi2Q+WY6U/XUd/R4el8PNanF4Ifmw82m8nd5PrsPtn4d/e+rcvw==" }], "outputs": { "globals": {}, "structs": { "functions": [{ "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "artifact_hash", "type": { "kind": "field" } }, { "name": "private_functions_root", "type": { "kind": "field" } }, { "name": "public_bytecode_commitment", "type": { "kind": "field" } }], "kind": "struct", "path": "ContractClassRegisterer::register_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::register_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "unconstrained_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "private_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "private_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "vk_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_abi" }] } }, "file_map": { "104": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr", "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, silo_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n event_selector: Field,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n" }, "109": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr", "source": "use dep::protocol_types::{address::AztecAddress, grumpkin_point::GrumpkinPoint};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nfn emit_encrypted_note_log_oracle<M>(\n _note_hash_counter: u32,\n _encrypted_note: [u8; M],\n _counter: u32\n) {}\n\nunconstrained pub fn emit_encrypted_note_log<M>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle<M>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _encrypted_note: [u8; M],\n _counter: u32\n) {}\n\nunconstrained pub fn emit_encrypted_log<M>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_log_oracle(contract_address, randomness, encrypted_note, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedLog)]\nfn compute_encrypted_log_oracle<N, M>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: GrumpkinPoint,\n _ivpk_m: GrumpkinPoint,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_log<N, M>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle_private<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T,\n _counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, event_selector, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nfn emit_contract_class_unencrypted_log_private<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, event_selector, message, counter)\n}\n" }, "217": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr", "source": "// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nfn debug_log_oracle<M, N>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<M, N>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<N>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n" }, "224": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr", "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::log_hash::LogHash;\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_encrypted_log(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_unencrypted_log(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly. \npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n" }, "231": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr", "source": "use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = dep::std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n" }, "295": { "path": "/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr", "source": "mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize\n };\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_new_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n context.emit_contract_class_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: PrivateFunction\n ) {\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n context.emit_contract_class_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: UnconstrainedFunction\n ) {\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n context.emit_contract_class_unencrypted_log(event.serialize());\n }\n}\n" }, "296": { "path": "/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr", "source": "// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nfn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule" }, "83": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr", "source": "use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message,\n hash::{hash_args_array, ArgsHasher, compute_unencrypted_log_hash},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n note::{note_interface::NoteInterface, utils::compute_note_hash_for_insertion},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{\n emit_encrypted_log, emit_encrypted_note_log, compute_encrypted_log,\n emit_contract_class_unencrypted_log_private_internal, emit_unencrypted_log_private_internal\n},\n logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n hash::sha256_to_field,\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, grumpkin_point::GrumpkinPoint, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{is_empty, Empty},\n utils::arrays::find_index\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\n \"Ending setup at counter {0}\",\n [self.side_effect_counter as Field]\n );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // call oracle\n let _void = emit_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n pub fn emit_contract_class_unencrypted_log<N>(&mut self, log: [Field; N]) {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n }\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn encrypt_and_emit_log<N, M>(\n &mut self,\n contract_address: AztecAddress,\n randomness: Field, // Secret random value used later for masked_contract_address\n event_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n ) where [Field; N]: LensForEncryptedLog<N, M> {\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n\n // We are currently just encrypting it EXACTLY the same way as if it was a note.\n let counter = self.next_counter();\n let encrypted_log: [u8; M] = compute_encrypted_log(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n emit_encrypted_log(contract_address, randomness, encrypted_log, counter);\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn encrypt_and_emit_note<Note, N, NB, M>(\n &mut self,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n note: Note\n ) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_hash_counter = note.get_header().note_hash_counter;\n let note_exists_index = find_index(\n self.new_note_hashes.storage,\n |n: NoteHash| n.counter == note_hash_counter\n );\n assert(\n note_exists_index != MAX_NEW_NOTE_HASHES_PER_CALL, \"Can only emit a note log for an existing note.\"\n );\n let preimage = note.serialize_content();\n let counter = self.next_counter();\n\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n\n // TODO(#1139 | #6408): perform encryption in the circuit\n let encrypted_log: [u8; M] = compute_encrypted_log(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n emit_encrypted_note_log(note_hash_counter, encrypted_log, counter);\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (64 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (176 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding) \n // len of processed log (4 bytes)\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, start_side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest { hash: item.hash(), caller_context, start_side_effect_counter, end_side_effect_counter }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n" } } }
|
|
1
|
+
{ "transpiled": true, "noir_version": "0.30.0+a2f687687559d15fde52abce54838f6e144a0aa4", "name": "ContractClassRegisterer", "functions": [{ "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs" }, "visibility": "private" }, { "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" }, "visibility": "private" }, { "name": "artifact_metadata_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "is_fee_payer", "type": { "kind": "boolean" } }, { "name": "max_block_number", "type": { "fields": [{ "name": "_opt", "type": { "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "std::option::Option" } }], "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber" } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "key_validation_requests_and_generators", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "request", "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest" } }, { "name": "sk_app_generator", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash" } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::nullifier::Nullifier" } } }, { "name": "private_call_requests", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "hash", "type": { "kind": "field" } }, { "name": "caller_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "fields": [{ "name": "recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "content", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_encrypted_logs_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "note_hash_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::NoteLogHash" } } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "randomness", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::EncryptedLogHash" } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs" }, "visibility": "public" } }, "bytecode": "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", "debug_symbols": "1ZrdTsJAEIXfZa+J2dmZ2enyKsaYqmhISDGCJobw7halxZ9NiIMazxUpndN+sAe+vegm3MyuHu8u593tchWm55uwWF636/my6482gfLre6v7ttsdrtbtwzpM4yTMupv+dTsJt/PFLExTo9vJl7lkyvvRZKbjNFGsTHNjup/mIunIdFEZMEqOciBh2l5MAhkqeIMKXkDBU0QFJ1TwhArOqOCCCq6o4KjmTKjmTKjmTKjmZFRzMqo5GdWcjGpORjUno5qTUc3JqOZkVHMyqjkF1ZyCak5BNaegmlNQzSmo5hRUcwqqOQXVnIJqTkU1p6KaU1HNqajmVFRzKqo5FdWcimpORTWnopozo5ozo5ozo5oz/6E5JZHtpyU1ciK4oIL/oTmFowzgnE8FP8mcIjaiKB2mm/x6bfvFa1f9IxJpyJjqhzvsQtX/frE8/PSkSXYEi4TLsFgkQuk9WGVpC6VxbQtp+vQ5LP4/JPoJJGEbkZTty/Kd1bf31gwLaCUfbpJkSIkrpa5UdqXMlWpcqeJJ1XcSR1PkSiVXytWN7OpGdnUju7qRXd3Irm5kVzfM1Q1zdcNc3TBXN8zVDXN1w1zdMFc3rN4NLWPKaqny7ZTRGVW/eeY47lwlxnfbkd65/dFT+zBvrxaz3QPJu5OP3fXwfHJ/uH6+fzvTz74A" }, { "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs" }, "visibility": "private" }, { "name": "artifact_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_functions_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "public_bytecode_commitment", "type": { "kind": "field" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "is_fee_payer", "type": { "kind": "boolean" } }, { "name": "max_block_number", "type": { "fields": [{ "name": "_opt", "type": { "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "std::option::Option" } }], "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber" } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "key_validation_requests_and_generators", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "request", "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest" } }, { "name": "sk_app_generator", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash" } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::nullifier::Nullifier" } } }, { "name": "private_call_requests", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "hash", "type": { "kind": "field" } }, { "name": "caller_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "fields": [{ "name": "recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "content", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_encrypted_logs_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "note_hash_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::NoteLogHash" } } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "randomness", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::EncryptedLogHash" } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs" }, "visibility": "public" } }, "bytecode": "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", "debug_symbols": "1ZftasIwFIbvJb9Fcj6TeCtjjPo1BKnix2CI977qTHUzUDxuw/0qad8n5z3Nm9Du3Hgy3L6+zOrpYu0GTzs3X4yqzWxRN6OdAzneWy+r+jBcb6rVxg18z03qcXPd99x0Np+4AUbZ9650GIROUgxBWjWAL6gZIZzUjJE71Ek420jqz2ok2D/3HOh/NR7+0Dh5zsZJ7zUe7zHOHForAmd11OPc6ffmRl+aG1DzmgLGrxUOEBQhSjFDQtJhKzFmMWi4eJ3xWAGLFaLP6wtRsaOCUsxqZY+XjReikwDb7CQQ/P6e6NEMcdFQIsgQ+uuFKx5oiOBbKHR1AUypbZoZ7u1DH89S+AlLTO0WYqFwte/65SODOFsjpYsiLZUsVHmbd1JgovB2ivtU7CvEHOeQ9Ewhnyj2JgpMFJooMlFsosREqYkKJiqaKFM2xJQNMWVDTNkQUzbElA0xZUNM2RBTNsSUDTFlQ03ZUFM21JQNNWVDy9mQ1FKhRMntVOhD0SGRl3zQ88UXCEDzBdKM3qrVrBrOJ4cfrMPDbT3K/1vNcPO+/HzSaD8A" }, { "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/+2b227aQBCG18RJTJ24YGMMgQQIyUXvDA2nO16mfe3eV+orVM2YnTJsp2hRx1tWYqWIsb2e/5t/D1jICdSuRe9/gY6v9eeN+rNhn63+LP+tzQRzlXVyBp5wNjzhvPKEMxTkDBhO+Ax1DOsO1tytOlyPv9tWqChTlELBBLoi19URwIMboUU6oBfHUuDrcnNDklNwpcFDfQ0/ASfW1yhYrIus+pBzWGiDnEOdK3IOd0bUibQpwvUuoj2yXN73CQA1NHUu5I5JTK8NiXVhTTVey9f4VsuYlLtVjGNyrXPfkmP0Cj0U/OaYUe1A/zWJptJjhPGA9MV+6EeDjDG0e7Wf180j94XGfQnpc8PUPxau/9bgMecsjEFLx204xj2BsH0g9W1l2ErIG8vnndExCHVu5I9JTYm43/M15L9Th838VhqTOCE89+I85ayeOndj95Gwy+RdvIFXLcOrO8OrhPShDK0a/AuILubG4xajLefFcg3abQsv2gxP27EXbUZb0IsNaKcWXqQMT+rYi5TRlvNi9Rm0MwsvMoYnc+xFxmjLeTGvni06Fl50GJ6OYy86jLbgGqnmRW7hRc7w5I69yBltQS++gnbXwosuw9N17EWX0Rb04gtoFxZeFAxP4diLgtEW3Dur54uehRc9hqfn2Iseoy3oxRy0+xZe9BmevmMv+oy24BqptB8svHhgeB4ce4F6pzJ3PGQuPGTOzoA5MmIZ7WW1fw4svBgwPAPHXtDfck5hzs+AOTJiGe3lArSHFl4MGZ6hYy9Q71Tm1EPmzEPmrofMuYfMhYfM5zCfIyOW0V5Ve+ijhRePDM+jYy9Q71Tm1EPmgYfM2RkwR0Yso72qfpt7svDiieF5cuwF6p3K3POQuX0GzJERy2ivlqA9svBixPCMHHuBeqcy9z1kLjxkHnjInHnI3PWQOfeQ+bIG3TCnZ8AM773gOzA/auWZb2KDBz1TBqMyGGMSJ4QR+26V3PsqiVE7ak3E/diNjzlf8HhSq/Z8DXmn8jVVz/IvOhe+wzdlanrVcSDs5wvJGxAdPB+S+Dvpi/3QD1y3yA7vXD3r+PXIfSPjvoT0eWbqHwvXPzV4pgYzjMk3wlHH3LKZ1y21X8ufCE8N++AbfScXm82+Q/cYQZ5ZTXWW9B2+n0p2TU8Mr5qGVwnpQ/fo/7VvXpgvzH9jps8TTXKO8uC5hlEL/f+GCcnxC57ToyHuNQAA", "debug_symbols": "ndpRattAGIXRveg5FN/fGs0oWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLjT9vT2+74+3F6bx7P0/321530/74dHvqn3fT8+FlP93XaJ/f7m6jFUbbjYwio5LRVkazjJqMFhl1GUkRWyliliJmKWKWImYpYpYiZililiJmKWKWImYpokkRTYpoUkSTIpoU0aSIJkU0KaJJEU2KWKSIRYpYpIhFilikiEWKWKSIRYpYpIhFiuhSRJciuhTRpYguRXQpoksRXYroUkSXIoYUMaSIIUUMKWJIEUOKGFLEkCKGFDGkiFWKWKWIVYpYpYhVililiFWKWKWIVYpYpYhsNrQKrYpWW1rNtGq0WmjVaTVoRW2E2gi1EWoj1EaojVAboTZCbYTaCLVR1EZRG0VtFLVR1EZRG0VtFLVBoBkSzRBphkwzhJoh1QyxZsg1Q7AZks0QbYZsM4SbId0M8WbIN0PAGRLOEHGGjDOEnCHlDDFnyDlD0BmSzhB1hqwzhJ0h7QxxZ8g7Q+AZEs8QeYbMM4SeIfUMsWfIPUPwGZLPEH2G7DOEnyH9DPFnyD9DABoS0BCBhgw0hKAhBQ0xaMhBQxAaktAQhYYsNIShIQ0NcWjIQ0MgGhLREImGTDSEoiEVDbFoyEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFyy56kosWuWiRixa5aJGLFrlokYvWf7vo9fRz937YPbzsb3d7bx8/jo//rvpej+dfb3+/XP/9DQ==" }, { "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs" }, "visibility": "private" }, { "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" }, "visibility": "private" }, { "name": "artifact_metadata_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "unconstrained_functions_artifact_tree_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "private_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "vk_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "is_fee_payer", "type": { "kind": "boolean" } }, { "name": "max_block_number", "type": { "fields": [{ "name": "_opt", "type": { "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "std::option::Option" } }], "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber" } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "key_validation_requests_and_generators", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "request", "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest" } }, { "name": "sk_app_generator", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash" } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::nullifier::Nullifier" } } }, { "name": "private_call_requests", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "hash", "type": { "kind": "field" } }, { "name": "caller_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "aztec::protocol_types::abis::caller_context::CallerContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "fields": [{ "name": "recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "content", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_encrypted_logs_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "note_hash_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::NoteLogHash" } } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "randomness", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::EncryptedLogHash" } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext" } }], "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs" }, "visibility": "public" } }, "bytecode": "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", "debug_symbols": "1ZrtauJAFIbvJb+lzJnzlfFWlmVJW7sIEku1C4t47xu7JvZjQHpsS99fMnre5JF59YmSXXO7uH78/WvZ3603zfzHrlmtb7rtct0Pq11D9vTc5r7rD8vNtnvYNvM0axb97fC4nzV3y9WimedW97M3c9mVj6PZXadpolSZ5tb1OM1F8pnpojJiFEtyImHa/5w15KjgLSp4AQXPCRWcUMEzKjijggsquKKCo5ozo5ozo5ozo5qTUc3JqOZkVHMyqjkZ1ZyMak5GNSejmpNRzcmo5hRUcwqqOQXVnIJqTkE1p6CaU1DNKajmFFRzCqo5FdWcimpORTWnoppTUc2pqOZUVHMqqjkV1ZyKak5DNaehmtNQzWlfaE7J5Mdpya1cCC6o4F9oTuEkIzjbpeAXmVPEJxSl03RrT8f2Tzx21T+cKY+fIkv04gyHUPW7n41oCjmfwSLhMm4WiVB+DlbZ2kJ52ttCml+9D0/fD4k+AknYJyRlf7N9V/U/Dbwdz+LFTifJMqbaUKpEUvXfqmdTFErlUIpDKQmlNJSyUCrUDQ11Q0PdsFA3LNQNC3XDQt2wUDcs1A0LdcNC3bBQNyzUDQ91w0Pd8Ho3tEwpr6X43SmnK6qmmNN05SopPbscGZw7rP50D8vuerU43JB8ePGxvxnvTx6W27/3/18ZZv8B" }], "outputs": { "globals": {}, "structs": { "functions": [{ "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "unconstrained_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "private_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "private_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "vk_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "contract_class_id", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId" } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "fields": [{ "name": "selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }], "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "artifact_hash", "type": { "kind": "field" } }, { "name": "private_functions_root", "type": { "kind": "field" } }, { "name": "public_bytecode_commitment", "type": { "kind": "field" } }], "kind": "struct", "path": "ContractClassRegisterer::register_parameters" } }], "kind": "struct", "path": "ContractClassRegisterer::register_abi" }] } }, "file_map": { "110": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr", "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, 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 event_selector: Field,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n" }, "115": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr", "source": "use dep::protocol_types::{address::AztecAddress, grumpkin_point::GrumpkinPoint};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\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>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\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: GrumpkinPoint,\n _ivpk_m: GrumpkinPoint,\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: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\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: GrumpkinPoint,\n _ivpk_m: GrumpkinPoint,\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: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\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, _event_selector: Field, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, event_selector, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<N>(contract_address: AztecAddress, event_selector: Field, message: [Field; N], counter: u32) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, event_selector, message, counter)\n}\n" }, "224": { "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" }, "231": { "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 contract_class_id::ContractClassId, merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{Hash, is_empty},\n utils::{uint256::U256, field::field_from_bytes_32_trunc}\n};\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u32) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\nfn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn compute_siloed_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, first_nullifier: Field, index: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(first_nullifier, index);\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(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\npub fn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly. \npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), 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" }, "238": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr", "source": "use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = dep::std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n" }, "285": { "path": "/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr", "source": "mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize\n };\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_new_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n context.emit_contract_class_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: PrivateFunction\n ) {\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n context.emit_contract_class_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: UnconstrainedFunction\n ) {\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n context.emit_contract_class_unencrypted_log(event.serialize());\n }\n}\n" }, "286": { "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" }, "86": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr", "source": "use crate::encrypted_logs::{payload::compute_encrypted_note_log};\n\nuse crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message,\n hash::{hash_args_array, ArgsHasher, compute_unencrypted_log_hash},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n note::{note_interface::NoteInterface, utils::compute_note_hash_for_insertion},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{\n emit_encrypted_note_log, emit_encrypted_event_log, compute_encrypted_event_log,\n emit_contract_class_unencrypted_log_private_internal, emit_unencrypted_log_private_internal\n},\n logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n hash::sha256_to_field,\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, grumpkin_point::GrumpkinPoint, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{is_empty, Empty},\n utils::arrays::find_index\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T, N, M>(\n &mut self,\n log: T\n ) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // call oracle\n let _void = emit_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n pub fn emit_contract_class_unencrypted_log<N>(&mut self, log: [Field; N]) {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n }\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn encrypt_and_emit_event<N, M>(\n &mut self,\n randomness: Field, // Secret random value used later for masked_contract_address\n event_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n ) where [Field; N]: LensForEncryptedLog<N, M> {\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n let contract_address = self.this_address();\n\n // We are currently just encrypting it unconstrained, but otherwise the same way as if it was a note.\n let encrypted_log: [u8; M] = compute_encrypted_event_log(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n\n self.emit_raw_event_log_with_masked_address(randomness, encrypted_log);\n }\n\n pub fn emit_raw_event_log_with_masked_address<M>(\n &mut self,\n randomness: Field,\n encrypted_log: [u8; M]\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = encrypted_log.len() as Field + 4;\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, encrypted_log, counter);\n }\n\n pub fn emit_raw_note_log<M>(&mut self, note_hash_counter: u32, encrypted_log: [u8; M]) {\n let counter = self.next_counter();\n let len = encrypted_log.len() as Field + 4;\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, encrypted_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.call_context.side_effect_counter, start_side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest { hash: item.hash(), caller_context, start_side_effect_counter, end_side_effect_counter }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n" } } }
|