@aztec/protocol-contracts 0.41.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.
Files changed (35) hide show
  1. package/dest/artifacts/AuthRegistry.json +1 -0
  2. package/dest/artifacts/ContractClassRegisterer.json +1 -1
  3. package/dest/artifacts/ContractInstanceDeployer.json +1 -1
  4. package/dest/artifacts/GasToken.json +1 -1
  5. package/dest/artifacts/KeyRegistry.json +1 -1
  6. package/dest/artifacts/MultiCallEntrypoint.json +1 -1
  7. package/dest/auth-registry/artifact.d.ts +2 -0
  8. package/dest/auth-registry/artifact.d.ts.map +1 -0
  9. package/dest/auth-registry/artifact.js +4 -0
  10. package/dest/auth-registry/index.d.ts +7 -0
  11. package/dest/auth-registry/index.d.ts.map +1 -0
  12. package/dest/auth-registry/index.js +16 -0
  13. package/dest/class-registerer/index.d.ts +2 -3
  14. package/dest/class-registerer/index.d.ts.map +1 -1
  15. package/dest/class-registerer/index.js +7 -9
  16. package/dest/gas-token/index.d.ts +5 -3
  17. package/dest/gas-token/index.d.ts.map +1 -1
  18. package/dest/gas-token/index.js +10 -6
  19. package/dest/instance-deployer/index.js +2 -2
  20. package/dest/protocol_contract.d.ts +2 -2
  21. package/dest/protocol_contract.d.ts.map +1 -1
  22. package/dest/protocol_contract.js +1 -1
  23. package/package.json +4 -4
  24. package/src/artifacts/AuthRegistry.json +1 -0
  25. package/src/artifacts/ContractClassRegisterer.json +1 -1
  26. package/src/artifacts/ContractInstanceDeployer.json +1 -1
  27. package/src/artifacts/GasToken.json +1 -1
  28. package/src/artifacts/KeyRegistry.json +1 -1
  29. package/src/artifacts/MultiCallEntrypoint.json +1 -1
  30. package/src/auth-registry/artifact.ts +6 -0
  31. package/src/auth-registry/index.ts +22 -0
  32. package/src/class-registerer/index.ts +9 -11
  33. package/src/gas-token/index.ts +12 -6
  34. package/src/instance-deployer/index.ts +1 -1
  35. package/src/protocol_contract.ts +2 -1
@@ -1 +1 @@
1
- { "transpiled": true, "noir_version": "0.29.0+78f13d9e0070502a980003c7ded3738fd353dd5a", "name": "MultiCallEntrypoint", "functions": [{ "name": "entrypoint", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "app_payload": [{ "end": 60, "start": 39 }], "inputs": [{ "end": 39, "start": 0 }] }, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "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": "authwit::aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::transaction::tx_context::TxContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs" }, "visibility": "private" }, { "name": "app_payload", "type": { "fields": [{ "name": "function_calls", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "args_hash", "type": { "kind": "field" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "target_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_public", "type": { "kind": "boolean" } }, { "name": "is_static", "type": { "kind": "boolean" } }], "kind": "struct", "path": "authwit::entrypoint::function_call::FunctionCall" } } }, { "name": "nonce", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::entrypoint::app::AppPayload" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "is_fee_payer", "type": { "kind": "boolean" } }, { "name": "max_block_number", "type": { "fields": [{ "name": "_opt", "type": { "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "std::option::Option" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber" } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "key_validation_requests", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::key_validation_request::KeyValidationRequest" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::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": "authwit::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": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "authwit::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": "authwit::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": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "content", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_encrypted_logs_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "note_hash_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::log_hash::NoteLogHash" } } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "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": "authwit::aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::transaction::tx_context::TxContext" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs" }, "visibility": "public" }, "return_witnesses": [2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 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] }, "bytecode": "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ZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22NlubPWczsycZ/+a2xgjHJYeJjfy7RoI9DYnsSZDs4bJYh4n4d1KAmCWGWcwSBBsL49/1kKMBgwuetreebnudjNrM3vpCeakB7IgSjmlV7fSxw9G2WOH/iYI/daXv2OEpun3AmPOy+Lm5zMuLFfypK3zH/64t2Jik20aMc0oQG3l5Yn7nD+JHlHDMJIx/cd/Zn6KCT2IM+N+874gRzif2J/9V+xXrJEGwJ5nIHp4TEXjeelIsxP6kvhAz/n8xtxOIbORl8XMnS/ERx4l6gj3a+4tztDVb9ukc0Vh2fIxQBv9ESHKq8Hd9wR6KdhMjlHE+9iTT2uMvKtgjlkXVHoPlgdhfEfSf8WJffT5xbyjYk6rfniRxXnU+9qQK9jTSb49D5KdfnCue1HheFqsmUnwaSrEqKhzTWIhfE4L4RfjOri8u8/KszdZma/N/azOzR543xwjHJYSJjfw7cV0glcieYGNyqmAPn0OlBIhZvTCLWV3Bxhj8m89t2LX388K6AME1dZIYU74uECPFL0o4prCwLvCisC4gz5HFaycx5tqvuc9x7cTLC3RNHCv8Lc6lCeZ02XFOCmIjL48dw9tQ/iB+RAnHvJHLuoDom7j2lCp9R7k+luo7018uNxZsFOeH3B6q+Tyvf25bSoBYUJXN/eTnbmTLzik7VX/Zeb6GShXsoWgPMVJ557KnMbE9udUN8dwn+zqr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", "debug_symbols": "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Perz02EL6XNAFS2ghhZQRwtogAXUNrSAAlpAbz6pw5biK6D2RUAJLaCMFtCbT+pfbzk9A4qlfQ7ozSf1r2uaz4D2levngBpaQB0toDef1GGU9Ph03NL2KaA331G8ENCbT+q41ef/ymKo5XNAES2ghBbQm0/qWNOHp33zbyf1V9/dn0NT/vWF/3w4tPrFp+vo/Z9Pt+3Dp+P2SLYwJfvmDhNL3Z7JtniSbCmPBUb50K7zP6E3v6F3v6EPt6G/+Q6oaejBb+gROfTvHnpPI/kNPfsNvfgNHbqbfh86dDf9PnTobvp96NDd9LvQ8wbdTb8PHbqbfh+6226aN7fdNG9uu2ne3HbTvLntpnlz203z5rab5s1vNw1+u2nw202D324a/HbTN9/5Ng3dbzcNfrtp8NtNg99uGvx20+i3m0a/3TT67abRbzd9871809D9dtPot5tGv900+u2m0W83TX67afLbTZPfbpr8dtM3eyeYhu63mya/3TT57abJbzdNfrtp9ttNs99umv120+y3m77Z38I0dL/dNPvtptlvN81+u2n2202L325a/HbT4rebFr/d9M0eJKah++2mxW83LX67afHbTYvfblr9dtPqt5tWv920+u2m7/aJsQzdbzet2N00Py6y1fI5dOxu+m3o2N3029D/upuGMT7cr04noZe+9WeiPX2yc8p/73xjHVBACyiiBZTQAspoARW0gCpaQA0soK8v4j/C2U6CKTE/gimxfbKGzF/flTf79nDrt8dbvz3d+u351m8vt357vfXb243fXtBenS1or84WtFdnC9qrs2XLaAGBufkXtFdnC9qrswXt1dn695e1fqh7Snl6kZXWts8BFbSAKlpADS2gjhbQAAsobmgBBbSAIlhA6e0D4XNNtv/n8Rc7tZq639CH29Dz5jf04Df06Df05Df07Df04jd0sKVpzWBL05o7WkBgP2/VAvbzVi1gP2/Vt//x40R/6Pr2P5ecmmwmSrbe+VtArfXWb2+3fnu/9dvv/N2utu3Wbwf7UaI2sB8lagP7UaK++ZGdCwGB/ShRG9iPEq2ArbpaSWgBZbSAwH6UaAXsR4lWwH6UaO//GyyrOb81tyuK9v6/67IL3e3CvzW3C//W3C78WzdYpTzflg0jnYT+66fxx4frh3fXYn7EE8DiiWDxvLsj7P/v+a/axy9/tKj+dlWxhWdA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/8E3fQ4oowVU0AKqaAE1tIA6WkADLKA331H89ZcL8RVQ+yKggBZQRAvozSf1/mvPeAYUS/sc0JtP6n3LWp4BpTQ+B1TQAqpoAb35pP71zPTj079s4T4H1NECevNJ/etW5DOg/d/gTwG9+Y7ihYACWkBvPqljTR+e9s2/ndRffXd/Dk351xf+8+HQ6hefrqP3fz7dtg+fjtsj2cSU7Js7TCx1eybb4kmypTwWGOVDu87/hF78hl79ht78ht79hj7cht435NC/eeh9Dz34DT36DT35DR26m34fOnQ3/T506G76fejQ3fT70KG76fehQ3fTb0Mffrvp8NtNh99uOvx20zffUTYN3W83HX676fDbTYffbjrcdtO4ue2mcXPbTePmtpvGzW03jZvbbho3t900bm67adzcdtO4ue2mcfPbTYPfbhr8dtPgt5sGv930zXf9TUP3202D324a/HbT4LebBr/dNPrtptFvN41+u2n0203f7MdgGrrfbhr9dtPot5tGv900+u2myW83TX67afLbTZPfbvpmzwzT0P120+S3mya/3TT57abJbzfNfrtp9ttNs99umv1203f7mliG7rebZr/dNPvtptlvN81+u2nx202L325a/HbT4rebvtt7xjJ0v920+O2mxW83LX67afHbTavfblr9dtPqt5tWv9303f5AlqH77abVbzetfrtp9dtNq99u2vx20+a3mza/3fTv3ZPCGB/8kNJJ6KVv/ZloT5/sV+PfOxxZB1TQAqpoATW0gDpaQAMsoL93+bEOKIAF9PVF/Ec420kwZf/175+Pltj652/Pt357ufXb663f3m799n7rt48bvz19ffvZ7NvDrd/+3sn39F2ghPYqckJ7FTmhvYqc0F5FTmivIie0V5ET2qvICe1V5Pz3f3Jrq3tyAhsI89//eax1QGADYU5gA2FOYANhfvufnU70iM5v/0PVmcm+/U9bZyZb7tTo+eu/sDH79nTrt+dbv73c+u311m8Hk/G5gMn4XMBkfK5gMj5XMBmfK5aMT/V/+/qaaKjpEVLo8cP5H8bjvzf+7L/39QXJC/+98If/vfgH/72Qyv92YEfRnk8pjb59+O/l139v/Nl/72sjhgv/vfCH/734h/+99If/vfyH/70vm9h4CpSwxf7bf/HL/x2k1/8M6pmcCY9nBnbN9BIzsb1CqnghNbyQOl5I49aQHv+Yrw85+39MeM8/Jr7nH5Pe84/J7/nHlPf8Y+p7/jHtPf+Y/p5/zN+fAnHLz/f5trGdHExh/z8/vvvXUPw8mvKrzeUNMajw5qBecqCH34/wLz7b2vOz6cvjPkff4Sff4Wff4Rff4Vff4Tff4Xff4Q/X4ZfNd/i+u27x3XWL765bfHfd4rvrFt9dt/juusV31y2+u2713XWr765bfXfd6rvrVt9dt/ruuhX53C+vv3PIB+Ejn/vn4Tfkk6eUx58mldq+Dh/55LkQPvLJcyF85JPnQvjIev9C+Mh6/0L4yOf++a/RDfncPw+/I+v9C+Ej6/0L4SN33QvhI3fdC+Ejd90L4SN33QvhI3fdC+Ejd90L4fvuut131x2+u+54e9c93B58/mwI4yE5Q9w+aM4PfxIzovcEkvcEsvcEivcEqvcEmvcEOkwCz5AGWkgHziM/C2mvxiOkUPNJSCHE53eH/OG7+4egAmJQ8c1Bmf4AkLbkO/zsO/ziO/zqO/zmO/zuO/zhOvyw+Q4/+A7fd9cNvrtu8N11g++uG3x33eC76wbfXTf47rrRd9eNvrtu9N11o++uG3133ei760bfXTf67rrRd9eNvrtu8t11E/K5f/pXwikhn/sXwkc+eU7/UjIl5JPnQvjIJ895+Bn55LkQPrLevxA+st6/ED7yuX/6Bz8pI5/7F8JH1vsXwkfW+xfCR+66F8JH7roXwkfuuufhF+SueyF85K57IXzkrnshfN9d18IFZGb4vrtueXvX/cmfF26vOML24Y/sPvw5WGneE+jeExjOE6ib9wSC9wSi9wQSdALPyX1PIPyWwBffPJ7fvL0s/kMNr2QzU7KFKVloNfDbH4cf/O8QWg1cSQBaDVxJAFoNXEigQauBKwlAq4ErCUCrgSsJQKuBC3dsLJx65iYA3bWvJIDTiZ8h4fTWZ0gW3XI8XmGI8fT9wFCeTzaU/HVIAy4kC/ebH4Vk+9ckFu43M8OPvsNPvsPPvsMvvsOvvsNvvsPvvsMfrsMfvrvu8N11h++uO3x3XQvfm5nh++66w3fXHb677vDddYfrrps31103b667bt5cd928ue66eXPddfPmuuvmzXXXzZvrrps31103b767bvDddYPvrht8d93gu+uaePNMDN931w2+u27w3XWD764bfHfd6LvrRt9dN/ruutF31zXx5pkYvu+uG3133ei760bfXTf67rrJd9dNvrtu8t11k++ua+KMNDF83103+e66yXfXTb67bvLddbPvrpt9d93su+tm313XxJdqYvi+u2723XWz766bfXfd7LvrFt9dt/juusV31y2+u66JL9XE8H133eK76xbfXbf47rrFd9etvrtu9d11q++uW313XRNvqYnh++661XfXrb67bvXddavvrtt8d93mu+s23123+e66Jn5PE8P33XWb767bfHfd5rvrNt9d17c3VfbtTZV9e1Nl395U2bc3VfbtTZV9e1Nl395U2bc3VfbtTZV9e1Nl395U2bc3VfbtTZV9e1Nl395U2bc3VfbtTZV9e1Nl395Uxbc3VfHtTVV8e1MV395UZXPddYtvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+PamKr69qYpvb6ri25uq+Pamqr69qapvb6rq25uq+vamqpvrrlt9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfXtTVV9e1NV395U1bc3VfPtTdV8e1M1395Uzbc3Vdtcd93m25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qZpvb6rm25uq+famar69qbpvb6ru25uq+/am6r69qfrmuut2395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTdV9e1N1395U3bc3VfftTTV8e1MN395Uw7c31fDtTTU21113+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6rh25tq+PamGr69qYZvb6qw+Tan2uN33Xf3+F033j1+1513j991693jd9179/hdN989ftfdd4/fdfvd43fef33bVO3xO++/vo2q9vid91/fVlV7/M77r2+zqj1+5/3Xt13VHr/z/uvbsGqPznn/9W1ZtUfnvP/6Nq3ao3Pef33bVu3ROe+/vo2r9uic91/f1lV7/M77r2/zqj1+5/3Xt33VHr/z/uvbwGqP33n/9W1htcfvvP/6NrHa43fef33bWO3xO++/vo2s9vid91/fVlZ7/M77r28zqz1+5/3Xt53VHr/z/uvb0GqP33n/9W1ptcfvvP/6NrXa43fef33bWu3xO++/vo2t9vid91/f1lZ7/M77r29zqz1+5/3Xt73VHr/z/uvb4GqP33n/9W1xtcfvvP/6Nrna43fef33bXO3xO++/vo2u9vid91/fVld7/M77r2+zqz1+5/3Xt93VHr/z/uvb8GqP33n/9W15tcfvvP/6Nr3a43fef33bXu3xO++/vo2v9vid91/f1ld7/M77r2/zqz1+5/3Xt/3VHr/v/huc+18F5/5Xwbn/VXDufxU23/03OPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vg3P8qOPe/Cs79r4Jz/6vo3P8qOve/is79r6Jz/6u4+e6/0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+19F5/5X0bn/VXTufxWd+18l5/5Xybn/VXLuf5Wc+1+lzXf/Tc79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qOfe/Ss79r5Jz/6vk3P8qO/e/ys79r7Jz/6vs3P8qb777b3buf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5X2bn/VXbuf5Wd+19l5/5Xxbn/VXHuf1Wc+18V5/5XZfPdf4tz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/Ks79r4pz/6vi3P+qOPe/qs79r6pz/6vq3P+qOve/qpvv/lud+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXXuf1Wd+19V5/5X1bn/VXPuf9Wc+1815/5Xzbn/Vdt899/m3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r5pz/6vm3P+qOfe/as79r7pz/6vu3P+qO/e/6s79r/rmu/925/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfuf9Wd+1915/5X3bn/VXfufzWc+18N5/5Xw7n/1XDufzU23/13OPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zz/6vh3P9qOPe/Gs79r4Zv/6u4+fa/2uN33X/3+F333z1+1/13j991/93jd91/9/hd9989ftf9d4/fdf/d43fef337X+3xO++/vv2v9vid91/f/ld7/M77r2//qz1+5/3Xt//VHr/z/uvb/2qP33n/9e1/tcfvvP/69r/a43fef337X+3xO++/vv2v9vid91/f/ld7/M77r2//qz1+5/3Xt//VHr/z/uvb/2qP33n/9e1/tcfvvP/69r/a43fef337X+3xO++/vv2v9vid91/f/ld7/M77r2//qz1+5/3Xt//VHr/z/uvb/2qP33n/9e1/tcfvvP/69r/a43fef337X+3xO++/vv2v9vid91/f/ld7/M77r2//qz1+5/3Xt//VHr/z/uvb/2qP33n/9e1/tcfvvP/69r/a43fef337X+3xO++/vv2v9vid91/f/ld7/M77r2//qz1+5/3Xt//VHr/z/uvb/2qP33n/9e1/tcfvvP/69r/a43fef337X+3xO++/vv2v9vid91/f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4vEt7/cmHt/ydm/i8S3v9t4/vumfsU08vu+3rumfr008vu+3rumfrU08vu+3rumfq008vu+3rumfqU08vu+3rumfp008vu+3rumfpU08vu+3LuJSys7H9/3WrW7bb/73+G67b/7P4ze3P8X/3+O7/Rn+/x7f8ifPxOO7/U26/z2+29+j+9/ju/0tuv89vuXP/fc/jW6WP/ffP/5l2e9PPL5lvz/x+JbfuhOPb/mtO/H4lt+6E49v+a078fiW37oTj2/5rTvx+L7fupfvt273/dbtP/7WHW4P/v21v/rUH8+Rbl8855dfienJu4DsXUDxLuD0LqB6F9C8C7jMCHg+Urf2SPnHbzMcR3p+76N8+d7Xl4c6LD6U5WtGE4O2fMto4vGL78e3fMdo4vEtXzGaeHzLN4wmHt/yBaOJx7d8v+j94x83349v+XbRxOP7fusevt+6iGsVOx/f91v38P3WPXy/dQ/fb93D91s3+X7rJt9v3eT7rZt8v3URlyl2Pr7vt27y/dZNvt+6yfdbN/l+62bfb91s+l77u98Sztny5/7E47u9FP6/x3d7J/x/j+/2Svj/efzi9kb4/x7f7YXw/z2+Zb8/8fiWP/ff/sJPLpY/9yce37Lfn3h8y35/4vEtv3UnHt/yW3fi8S2/dd8//mn5rTvx+JbfuhOPb/mtO/H4vt+6iBaQnY/v+617/vhb95NfL7y9nuO4ffkluy+/DnY27wIu7wK6cwH15l3A4V1A8i4gmxbwTO53AcdvAr75zv35nW/99bX1eIktTGJPJrGm3cBvvxw++P9D025gRoBpNzAjwLQbmBDQTLuBGQGm3cCMANNuYEaAaTcw8Tc2iKaevQJMv7VnBNh5Ez8fyc679flIiLdlf1xhSOlMbx7pOJ8nG87y/SN1c4+EaL/56JGwv02CaL/Z+fjJ9+Nn349ffD/+6fvxq+/Hb74f//L9+N3143ffb93u+63bfb91u++3LqL3Zufj+37rdt9v3e77rdt9v3W767duubl+65ab67duubl+65ab67duubl+65ab67duubl+65ab67duubl+65ab77fu4fute/h+6x6+37qH77cupJtn4+P7fusevt+6h++37uH7rXv4fusm32/d5Putm3y/dZPvty6km2fj4/t+6ybfb93k+62bfL91k++3bvb91s2+37rZ91s3+37rQpqRNj6+77du9v3Wzb7futn3Wzf7fusW32/d4vutW3y/dYvvty6kl2rj4/t+6xbfb93i+61bfL91i++37un7rXv6fuuevt+6p++3LqSXauPj+37rnr7fuqfvt+7p+617+n7rVt9v3er7rVt9v3Wr77cupFtq4+P7futW32/d6vutW32/davvt27z/dZtvt+6zfdbt/l+60L6njY+vu+3bvP91m2+37rN91u3+X7r+u6mKr67qYrvbqriu5uq+O6mKr67qYrvbqriu5uq+O6mKr67qYrvbqriu5uq+O6mKr67qYrvbqriu5uq+O6mKr67qYrvbqriu5vq9N1Ndfrupjp9d1Odvrupzpvrt+7pu5vq9N1Ndfrupjp9d1OdvrupTt/dVKfvbqrTdzfV6bub6vTdTXX67qY6fXdTnb67qU7f3VSn726q03c31em7m+r03U11+u6mOn13U52+u6lO391Up+9uqtN3N9Xpu5vq9N1Ndfrupjp9d1OdvrupTt/dVKfvbqrTdzfV6bub6vTdTXX67qY6fXdTnb67qU7f3VSn726q03c31em7m+r03U11+u6mOn13U52+u6lO391Up+9uqtN3N9Xpu5vq9N1Ndfrupjp9d1OdvrupTt/dVKfvbqrTdzfV6bub6vTdTXX67qY6fXdTnb67qU7f3VSn726q03c31em7m+r03U11+u6mOn13U52+u6lO391Up+9uqtN3N9Xpu5vq9N1Ndfrupjp9d1OdvrupTt/dVKfvbqrTdzfV6bub6vTdTXX67qY6fXdTnb67qU7f3VSn726q03c31em7m+r03U11+u6mOn13U52+u6lO391Up+9uquq7m6r67qaqvrupqu9uqnpz/datvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r67qaqvrupqu9uquq7m6r57qZqvrupmu9uqua7m6rdXL91m+9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qZqvrupmu9uqua7m6r57qa6fHdTXb67qS7f3VSX726q6+b6rXv57qa6fHdTXb67qS7f3VSX726qy3c31eW7m+ry3U11+e6munx3U12+u6ku391Ul+9uqst3N9Xlu5vq8t1Ndfnuprp8d1NdvrupLt/dVJfvbqrLdzfV5bub6vLdTXX57qa6fHdTXb67qS7f3VSX726qy3c31eW7m+ry3U11+e6munx3U12+u6ku391Ul+9uqst3N9Xlu5vq8t1Ndfnuprp8d1NdvrupLt/dVJfvbqrLdzfV5bub6vLdTXX57qa6fHdTXb67qS7f3VSX726qy3c31eW7m+ry3U11+e6munx3U12+u6ku391Ul+9uqst3N9Xlu5vq8t1Ndfnuprp8d1NdvrupLt/dVJfvbqrLdzfV5bub6vLdTXX57qa6fHdTXb67qS7f3VSX726qy3c31eW7m+ry3U11+e6munx3U12+u6ku391Ul+9uqst3N9Xlu5vq8t1Ndfnuprp8d1NdvrupLt/dVJfvbqrLdzfV5bubqvvupuq+u6m6726q7rubqt9cv3W7726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupuq+u6m6726q7rubqvvupjpuvsup7s/v+r17f37XL97787t+896f3/Wr9/78rt+99+d3/fK9P7/rt+/9+V2/fu/P7/z967um6v78zt+/vouq7s/v/P3ru6rq/vzO37++y6ruz+/8/eu7rur+/M7fv74Lq+5P5/z967uy6v50zt+/vkur7k/n/P3ru7bq/nTO37++i6vuT+f8/eu7uur+/M7fv77Lq+7P7/z967u+6v78zt+/vgus7s/v/P3ru8Lq/vzO37++S6zuz+/8/eu7xur+/M7fv76LrO7P7/z967vK6v78zt+/vsus7s/v/P3ru87q/vzO37++C63uz+/8/eu70ur+/M7fv75Lre7P7/z967vW6v78zt+/vout7s/v/P3ru9rq/vzO37++y63uz+/8/eu73ur+/M7fv74Lru7P7/z967vi6v78zt+/vkuu7s/v/P3ru+bq/vzO37++i67uz+/8/eu76ur+/M7fv77Lru7P7/z967vu6v78zt+/vguv7s/v/P3ru/Lq/vzO37++S6/uz+/8/eu79ur+/M7fv76Lr+7P7/z967v66v78zt+/vsuv7s/v/P3ru/7q/vy+37+H8/6rw3n/1eG8/+pw3n913Hy/fw/n/VeH8/6rw3n/1eG8/+pw3n91OO+/Opz3Xx3O+68O5/1Xh/P+q8N5/9XhvP/qcN5/dTjvvzqc918dzvuvDuf9V4fz/qvDef/V4bz/6nDef3U47786nPdfHc77rw7n/VeH8/6rw3n/1eG8/+pw3n91OO+/Opz3Xx3O+68O5/1Xh/P+q8N5/9XhvP/qcN5/dTjvvzqc918dzvuvDuf9V4fz/qvDef/V4bz/6nDef3U47786nPdfHc77rw7n/VeH8/6rw3n/1eG8/+pw3n91OO+/Opz3Xx3O+68O5/1Xh/P+q8N5/9XhvP/qcN5/dTjvvzqc918dzvuvDuf9V4fz/qvDef/V4bz/6nDef3U47786nPdfHc77rw7n/VeH8/6rw3n/1eG8/+pw3n91OO+/Opz3Xx3O+68O5/1Xh/P+q8N5/9XhvP/qcN5/dTjvvzqc918dzvuvDuf9V4fz/qvDef/V4bz/6nDef3U47786nPdfJef9V8l5/1Vy3n+VnPdfpZvv929y3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V8l5/1Vy3n+VnPdfJef9V9l5/1V23n+VnfdfZef9V/nm+/2bnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1V23n+VnfdfZef9V9l5/1Vx3n9VnPdfFef9V8V5/1W5+X7/Fuf9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n9VnPdfFef9V8V5/1Vx3n91Ou+/Op33X53O+69O5/1X5833+/d03n91Ou+/Op33X53O+69O5/1Xp/P+q9N5/9XpvP/qdN5/dTrvvzqd91+dzvuvTuf9V6fz/qvTef/V6bz/6nTef3U67786nfdfnc77r07n/Ven8/6r03n/1em8/+p03n91Ou+/Op33X53O+69O5/1Xp/P+q9N5/9XpvP/qdN5/dTrvvzqd91+dzvuvTuf9V6fz/qvTef/V6bz/6nTef3U67786nfdfnc77r07n/Ven8/6r03n/1em8/+p03n91Ou+/Op33X53O+69O5/1Xp/P+q9N5/9XpvP/qdN5/dTrvvzqd91+dzvuvTuf9V6fz/qvTef/V6bz/6nTef3U67786nfdfnc77r07n/Ven8/6r03n/1em8/+p03n91Ou+/Op33X53O+69O5/1Xp/P+q9N5/9XpvP/qdN5/dTrvvzqd91+dzvuvTuf9V6fz/qvTef/V6bz/6nTef3U67786nfdfnc77r07n/Ven8/6r03n/VXXef1Wd919V5/1X1Xn/Vb35fv9W5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef1Wd919V5/1X1Xn/VXXef9Wc91815/1XzXn/VXPef9Vuvt+/zXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc91815/1XzXn/VXPef9Wc919dzvuvLuf9V5fz/qvLef/VdfP9/r2c919dzvuvLuf9V5fz/qvLef/V5bz/6nLef3U577+6nPdfXc77ry7n/VeX8/6ry3n/1eW8/+py3n91Oe+/upz3X13O+68u5/1Xl/P+q8t5/9XlvP/qct5/dTnvv7qc919dzvuvLuf9V5fz/qvLef/V5bz/6nLef3U577+6nPdfXc77ry7n/VeX8/6ry3n/1eW8/+py3n91Oe+/upz3X13O+68u5/1Xl/P+q8t5/9XlvP/qct5/dTnvv7qc919dzvuvLuf9V5fz/qvLef/V5bz/6nLef3U577+6nPdfXc77ry7n/VeX8/6ry3n/1eW8/+py3n91Oe+/upz3X13O+68u5/1Xl/P+q8t5/9XlvP/qct5/dTnvv7qc919dzvuvLuf9V5fz/qvLef/V5bz/6nLef3U577+6nPdfXc77ry7n/VeX8/6ry3n/1eW8/+py3n91Oe+/upz3X13O+68u5/1Xl/P+q8t5/9XlvP/qct5/1Z33X3Xn/Vfdef9Vd95/1W++37/def9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1Z33X3Xn/Vfdef9Vd95/1X33X6Wb7/6r+/O7fv/en9/1+/f+/K7fv/fnd/3+vT+/6/fv/fldv3/vz+/6/Xt/ftfv3/vzO3//+u6/uj+/8/ev7/6r+/M7f//67r+6P7/z96/v/qv78zt///ruv7o/v/P3r+/+q/vzO3//+u6/uj+/8/ev7/6r+/M7f//67r+6P7/z96/v/qv78zt///ruv7o/v/P3r+/+q/vzO3//+u6/uj+/8/ev7/6r+/M7f//67r+6P7/z96/v/qv78zt///ruv7o/v/P3r+/+q/vzO3//+u6/uj+/8/ev7/6r+/M7f//67r+6P7/z96/v/qv78zt///ruv7o/v/P3r+/+q/vzO3//+u6/uj+/8/ev7/6r+/M7f//67r+6P7/z96/v/qv78zt///ruv7o/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/e2VrL+93gqZXi5/Vcn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bc3sv72Rtbf3sj62xtZf3u7FTK9XP6qkfW3N7L+9kbW397I+tsbWX97I+tvb2T97Y2sv72R9bc3sv72Rtbf3sj62xtZf3sj629vZP3tjay/vZH1tzey/vZG1t/eyPrbG1l/eyPrb29k/e2NrL+9kfW3N7L+9kbW397I+tsbWX97I+tvb2T97Y2sv72R9bc3sv72Rtbf3sj62xtZf3sj629vZP3tjay/vZH1tzey/vZG1t/eyPrbG1l/eyPrb29k/e2NrL+9kfW3N7L+9kbW397I+tsbWX97I+tvb2T97Y2sv72R9bc3sv72Rtbf3sj62xtZf3sj629vZP3tjay/vZH1tzey/vZG1t/eyPrbG1l/eyPrb29k/e2NrL+9kfW3N7L+9hao37u39Pji9vt3fqmN8/adURvns7lf1+OLexuojfPJPKM2zufyjNo4n8oTagN1Ps+ojZN4Z9QGet9OqA30vp1QW6jUxkm6M2qpvFSglucZtV691EuBV3/0UHDZ7mFOx+2hIKcEyN2X7R7mBXpN+54Fek07nwV6C5le0+5ngV7T/meBXtMOaIFe0x5ogV7Tjgmv13YP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/sp2D/MCvWT+ynYP8wK9ZP7Kdg/zAr1k/uoi81cXmb+y3bO9QC+Zv7oKmV4yf2W7S32BXjJ/ZbtPfYFeMn9lu1N9gV4yf2W7V32BXjJ/ZbtbfYFeMn9lu199gV4yf2W7Y32BXi5/1cn62ztZf3sn62/vZP3t/VbI9HL5q07W397J+ts7WX97J+tv72T97Z2sv72T9bd3sv72Ttbf3sn62ztZf3sn62/vZP3tnay/vZP1t3ey/vZO1t/eyfrbO1l/eyfrb+9k/e2drL+9k/W3d7L+9k7W397J+ts7WX97J+tv72T97Z2sv72T9bd3sv72Ttbf3sn62ztZf3sn62/vZP3tnay/vZP1t3ey/vZO1t/eyfrbO1l/eyfrb+9k/e2drL+9k/W3d7L+9k7W397J+ts7WX97J+tv72T97Z2sv72T9bd3sv72Ttbf3sn62ztZf3sn62/vZP3tnay/vZP1t3ey/vZO1t/eyfrbO1l/eyfrb+9k/e2drL+9k/W3d7L+9k7W397J+ts7WX97J+tv72T97Z2sv72T9bd3sv72Ttbf3sn62ztZf3sn62/vZP3tnay/vZP1t3ey/vZO1t/eyfrbO1l/eyfrb+9k/e2dq78937j62+96qfzVXS+Vv7rrpfJXd72FTC+Vv7rrpfJXd71U/uqul8pf3fWS+Suu/va7XjJ/xdXfftdL5q+4+tvvesn8FVd/+10vmb/i6m+/6yXzV1z97Xe9ZP6Kq7/9rpfMX3H1t9/1kvkrrv72u14yf8XV337XS+avuPrb73rJ/BVXf/tdL5m/4upvv+sl81dc/e13vWT+iqu//a6XzF9x9bff9ZL5K67+9rteMn/F1d9+10vmr7j62+96yfwVV3/7XS+Zv+Lqb7/rJfNXXP3td71k/oqrv/2ul8xfcfW33/WS+Suu/va7XjJ/xdXfftdL5q+4+tvvesn8FVd/+10vmb/i6m+/6yXzV1z97Xe9ZP6Kq7/9rpfMX3H1t9/1kvkrrv72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znOdhU4xnecy3mu9QjGd5zrpPNdJ57mM95evUEznuYx3mK9QTOe5jPeYr1BM57mMd5mvUEznuYz3ma9QTOe5jHear1BM57mM95qvUEznuYx3pq9QTOe5jPemr1BM57mMd6evUEznuYz3p69QTOe5jHeor1BM57mM96ivUEznuYx3qa9QTOe5jPepr1BM57mMd6qvUEznuYx3sK9QTOe5rPe7L1BM57msd7wvUEznuaz3vC9QzOa5kvWu9wWK2TxXst73vkAxm+dKt0KnmM1zJeu97wsUs3muZL37fYFiOs9lvSt+gWI6z0XXQ5/oeugTXQ99ouuhT3Q99Imuhz7R9dAnuh76RNdDn+h66BNdD32i66FPdD30ia6HPtH10Ce6HvpE10Of6HroE10PfaLroU90PfSJroc+0fXQJ7oe+kTXQ5/oeugTXQ99ouuhT3Q99Imuhz7R9dAnuh76RNdDn+h66BNdD32i66FPdD30ia6HPtH10Ce6HvpE10Of6HroE10PfaLroU90PfSJroc+0fXQJ7oe+kTXQ5/oeugTXQ99ouuhT3Q99Imuhz7R9dAnuh76RNdDn+h66BNdD32i66FPdD30ia6HPtH10Ce6HvpE10Of6HroE10PfaLroU90PfSJroc+0fXQJ7oe+kTXQ5/oeugTXQ99ouuhT3Q99Imuhz7R9dAnuh76RNdDn+h66BNdD32i66FPdD30ia6HPtH10Ce6HvpM10Of6XroM10Pfabroc+3QqeYzXNluh76TNdDn+l66DNdD32m66HPdD30ma6HPtP10Ge6HvpM10Of6XroM10Pfabroc90PfSZroc+0/XQZ7oe+kzXQ5/peugzXQ99puuhz3Q99Jmuhz7T9dBnuh76TNdDn+l66DNdD32m66HPdD30ma6HPtP10Ge6HvpM10Of6XroM10Pfabroc90PfSZroc+0/XQZ7oe+kzXQ5/peugzXQ99puuhz3Q99Jmuhz7T9dBnuh76TNdDn+l66DNdD32m66HPdD30ma6HPtP10Ge6HvpM10Of6XroM10Pfabroc90PfSZroc+0/XQZ7oe+kzXQ5/peugzXQ99puuhz3Q99Jmuhz7T9dBnuh76TNdDn+l66DNdD32m66HPdD30ma6HPtP10Ge6HvpM10Of6XroM10PfQ7V2N1b+uere/v9e7/0Rno3zeiN9KnV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918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef3WA918d4P1XB3j/1QHef9XA+68aeP9VA++/auD9V+2G/f5t4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UH77/q4P1XHbz/qoP3X/Ub9vu3g/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcneP/VCd5/dYL3X53g/VfnDfv9e4L3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VCd5/dYL3X53g/VcneP/VAO+/GuD9VwO8/2qA91+NG/b7d4D3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1X2w28AOsuAPsNfBeA/Qq+C8B+B98FYL+E7wKw38J3Adiv4bsA7PfwXQD2i/guAP1NDF6FdReA/iYGL8O6C0B/E4PX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V5XobpJJLperSnQjyCSXy1UluodjksvlqhLdfjHJ5XJVie6cmORyuapENz1McrlcVaL7FSa5XK4q0a0Gk1wuV5XoLoFJLperStTBb5LL5aoS9eSb5HK5qkRd9ia5XK4qUd+8SS6Xq0rUCW+Sy+WqEvW2m+RyuSqubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61XeubvWdq1t95+pW37m61StXt3rl6lavXN3qlatbvd4ql1wqV1W5utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9cnWrV65u9crVrV65utUrV7d65epWr1zd6pWrW71ydatXrm71ytWtXrm61StXt3rl6lavXN3qlatbvXJ1q1eubvXK1a1eubrVK1e3euXqVq9c3eqVq1u9Jmrf3m63289Tjw/f+5vnKGW/PRX+perxHK38r9/5djy/820cL+z+8ZnP8fzO5cN3Pmr5+2uPul8Nv2r4vMPP48k0/K+Hn8ehavhfDz+PX9fwvx5+nvSi4X89/DxZTsP/dviJ7lto+F8PP89PTzT8r4ef52dJGv7Xw9eGj3j4VcPPOfzz8Y2Pl+/7f4avDR/x8LXhIx6+NnzEw9eGL+nw+8/w29XwteHjHX6iW2sa/tfD14aPePja8BEPXxs+4uFXDT/n8I/Hb+8erV8NXxs+4uFrw0c8fG34iIevDR/x8LXh4x1+oru/Gv7Xw9eGj3j42vARD18bPuLhVw2fd/ja8BEPXxs+4uFrw0c8fG34iIevDR/v8Ic2fMTD14aPePja8BEPXxs+4uFXDZ93+NrwEQ9fGz7i4WvDRzx8bfiIh68NH+3wj5s2fMTD14aPePja8BEPXxs+4uFXDZ93+NrwEQ9fGz7i4WvDRzx8bfiIh68NH+/w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d4C/fwf4+3eAv389enWWPj/4+3eAv38H+Pt3gL9/B/b7t96w37/1hv3+rTfs92+9Yb9/6w37/Vtv2O/fesN+/9Yb9vu33rDfv/UG/v7dwN+/G/j7dwN//27g71+X7p+Vzw/+/t3A378b+Pt3A3//buDv3wL+/i3g798C/v4t4O9fl+6flc8P/v4t4O/fAv7+LeDv3wL+/t3B3787+Pt3B3//7uDvX5fupZXPD/7+3cHfvzv4+3cHf//u4O/fCv7+reDv3wr+/q3g71+X7quVzw/+/q3g798K/v6t4O/fCv7+PcDfvwf4+/cAf/8e4O9fl+6rlc8P/v49wN+/B/j79wB//x7g798G/v5t4O/fBv7+beDvX5f+qpXPD/7+beDv3wb+/m3g798G/v7t4O/fDv7+7eDv3w7+/nXplFr5/ODv3w7+/u3g798O/v7t4O9f8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP/VAd5/dYD3Xx3g/VcHeP/VccN+/x7g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/dYD3Xx3g/VcHeP/VAd5/1cD7rxp4/1UD779q4P1X7Yb9/m3g/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQfvv+rg/VcdvP+qg/df9Rv2+7eD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vyd4/9UJ3n91gvdfneD9V+cN+/17gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91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xga+5foiIsMbG/h26YuIDG9s4FudLyIyvLGBb1O+iMjwxg5+i3Fs7fkgY9/+EPHvfuJ7lxz7/T5Fcmw3MEVybO8wQ3LwG4FTJMf2JVMkx3YxUyTH9jxTJFc+ybH91BTJfO4r+LW2KZL53Ffwy2czJAe/TzZFMp/7Cn7ra4pkPvcV/G7WFMl87iv4DaopkvncV/B7TlMk87mv4LeRpkjmc1/B7wxNkcznvoLf7Jkimc99Bb9/M0Uyn/sKfktmimQ+9xX8LssUyXzuK/iNkymS+dxX8HshUyTzua/gtzemSOZzX8HvWEyRzOe+gt+EmCKZz30Fv68wRTKf+wp+q2CKZD73Fbz3f4pkPvcVvEN/imQ+9xW8j36KZD73FbzbfYpkPvcVvCd9imQ+9xW8c3yKZD73Fby/e4pkPvcVvAt7imQ+9xW8s3qKZD73Fby3eopkPvcVvLt6imQ+9xW8v3qKZDr3tQXvsJ4imc59bcF7rKdIpnNf96/hk0znvrbgndpTJNO5ry14X/cUyXzuK3gX+BTJfO4reM/4FMl87it4h/kUyXzuK3g/+hTJfO4rePf6FMl87it4r/sUyXzuK3hn/BTJfO4reB/9FMl87ouv637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+42v637j67rf+LruN76u+y1Q1/3LQ8XxRy8PFcfBvDxUHI/x8lBxXMDLQ8V5T788VJw36ctDxXnXvTxUnLfRy0PFeV/8PFSg/uyXh4r4iR6og/rloSJ+ogfqcX55qIif6IG6kF8eKuIneqA+4ZeHiviJHqiT9+WhIn6iB+q1fXmoiJ/ogbphXx4q4id6oH7Vl4eK+IkeqKP05aECfqKXQD2fLw8V8BO9BOrKfHmogJ/o5Tb3E/3lHzp+6x9qv/UP9d/6h87f+ofGL/1DkzvzXv6h7bf+ofJb/9D+W//Qb30ybL/1ybD91ifD9lufDNtvfTJsv/XJUH7rk6H81idD+a1PhvJbnwzltz4Zym99MpTf+mQov/XJUH7rk6H81ifD/luf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" }, { "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": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" }, { "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" }, { "name": "note_type_id", "type": { "kind": "field" }, "visibility": "private" }, { "name": "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": "ndpBattQGIXRvWgciu8v6ekpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/Xl7ftse7y/Ol+37ZXgcKw/D7vhyf2qfD8Pr/rC7PY/j57eH+2iRUZfRCqNxI6PIqGQ0ymiS0SwjKWKUIkYpYpQiJilikiImKWKSIiYpYpIiJilikiImKWKSImYpYpYiZililiJmKWKWImYpYpYiZililiKaFNGkiCZFNCmiSRFNimhSRJMimhTRpIhFilikiEWKWKSIRYpYpIhFilikiEWKWKSILkV0KaJLEV2K6FJElyK6FNGliC5FdClilSJWKWKVIlYpYpUiVililSJWKWKVIlYpIpsNrUKrotVIq4lWM60arRZadVpRG6E2Qm2E2gi1EWoj1EaojVAboTZCbRS1UdRGURtFbRS1UdQGcWbIM0OgGRLNEGmGTDOEmiHVDLFmyDVDsBmSzRBthmwzhJsh3QzxZsg3Q8AZEs4QcYaMM4ScIeUMMWfIOUPQGZLOEHWGrDOEnSHtDHFnyDtD4BkSzxB5hswzhJ4h9QyxZ8g9Q/AZks8QfYbsM4SfIf0M8WfIP0MAGhLQEIGGDDSEoCEFDTFoyEFDEBqS0BCFhiw0hKEhDQ1xaMhDQyAaEtEQiYZMNISiIRUNsWjIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFy6552j1Pu+hJLlrkokUuWuSiRS5a/+2it9PP7ft++3TY3W/23j9+HJ//XfS9HS+/3v5+uf37Gw==" }], "outputs": { "globals": {}, "structs": { "functions": [{ "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "app_payload", "type": { "fields": [{ "name": "function_calls", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "args_hash", "type": { "kind": "field" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "target_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_public", "type": { "kind": "boolean" } }, { "name": "is_static", "type": { "kind": "boolean" } }], "kind": "struct", "path": "authwit::entrypoint::function_call::FunctionCall" } } }, { "name": "nonce", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::entrypoint::app::AppPayload" } }], "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_parameters" } }], "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_abi" }] } }, "file_map": { "114": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr", "source": "use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n PrivateCallStackItem::deserialize(fields)\n}\n" }, "119": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr", "source": "use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nfn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: 0,\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n item\n}\n" }, "139": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse dep::std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: 0 }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n" }, "141": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr", "source": "use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\nuse dep::std::cmp::Eq;\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, nullifier_counter: u32, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, nullifier_counter, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n nullifier_counter: u32,\n contract_address: AztecAddress,\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.nullifier_counter == other.nullifier_counter)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n nullifier_counter: 0,\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.nullifier_counter as Field, self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n nullifier_counter: reader.read_u32(),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n assert(\n (self.nullifier_counter == 0) | (read_request.counter() < self.nullifier_counter), \"Read request counter must be less than the nullifier counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "142": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "143": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item.nr", "source": "use crate::abis::{function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs};\nuse crate::address::AztecAddress;\nuse crate::constants::GENERATOR_INDEX__CALL_STACK_ITEM;\nuse crate::traits::Hash;\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs = PublicCircuitPublicInputs::empty();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs\n };\n call_stack_item\n }\n}\n\nmod tests {\n use crate::{\n abis::{\n function_data::FunctionData, function_selector::FunctionSelector, note_hash::NoteHash,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, side_effect::SideEffect\n },\n address::AztecAddress, constants::GENERATOR_INDEX__CALL_STACK_ITEM, traits::Hash\n };\n\n #[test]\n fn compute_call_stack_item_request_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: true, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item request hash\" test\n let test_data_call_stack_item_request_hash = 0x11998b1d33b8ba1c8fa7a6c2f5bc76b31bbaa80400554465c335ba31559ac1f9;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_request_hash);\n }\n\n #[test]\n fn compute_call_stack_item_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: false, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item hash\" test\n let test_data_call_stack_item_hash = 0x2b7f8b68d96d0011ecc576459899e9451fbd880568ccc7a071d9cf04e59abb65;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);\n }\n}\n" }, "144": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr", "source": "use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n key_validation_request::KeyValidationRequest, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u64,\n nullifier_read_requests: u64,\n key_validation_requests: u64,\n new_note_hashes: u64,\n new_nullifiers: u64,\n new_l2_to_l1_msgs: u64,\n private_call_requests: u64,\n public_call_stack_hashes: u64,\n note_encrypted_logs_hashes: u64,\n encrypted_logs_hashes: u64,\n unencrypted_logs_hashes: u64,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests: validate_array(public_inputs.key_validation_requests),\n new_note_hashes: validate_array(public_inputs.new_note_hashes),\n new_nullifiers: validate_array(public_inputs.new_nullifiers),\n new_l2_to_l1_msgs: validate_array(public_inputs.new_l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests: [KeyValidationRequest; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [LogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\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: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests == other.key_validation_requests) &\n (self.new_note_hashes == other.new_note_hashes) &\n (self.new_nullifiers == other.new_nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.new_l2_to_l1_msgs == other.new_l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests.len() {\n fields.extend_from_array(self.key_validation_requests[i].serialize());\n }\n for i in 0..self.new_note_hashes.len() {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..self.new_nullifiers.len() {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.new_l2_to_l1_msgs.len() {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests: reader.read_struct_array(KeyValidationRequest::deserialize, [KeyValidationRequest::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests: [KeyValidationRequest::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [LogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x2ce8fd4d6f4f4edbe281f96b095b60f8516980e8582f0393151baab50f413307;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "146": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n" }, "147": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr", "source": "use crate::{\n abis::side_effect::Ordered, traits::{Empty, Serialize, Deserialize}, address::AztecAddress,\n constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\nuse dep::std::cmp::Eq;\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "148": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/key_validation_request.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::AztecAddress,\n constants::{SCOPED_KEY_VALIDATION_REQUEST_LENGTH, KEY_VALIDATION_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, grumpkin_point::GrumpkinPoint,\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequest {\n pk_m: GrumpkinPoint,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: GrumpkinPoint::zero(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: GrumpkinPoint::new(fields[0], fields[1]),\n sk_app: fields[2],\n }\n }\n}\n\nimpl KeyValidationRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequest {\n ScopedKeyValidationRequest { request: self, contract_address }\n }\n}\n\nstruct ScopedKeyValidationRequest {\n request: KeyValidationRequest,\n contract_address: AztecAddress,\n}\n\nimpl Eq for ScopedKeyValidationRequest {\n fn eq(self, other: ScopedKeyValidationRequest) -> bool {\n (self.request.eq(other.request))\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedKeyValidationRequest {\n fn empty() -> Self {\n ScopedKeyValidationRequest {\n request: KeyValidationRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_KEY_VALIDATION_REQUEST_LENGTH> for ScopedKeyValidationRequest {\n fn serialize(self) -> [Field; SCOPED_KEY_VALIDATION_REQUEST_LENGTH] {\n array_concat(self.request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_KEY_VALIDATION_REQUEST_LENGTH> for ScopedKeyValidationRequest {\n fn deserialize(fields: [Field; SCOPED_KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedKeyValidationRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedKeyValidationRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n" }, "152": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr", "source": "use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH}, hash::silo_nullifier,\n traits::{Empty, Hash, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = silo_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "161": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr", "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n" }, "162": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n abis::{caller_context::CallerContext, side_effect::{Ordered, RangeOrdered}}, address::AztecAddress,\n constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.hash == other.hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "167": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "176": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr", "source": "use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x10d9feff1d02db424becc3399f496be13d0586ea5a62c85de302ea88a1f345c5;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "177": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr", "source": "use crate::address::AztecAddress;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "179": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr", "source": "use crate::{\n abis::side_effect::{Ordered, OrderedValue}, constants::{LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH},\n traits::{Empty, Serialize, Deserialize}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> NoteLogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n NoteLogHash { value: self.value, counter: 0, length: self.length, note_hash_counter: 0 }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n" }, "182": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr", "source": "use dep::std::cmp::Eq;\n\nstruct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u64 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n" }, "183": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n abis::{gas_settings::GasSettings, gas::Gas}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n\n side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl CallContext {\n fn assert_is_zero(self) {\n let serialized: [Field; CALL_CONTEXT_LENGTH] = self.serialize();\n\n for i in 0..CALL_CONTEXT_LENGTH {\n assert(serialized[i] == 0);\n }\n }\n}\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n serialized.push(self.side_effect_counter as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n side_effect_counter: reader.read() as u32,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n side_effect_counter: 0,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn assert_is_zero() {\n let context = CallContext::empty();\n context.assert_is_zero();\n}\n\n#[test(should_fail)]\nfn not_zero_assert_is_zero() {\n let mut context = CallContext::empty();\n context.is_delegate_call = true;\n context.assert_is_zero();\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n" }, "184": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr", "source": "use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n" }, "185": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_circuit_public_inputs.nr", "source": "use crate::{\n abis::{\n call_context::CallContext, note_hash::NoteHash, nullifier::Nullifier, read_request::ReadRequest,\n gas::Gas, global_variables::GlobalVariables, log_hash::LogHash\n},\n address::AztecAddress,\n constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH, MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n hash::pedersen_hash, header::Header, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Hash, Serialize, Deserialize, Empty}, utils::reader::Reader\n};\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest; MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n\n // Global variables injected into this circuit\n global_variables: GlobalVariables,\n\n prover_address: AztecAddress,\n\n revert_code: u8,\n \n start_gas_left: Gas,\n end_gas_left: Gas,\n transaction_fee: Field,\n}\n\nimpl Eq for PublicCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Serialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n for i in 0..MAX_NULLIFIER_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_non_existent_read_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.extend_from_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.extend_from_array(self.contract_storage_reads[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_NOTE_HASHES_PER_CALL {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..MAX_NEW_L2_TO_L1_MSGS_PER_CALL {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n for i in 0..MAX_UNENCRYPTED_LOGS_PER_CALL{\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.prover_address.to_field());\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n fields.push(self.transaction_fee);\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn deserialize(serialized: [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n nullifier_non_existent_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL]),\n contract_storage_update_requests: reader.read_struct_array(StorageUpdateRequest::deserialize, [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL]),\n contract_storage_reads: reader.read_struct_array(StorageRead::deserialize, [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n global_variables: reader.read_struct(GlobalVariables::deserialize),\n prover_address: reader.read_struct(AztecAddress::deserialize),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n transaction_fee: reader.read(),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PublicCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PublicCircuitPublicInputs {\n fn empty() -> Self {\n PublicCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0 as u32,\n end_side_effect_counter: 0 as u32,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0 as u8,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PublicCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PublicCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PublicCircuitPublicInputs::empty();\n let hash = inputs.hash();\n\n // Value from public_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x1e4351db0c9aa20836e7009bc3e6a4555c92622c5e9cb3b49e2ec0fbbf59d0bd;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "187": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "191": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.nr", "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u64) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n" }, "192": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr", "source": "use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH}, abis::side_effect::Ordered,\n traits::{Deserialize, Empty, Serialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "204": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr", "source": "use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n tx_tree_height: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.tx_tree_height);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let tx_tree_height = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n tx_tree_height,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n tx_tree_height: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.tx_tree_height == other.tx_tree_height)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n" }, "207": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr", "source": "use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "208": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr", "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::log_hash::{LogHash, NoteLogHash};\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly. \npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n" }, "209": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr", "source": "use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n" }, "211": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr", "source": "use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "217": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr", "source": "use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n" }, "22": { "path": "std/field.nr", "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n" }, "227": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr", "source": "struct Reader<N> {\n data: [Field; N],\n offset: u64,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n" }, "243": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr", "source": "use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n" }, "244": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr", "source": "use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n" }, "333": { "path": "/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr", "source": "// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n" }, "4": { "path": "std/collections/bounded_vec.nr", "source": "use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<Len>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<Len>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<Len>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n\nimpl<T, MaxLen> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, MaxLen, Len> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n // TODO: Allow imports from \"super\"\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n}\n" }, "52": { "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr", "source": "use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n" }, "78": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr", "source": "use crate::{\n context::{inputs::PrivateContextInputs, interface::ContextInterface},\n messaging::process_l1_to_l2_message,\n hash::{hash_args_array, ArgsHasher, compute_unencrypted_log_hash},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n note::{note_interface::NoteInterface, utils::compute_note_hash_for_insertion},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_log, emit_encrypted_note_log, compute_encrypted_log},\n logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n hash::sha256_to_field,\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber, key_validation_request::KeyValidationRequest,\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, grumpkin_point::GrumpkinPoint, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader,\n traits::{is_empty, Deserialize, Empty}, utils::arrays::find_index\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests: BoundedVec<KeyValidationRequest, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n app_secret_keys_generators: BoundedVec<Field, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<LogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl ContextInterface for PrivateContext {\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests: BoundedVec::new(),\n app_secret_keys_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n returns::pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests: self.key_validation_requests.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests.push(request);\n self.app_secret_keys_generators.push(sk_generators[key_index]);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // call oracle\n let _void = emit_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n pub fn emit_contract_class_unencrypted_log<N>(&mut self, log: [Field; N]) {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n }\n\n pub fn encrypt_and_emit_log<N, M>(\n &mut self,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n ) where [Field; N]: LensForEncryptedLog<N, M> {\n // We are currently just encrypting it EXACTLY the same way as if it was a note.\n let counter = self.next_counter();\n let encrypted_log: [u8; M] = compute_encrypted_log(contract_address, storage_slot, note_type_id, ivpk_m, preimage);\n emit_encrypted_log(encrypted_log, counter);\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn encrypt_and_emit_note<Note, N, M>(\n &mut self,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ivpk_m: GrumpkinPoint,\n note: Note\n ) where Note: NoteInterface<N>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_hash: Field = compute_note_hash_for_insertion(note);\n let note_exists_index = find_index(\n self.new_note_hashes.storage,\n |n: NoteHash| n.value == note_hash\n );\n assert(\n note_exists_index != MAX_NEW_NOTE_HASHES_PER_CALL, \"Can only emit a note log for an existing note.\"\n );\n let note_hash_counter = self.new_note_hashes.storage[note_exists_index].counter;\n let preimage = note.serialize_content();\n let counter = self.next_counter();\n\n // TODO(#1139 | #6408): perform encryption in the circuit\n let encrypted_log: [u8; M] = compute_encrypted_log(contract_address, storage_slot, note_type_id, ivpk_m, preimage);\n emit_encrypted_note_log(note_hash, encrypted_log, counter);\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (64 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (176 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding) \n // len of processed log (4 bytes)\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, start_side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest { hash: item.hash(), caller_context, start_side_effect_counter, end_side_effect_counter }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests: BoundedVec::new(),\n app_secret_keys_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n\nstruct PackedReturns {\n packed_returns: Field,\n}\n\nimpl PackedReturns {\n pub fn new(packed_returns: Field) -> Self {\n PackedReturns { packed_returns }\n }\n\n pub fn assert_empty(self) {\n assert_eq(self.packed_returns, 0);\n }\n\n pub fn raw(self) -> Field {\n self.packed_returns\n }\n\n pub fn unpack<N>(self) -> [Field; N] {\n let unpacked: [Field; N] = returns::unpack_returns(self.packed_returns);\n assert_eq(self.packed_returns, hash_args_array(unpacked));\n unpacked\n }\n\n pub fn unpack_into<T, N>(self) -> T where T: Deserialize<N> {\n let unpacked: [Field; N] = self.unpack();\n Deserialize::deserialize(unpacked)\n }\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle_private<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T,\n _counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, event_selector, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nfn emit_contract_class_unencrypted_log_private<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<N>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: [Field; N],\n counter: u32\n) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, event_selector, message, counter)\n}\n\n" }, "99": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr", "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, silo_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n event_selector: Field,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n" } } }
1
+ { "transpiled": true, "noir_version": "0.30.0+a2f687687559d15fde52abce54838f6e144a0aa4", "name": "MultiCallEntrypoint", "functions": [{ "name": "entrypoint", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "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": "authwit::aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::transaction::tx_context::TxContext" } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs" }, "visibility": "private" }, { "name": "app_payload", "type": { "fields": [{ "name": "function_calls", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "args_hash", "type": { "kind": "field" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "target_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_public", "type": { "kind": "boolean" } }, { "name": "is_static", "type": { "kind": "boolean" } }], "kind": "struct", "path": "authwit::entrypoint::function_call::FunctionCall" } } }, { "name": "nonce", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::entrypoint::app::AppPayload" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "is_fee_payer", "type": { "kind": "boolean" } }, { "name": "max_block_number", "type": { "fields": [{ "name": "_opt", "type": { "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "std::option::Option" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber" } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 32, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest" } } }, { "name": "key_validation_requests_and_generators", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "request", "type": { "fields": [{ "name": "pk_m", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "sk_app", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest" } }, { "name": "sk_app_generator", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator" } } }, { "name": "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": "authwit::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": "authwit::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": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "authwit::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": "authwit::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": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "content", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_encrypted_logs_hashes", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "note_hash_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::log_hash::NoteLogHash" } } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }, { "name": "randomness", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash" } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "length", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::log_hash::LogHash" } } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "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": "authwit::aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables" } }, { "name": "total_fees", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header" } }, { "name": "tx_context", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "fields": [{ "name": "gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas" } }, { "name": "teardown_gas_limits", "type": { "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas" } }, { "name": "max_fees_per_gas", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }, { "name": "inclusion_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::GasSettings" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::transaction::tx_context::TxContext" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs" }, "visibility": "public" } }, "bytecode": "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", "debug_symbols": "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6uRtp07edurkbadO3nbq5G2nTt526uxtp87edursbafO3nbq7G2nzt526uxtp87edursbafO3nbq4m2nLt526uJtpy7eduribacu3nbq4m2nLt526uJtpy7edurqbaeu3nbq6m2nrt526uptp67edurqbaeu3nbq6m2nrt526uZtp27edurmbadu3nbq5m2nbt526uZtp27edurmbadu3nbq7m2n7t526u5tp+7edurubafu3nbq7m2n7t526u5tp+7edurhbace3nbq4W2nHt526uFtpx7edurhbace3nbq4W2nHs526nhztlPHm7OdOt6c7dTx5mynjjdnO3W8Odup483ZTh1vznbqeHO2U8ebt506eNupg7edOnjbqYO3nTp426mDt506eNupg7edOnjbqYO3nTp626mjt506etupvd1RjN7uKEZvdxSjtzuK0dsdxejtjmL0dkcxerujGL3dUYze7ihGb3cUo7c7itHbHcXo7Y5i9HZHMXq7oxi93VGM3u4oRm93FKO3O4rR2x3F6O2OYvR2RzF6u6MYvd1RjN7uKEZvdxSjtzuK0dsdxejtjmL0dkcxerujGL3dUYze7ihGb3cUo7c7itHbHcXo7Y5i9HZHMXq7oxi93VGM3u4oRm93FKO3O4rR2x3F6O2OYvR2RzF6u6MYvd1RjN7uKEZvdxSjtzuK0dsdxejtjmL0dkcxerujGL3dUYze7ihGb3cUo7c7itHbHcXo7Y5i9HZHMXq7oxi93VGM3u4oRm93FKO3O4rR2x3F6O2OYvR2RzF6u6MYvd1RjB+/o9hrfCxofLeg5m1B3duChq8FpY/fUTxdUPC2oOhtQcnbgj69U4/6eD/ndsvp9wUVbwuq3hbUvC3oszt1vIXHf9TH/+7j9wUNZwv68B3FeOtlPBY0br//sf/wHcWJBUVvC0ofXtAIXxZU++8Lyt4WVLwtqHpbUPO2oO5tQcPZguKnd+rR708ExnCL3ywoeFtQ9LagD+/Ufz3q8ljQ8f9+X9CHd+q/7ms9FzTy7wsq3hZUvS3owzt1GLf+WNAxIPp9Qd3bgj68U8fb89NHz26/LejDdxQnFhS8LejDO3Usz536+PjJ27gxPT+dy3MXDaN88+lRHsse9fb8AxxT+LvYxFRs/nSxoTyKre2k2FLq3x8u7TktyH8vveAuveIuveEuveMufXhe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jt526uRtp07edurkbadO3nbq5G2nTt526uRtp07edurkbadO3nbq7G2nzt526uxtp87edursbafO3nbq7G2nzt526uxtp87eduribacu3nbq4m2nLt526uJtpy7eduribacu3nbq4m2nLt526uptp67edurqbaeu3nbq6m2nrt526uptp67edurqbaeu3nbq5m2nbt526uZtp27edurmbadu3nbq5m2nbt526uZtp27edurubafu3nbq7m2n7t526u5tp+7edurubafu3nbq7m2n7t526uFtpx7edmpvdxSHtzuKw9sdxeHtjuLwdkdxeLujOLzdURzO7ijGm7M7iseCfO3Ux4J87dTHgnzt1MeCfO3Ux4J87dTHgnzt1MeCfO3Ux4J87dTHgrzt1M7uKB4L8rZTO7ujeCzI207t7I7isSBvO7WzO4rHgrzt1M7uKB4L8rZTO7ujeCzI207t7I7isSBvO7WzO4rHgrzt1M7uKB4L8rZTO7ujeCzI207t7I7isSBvO7WzO4rHgrzt1M7uKB4L8rZTO7ujeCzI207t7I7isSBvO7WzO4rHgrzt1M7uKB4L8rZTO7ujeCzI207t7I7isSBvO7WzO4rHgrzt1M7uKB4L8rZTO7ujeCzI207t7I7isSBvO7WzO4rHgrzt1M7uKB4L8rZTO7ujeCzI207t7I7isSBvO7WzO4rHgj69U/caHwsa3y2oeltQ87ag7m1Bw9mCPn5H8XRBwduCorcFfXqnHvXxfs7tmL38vqDsbUHF24KqtwV9dqf+62+/PF5suoU+fl9Q97ag8eEF9TIeCxq33//Yf/iO4sSCgrcFxQ8vaIQvC6r99wUlbwvK3hZUvC2oeltQ87ag7m1Bn96pR78/ERjDLf6+oHHztqDgbUEf3qlDyI9Ph+P//b6gD+/UIT6GDcf/Hvn3BWVvCyreFvThnfqv164eCzoGRL8vqHlb0Id36r/+bun900fPbr8vaPhaUPjwHcWJBX14p47luVMfHz95Gzem56dzee6iYZRvPj3KY9mj3p5/gGMKfxcbmYpNny42lEextZ0UW0r9+8OlPacF+e+lZ9ylF9ylV9ylN9yld89Lf/M4+bH0Abv0cMNdesBdesRduuvT9P3SXZ+m75fu+jR9v3TXp+n7pbs+Td8vHfc0DbinacQ9TSPuaRpxT9OIe5p++Daz6dJx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VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQHnXxVw/lUB518VcP5VAedfFXD+VQXnX1Vw/lUF519VcP5VvWGfvxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/VcH5VxWcf1XB+VcVnH9VwflXFZx/1cD5Vw2cf9XA+VcNnH/VbtjnbwPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw/lUD5181cP5VA+dfNXD+VQPnXzVw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sRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsJnbGV0BlbCZ2xldAZW+kGfhIndMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZGZ2xldMZWRmdsZXTGVr6Bn8QZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsVXQGVsFnbFV0BlbBZ2xVW7gJ3FBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbFV0xlZFZ2xVdMZWRWds1Rv4SVzRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWw2dsdXQGVsNnbHV0Blb7QZ+Ejd0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkdnbHV0xlZHZ2x1dMZWv4GfxB2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2x1dEZWx2dsdXRGVsdnbHV0RlbHZ2xNdAZWwOdsTXQGVsDnbE1buAn8UBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWQGdsDXTG1kBnbA10xtZAZ2wNdMbWAGdsxRs4Y+soAPskPgrAPomPArBP4qMA7JP4KAD7JD4KwD6JjwKwT+KjAOyT+CgA/SQGZ2wdBaCfxOCMraMA9JMYnLF1FIB+EoMzto4C0E9icMbWUQD6SQzO2DoKQD+JwRlbRwHoJzE4Y+soAP0kBmdsHQWgn8TgjK2jAPSTGJyxdRSAfhKDM7aOAtBPYnDG1lEA+kkMztg6CkA/icEZW0cB6CcxOGPrKAD9JAZnbB0FoJ/E4IytowD0kxicsXUUgH4SgzO2jgLQT2JwxtZRAPpJDM7YOgpAP4nBGVtHAegnMThj6ygA/SQGZ2wdBaCfxOCMraMA9JMYnLF1FIB+EoMzto4C0E9icMbWUQD6SQzO2DoKQD+JwRlbRwHoJzE4Y+soAP0kBmdsHQWgn8TgjK2jAPSTGJyxdRSAfhKDM7aOAtBPYnDG1lEA+kkMztg6CkA/icEZW0cB6CcxOGPrKAD9JAZnbB0FoJ/E4IytowD0kxicsXUUgH4SgzO2jgLQT2JwxtZRAPhJHNAZWwGdsRXQGVsBnbF1LA+9APCTOKAztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMroDO2AjpjK6AztgI6YyugM7YCOmMrojO2IjpjK6IztiI6YyvewE/iiM7YiuiMrYjO2IrojK2IztiK6IytiM7YiuiMrYjO2IrojK2IztiK6IytiM7YiuiMrYjO2IrojK2IztiK6IytiM7YiuiMrYjO2IrojK2IztiK6Iyt6JvwVHL8+7MlvyrA9TkwU4DrXaiUfi+gthcFuN6FZgpwvQvNFOB6F5opwHUemCjAN19opgDX50AN9e/P1hRfFOD6HJgpwHUemCkgoxfg+iSeKcD1STxTgOuTeKYA1yfxTAGuT+KJAnzzhWYKQD+JffOFZgpAP4l984VmCkA/iX3zhWYKQD+JffOFZgr4/En8clz4+2d7G/d19B7y85tr+GeDyAU0oqXlBq5yI1e5CbXcZwkZv4SCX0LFL6Hhl9DxS4B1E48SGqxDeJYAe+o/S4A9yZ8l+D6de7vdPzzOzch4fPNtPD/bb1/K9X2Sm5fr+9T/Wbm2f9mj+XYTS6Xx7VKWSuPb/SyVxrerWilN9+3Wlkrj2wUulca3u1wqzU6u1ViaLGleSSM3/FIaueGX0sgNv5RGbvilNHLDr6QZcsMvpZEbfimN3PBLaeSGX0qTJc0raeSGX0ojN/xSGrnhl9LIDb+URm74hTTpJjf8Uhq54ZfSyA2/lEZu+KU0WdK8kkZu+KU0csMvpZEbfimN3PBLaeSGX0kT5IZfSiM3/FIaueGX0sgNv5QmS5pX0sgNv5RGbvilNHLDL6WRG34pjdzwK2kiqa85J0WmSOprZqQhPaHOyX4pkp5QM9KQnlAz0pCeUBPSJNJ5zYw0pPOaGWlIfc056SglUl8zI02WNK+kIZ3XzEhD6oZnpCF1wzPSkLrhGWlI3fCENJnUDc9IQ+qGZ6SRG34pjdzwS2nyRtL84JtDr/le4fFveX769t2nYyn3Alt4IeRO3nmpkDs57aVC7uTLlwq5k4s3EvIpzk4+3lqcspOTNxdnJy9vLs5Obt5cnJ38vLk4WeK8Fkcu/Y04rM571Ps3h9HSL+L8o1BdWJ23uZCszvtHQsb4KDCXF0KyunRrIZ2/qQMkJKv7NxeSNSmYC8maKsyFzBLSRkjWtPIzIc8nuM7ffAISkjTZxFu6/+wab1/W/I+TjfP3r4CEJE02PxNy4rBx/hYYkJCkycZeSNJkYy8kabKxFzJLSBshSZONvZCkyeaHQp4nm61eq1sqJGuyCeGhTYj9z5PNVi/hrRRyq3fzLhNy4rDZ6pW9pUKyJhtzIVmTjbmQWULaCMmabMyFZE025kKyJpufCXmebLZ6p3CpkLS/2fT6FHKcCNnG45tvz8+GfnsKudUbiEuFpP3NxlpI2mRTw0PIlv98aLHVa4xLhcwS8lzICR+51UuPS4WkTTbWQtImG2shaZONtZC0v9nYCpm3es9yqZC0v9n8SMjToUXe6q3MpUIq2cTQ4y9CPsXJEue1OEogb8RhTRXH4Oqx5lj+eGCQt3qNc6mQrKniR0LOeDjWVGEt5Fbvgi4VkjVVmAvJmirMhWRNFeZCZglpIyRrWvmZkOcDg63eSl0qpJLN8ec2fZ+ft3pb1VwcJZDX4kTaVFH7Y809/PnAINKmCmshaVPFT4Sc8HBbvQ+8VMgsIW2EpE0V1kLSpgprIWlThbWQtAnEWkjatPIjIc8HBlu9y71USCUbIyGVbIyEVLIxEjJLSBshlWyMhFSyMRJSyeYQ8tcL309xlFbeiKME8lqcrd43f/nNz3IpvP+zXN8OfTxwh318/eZ/XK5vH21ebt6n3IlJkvNXvc3L9e0czcv17e/My/Xt2MzL9e3BrMt1/tb0z8o9z2bOX482L3cjVzVT7kauaqbczFXuTq5qolznrqo/A+BIfx4RnL9+bF6uc1f1k3JnbIZzV2VcrvP3fs3Lde6qrMt17qqsy3XuqqzLzRuVe24znL8Wa17uRq5qptyNXNVMuTu5qolyd3JV5+X6fmt03PL9m8et1D+PCL5fBLUv17Wr+lm5EzbD9+ua9uVmrnJduyr7cl27KvtyXbsq+3Jdu6ofljthM1y7KvNyfb9zaF/uRq5qptydXNVEuTu5qolyM0y59dcA+CwBxym9LAHH/bwswbmjGfd1jGMhf541fb/JZl+uc0fzk3In/Krv983sy3XuaKzLde5orMt17misy81c5Tp3Pz8q99yv+n7Dyr7cjVzVTLkbuaqZcndyVaflFt9vK9mXu5OrmigXyFWNbzNs8f1C0FwJ2XUJIT9L+HJN9/v/6Hq8M1D7lzXHW/pSrm/3Y16ub/fzo3Jbf/xt9xBPvvl8QlF8v56zVhrfrmqpNL4d2EppfL9Zs1Ya385uqTS+XeBSaXy7y6XSZEnzSpqNHK61NHLDL6WRG34pjdzwS2nkhl9J4/utlbXSyA2/lEZu+KU0csMvpcmS5pU0csMvpZEbfimN3PBLaeSGX0ojN/xKGt/vc6yVRm74pTRywy+lkRt+KU2WNK+kIfU1Jd//pkTJr6Qh9TUT0vjmwl8oTbk/EVBqeyEN6Qk1Iw3pCTUjDekJNSMN6bxmRhrSec2MNKS+5vyF9eKbpb9WGtJ5zYQ0vhn9a6UhdcMz0pC64RlpSN3wjDRZ0ryShtQNz0hD6oZnpJEbfimN3PBLaeSGX0nj+22FH0rzg29u7X6Jt/3yROqXC4a+32FYK81ObthYmp3csLE0WdK8kmYnN2wszU5u2FiandzwP5Nm1BfS7OSGjaXZyQ3bSuP8TYzLpPmC20jlhTSkbnhGGlI3PCMNqRuekSZLmlfSkLrhGWlI3fCMNKRueIKV5fzNkaXSkLrhCWmcv2ViJM2zXAqH+yzXt2uN8f7hkdI4KTfcer6v+qjgy6fzl4J9e9ELCs5sBfv2jRcU7NsNXlCwb493QcG+ndsFBfv2Y/YFO39f5YKCffusCwpmc1rOX1m5oODMVjCb03L+1soFBbM5LefvrVxQMJnTqs7fXLmgYDKnVZ2/u3JBwWROq94yW8FkTqs6f9flgoLJnFZ1/gbLBQWzOS3n76VcUDCb03L+tskFBbM5LefvkFxQMJvTcv5myAUFszkt5+97XFAwm9Ny/hbHBQWzOS3n72ZcUDCb03L+xsUFBbM5LefvUVxQMJvTcv52xAUFszkt5+88XFAwm9Ny/ibDBQWzOS3n7ydcUDCb00psTsv5uxcXFMzmtBKb08psTsv5KyQXFMzmtJy/GHJBwZmtYDan5fzNjgsKZnNazt/XuKBgNqfl/C2MCwpmc1rO3624oGA2p+X8jYkLCmZzWs7fg7igYDan5fzthgsKZnNazt9ZuKBgNqfl/E2ECwpmc1rO3y+4oGA2p+X8rYELCmZzWs7fBbigYDan5Zzhf0HBbE7LOW//goLZnJZzNv4FBbM5Lecc+wsKZnNazpnzFxTM5rSc8+EvKJjNabEx4isbI76yMeIrGyO+sjHiKxsjvrIx4isbI76yMeIrGyO+sjHiKxsjvrIx4isbI76yMeIrGyO+sjHiKxsjvrEx4hsbI76xMeIbGyO+3TJbwWROq7Ex4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+sTHiGxsjvrEx4hsbI76xMeIbGyO+szHiOxsjvrMx4jsbI77fMlvBZE6rszHiOxsjvrMx4jsbI76zMeI7GyO+szHiOxsjvrMx4jsbI76zMeI7GyO+szHiOxsjvrMx4jsbI76zMeI7GyO+szHiOxsjvrMx4jsbI76zMeI7GyO+szHiOxsjvrMx4jsbI76zMeI7GyO+szHiOxsjvrMx4jsbI76zMeI7GyO+szHiOxsjvrMx4jsbI76zMeI7GyO+szHiOxsjvrMx4jsbI76zMeI7GyO+szHiOxsjvrMx4jsbI76zMeL7TgTx0eL9w+3Xb36Wu9EpPFPuRjv06P3+4dFelLvR/jxT7ka780y5G+3NM+VulIEnyt2JKD1T7k7n7kS5O527E+VulH1nys1c5XK5qp0o0jPlwrqqZwmwTulZgm/3k9rjv6M8bhZB3Dnn+YKCfTugCwr27YEuKNi3C7qg4MxWsG8ndEHBvr3QBQX7dkMXFOzbO11QMJvTcs55vqBgNqflnPN8QcFsTss55/mCgtmclnPO8wUFszkt55znCwomc1rDOef5goLJnNZwznm+oGAypzVuma1gMqc1nHOeLyiYzGkN55znCwpmc1rOOc8XFMzmtJxzni8omM1pOec8X1Awm9Nyznm+oGA2p+Wc83xBwWxOyznn+YKC2ZyWc87zBQWzOS3nnOcLCmZzWs45zxcUzOa0nHOeLyiYzWk55zxfUDCb03LOeb6gYDan5ZzzfEHBbE7LOef5goLZnJZzzvMFBbM5Leec5wsKZnNazjnPFxTM5rScc54vKJjNaTnnPF9QMJvTcs55vqBgNqflnPN8QcFsTss55/mCgtmclnPO8wUFszkt55znCwpmc1rOOc8XFMzmtCqb03JO8r6gYDanVdmcVs1sBbM5LefE9gsKZnNazqntFxTM5rSck9svKJjNaTmnt19QMJvTck5wv6BgNqflnOJ+QcFsTss59f2CgtmcFhsjfrAx4gcbI36wMeIHGyN+sDHiBxsjfrAx4gcbI36wMeIHGyN+sDHiBxsjfrAx4gcbI36wMeIHGyN+sDHiBxsjfpAx4tONjBF/FMzltI6CuZzWUTCX0zoKzmwFczmto2Aup3UUzOW0joK5nNZRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWzOS0yRvxRMJvTImPEHwWTOa3AxogPbIz4wMaID2yM+KMctoLJnFZgY8QHNkZ8YGPEBzZGfGBjxAc2RnxgY8QHNkZ8YGPEBzZGfGBjxAc2RnxgY8QHNkZ8YGPEBzZGfGBjxAc2RnxgY8QHNkZ8YGPEBzZGfGBjxAc2RnxgY8QHNkZ8YGPEBzZGfGBjxAc2RnxgY8QHNkZ8YGPEBzZGfGBjxAc2RnxgY8QHNkZ8YGPEBzZGfGBjxAc2RnxgY8QHNkZ8YGPEBzZGfGBjxAc2RnxgY8QHNkZ8YGPEh50I4qPF+4fbr9/8KHcnfvhMuRvt0KM/Pjzai3I32p9nyt1od54pd6O9eabcjTLwTLkbJeCZcnc6d8/L3YkmPVPuRtl3ptyNku9MuVyuaieK9Ey5sK7qWQKsU3qW4Nv9lHyP1qOOfhbEy30ZxwTpxX90vt2Pebm+3Y91uc4Jz+bl+nY/5uX6dj/m5fp2P+blZq5yfbsf83J9OyXzcrlclXOis3m5XK7KOc3ZvFwuV+Wc5GxeLperck5xNi+Xy1U5Jzibl8vlqpzTm83LpXJV0Tm52bxcKlcVnVObzculclXxlrnKpXJV0Tmt2bxcKlcVnZOazcvlclXOKc3m5XK5KueEZvNyuVyVczqzeblcrso5mdm8XC5X5ZzKbF4ul6tyTmQ2L5fLVTmnMZuXy+WqnJOYzcvlclXOKczm5XK5KucEZvNyuVyVc/qyeblcrso5edm8XC5X5Zy6bF4ul6tyTlw2L5fLVTmnLZuXy+WqnJOWzcvlclXOKcvm5XK5KueEZfNyuVyVc7qyeblcrso5Wdm8XC5X5ZyqbF4ul6tyTlQ2L5fLVTmnKZuXy+WqnJOUzcvlclWFy1U5p2Rbl+uckm1eLperqlyuyjkD3bzczFUul6tyzkA3L5fLVTlnoJuXy+WqnDPQzcvlclXOGejm5XK5KucMdPNyuVyVc166eblcroqLrR652OqRi60eudjqkYutHrnY6pGLrR652OqRi60eudjqkYutHrnY6pGLrR652OqRi60eudjqkYutHrnY6pGLrR652OqRi60eudjqiYutnrjY6omLrZ642OrplrnKpXJViYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqZi62eudjqmYutnrnY6vmWucqlclWZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652Op5Jxz1aPH+4ZZelLvRQTRR7k7A4tH7/cOjvSh3o61qptyNtqqZcjNXuRsFwJlyNwqAM+XudO5OlLvTuTtR7kYBcKLcnYDFM+VyuaqdgMUz5cK6qmcJGb8E3+6nxXEvocd2FsNvo95XHcKXdZT+pWDf/ueCgn07oAsK9u2BLijYtwuyL9g5YviCgn07oQsK9u2FLijYtxu6oODMVjCb03KOG76gYDan5Rw5fEHBbE7LOXb4goLZnJZz9PAFBbM5Lef44QsKZnNazhHEFxTM5rScY4gvKJjMaRXnKOILCiZzWsU5jviCgsmc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fwF//gr+/A38+Tv48w/s5x/g798B/v4d4O/fAf7+denVWfn84O/fAf7+HeDv3wH+/h3Y71+7Yb9/7Yb9/rUb9vvXbtjvX7thv3/thv3+tRv2+9du2O9fu2G/f+0G/v7dwN+/G/j7dwN//27g71+f7p+Fzw/+/t3A378b+Pt3A3//buDv3x38/buDv3938PfvDv7+9en+Wfj84O/fHfz9u4O/f3fw9+8O/v49wN+/B/j79wB//x7g71+f7qWFzw/+/j3A378H+Pv3AH//HuDvXwN//xr4+9fA378G/v716b5a+Pzg718Df/8a+PvXwN+/Bv7+LeDv3wL+/i3g798C/v716b5a+Pzg798C/v4t4O/fAv7+LeDv3wr+/q3g798K/v6t4O9fn/6qhc8P/v6t4O/fCv7+reDv3wr+/m3g798G/v5t4O/fBv7+9emUWvj84O/fBv7+beDv3wb+/m3g71/w/isD778y8P4rA++/MvD+KwPvvzLw/isD778y8P4rA++/MvD+KwPvvzLw/isD778y8P4rA++/MvD+KwPvvzLw/isD778q4P1XBbz/qoD3XxXw/qtyw37/FvD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgvdfVfD+qwref1XB+6/qDfv9W8H7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rBt5/1cD7rxp4/1UD779qN+z3bwPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvOnj/VQfvv+rg/VcdvP+q37Dfvx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/GuD9VwO8/2qA918N8P6rccN+/w7w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/6v6g2C/gfx4UXQD2K/j+oNjv4PuDYr+E7w+K/Ra+Pyj2a/j+oNjv4fuDYr+I7w+K/iYGr8K6C0B/E4OXYd0FoL+Jweuw7gLQ38TghVh3AehvYvBKrLsA9DcxeCnWXQD6mxi8FusuAP1NDF6MdReA/iYGr8a6C0B/E4OXY90FoL+Jweux7gLQ38TgBVl3AehvYvCKrLsA9DcxeEnWXQD6mxi8JusuAP1NDF6UdX869DcxeFXW/enQ38TgZVn3p0N/E4PXZd2fDv1NDF6YdX869DcxeGXWXQD6mxi8NOsuAP1NDF6bdReA/iYGL866C0B/E4NXZ90FoL+Jwcuz7gLQ38Tg9Vl3AehvYvACrbsA9DcxeIXWXQD6mxi8ROsuAP1NDF6jdReA/iYGL9K6C0B/E4NXad0FoL+Jwcu07gLQ38TgdVp3AehvYvBCrbsA9DcxeKXWXQD6mxi8VOsuAP1NDF6rdReA/iYGL9a6C0B/E4NXa90FoL+Jwcu17gLQ38Tg9Vp3AehvYvCCrbsA9DcxeMXWXQD4m3hD79ja0Du2NvSOrQ29Y+v+eOgCwN/EG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWhd2xt6B1bG3rH1obesbWjd2zt6B1bO3rH1o7esbXfwN/EO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2zt6B1bO3rH1o7esbWjd2wd6B1bB3rH1oHesXWgd2wdN/A38YHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWgd2wd6B1bB3rH1oHesXWg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WX/7SdbffpL1t59k/e0nWX/7SdbffpL1t59k/e0nWX/7SdbffpL1t59k/e0nWX/7SdbffpL1t59k/e1nqn7v58d+fH353j988598kH0/2pfEZt+fo23/1+/8KK/PvD9+AfuC9zfUtfWv77x/+M7F9t9fW+y4mH4mN6Lp/3D6qbrfNf2fTj+TU9X0fzr9TL5d0//p9DOlGE3/p9M3TZ94+pkSrqb/0+ln+nmKpv/T6Wf66ZKm/9Ppa9fHPH3t+tJOv72+cXn7vn9MP9UdIk3/p9PXro95+tr1MU9fu76006/f0z8vpm+aPvH0tetjnr52fczT166Pefra9TFPX7u+tNMvr49czovf6U11E1PT/+n0tetjnr52fczT166Pefqm6RNPX7s+5ulr18c8fe36mKevXR/z9LXrI55+qvvsmv5Pp69dH/P0tetjnr52fczTN02fePra9TFPX7s+5ulr18c8fe36mKevXR/x9Lt2fczT166Pefra9TFPX7s+5umbpk88fe36mKevXR/z9LXrY56+dn3M09euj3f69aFdH/P0tetjnr52fczT166Pefqm6RNPX7s+5ulr18c8fe36iKe/Ke+vnf72nMHX9LfTc/ofb3PUTXmfefrK+8zTV95nnr5p+sTTV95nnr7yPvP0lfeZp6/f7WGevn63h3j6u3Z9zNPXri/t9D9eY6y7dn3M09euj3n6pukTT1+7vrTT/3iRre7a9TFPX7s+5ulr18c8fe36iKd/aNfHPH3t+tJO//Pv9B7a9TFPX7s+5umbpk88fe36mKevXR/z9LXrY56+dn3M09euj3j6pl0f8/S162OevnZ9zNPXro95+qbpE09fuz7m6WvXxzx97fqYp69dH/P0tesjnn7Rro95+tr1MU9fuz7m6WvXxzx90/SJp69dH/P0tetjnr52fczT166Pefra9RFP/9Suj3n62vUxT1+7Pubpa9fHPH3T9Imnr10f8/S162OevnZ9zNPXro95+tr1EU+/Ku9PmL7vBY2qVB5/RqYZhZ+REm78GSmHxp+R0mL8GSnTxZ+Rklf4GTX9LkT8Gek3FuLPSHuG+DPSnmHxjD5fVWumGYWfkfYM8WekPUP8GWnPsHhGny/+NO0Z4s9Ie4bwM+raM8SfkfYM8WekPUP8GWnPsHhGn38vqJtmFH5G2jPEn5H2DPFnpD1D/Blp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8Trge7wO+B6vA77H64Dv8Trge7xO+B6vE77H64Tv8Trhe7zOB/o7+YTv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vE77H64Tv8Trhe7xO+B6vC77H64Lv8brge7wu+B6v64H+Tr7ge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77H64Lv8brge7wu+B6vC77Hy+B7vAy+x8vge7wMvsfLHujvZIPv8TL4Hi+D7/Ey+B4vg+/xMvgeL4Pv8TL4Hi+D7/Ey+B4vg+/xMvgeL4Pv8TL4Hi+D7/Ey+B4vg+/xMvgeL4Pv8TL4Hi+D7/Ey+B4vg+/xMvgeL4Pv8TL4Hi+D7/Ey+B4vg+/xMvgeL4Pv8TL4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FLN5rkbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0/XQd7oe+k7XQ9/peuj7w+gUs3muTtdD3+l66DtdD32n66HvdD30na6HvtP10He6HvpO10Pf6XroO10Pfafroe90PfSdroe+0/XQd7oe+k7XQ9/peug7XQ99p+uh73Q99J2uh77T9dB3uh76TtdD3+l66DtdD32n66HvdD30na6HvtP10He6HvpO10Pf6XroO10Pfafroe90PfSdroe+0/XQd7oe+k7XQ9/peug7XQ99p+uh73Q99J2uh77T9dB3uh76TtdD3+l66DtdD32n66HvdD30PVNH+Wjnxxe337/zi95Eb+MpvYme06P3jy8e7Z3eRE/pKb2JntFTehM9oaf0JsrEM3ozNVZP6c30/p3Rm+n9O6M3URae0mtkesn8VaaW6im9sP7qRQOsZ3rRENsHXe3zn5KNh0syD94jvUJxbC+0QnFsN7RCcWw/tEKx0SmO7YlWKI7tilYoju2LViiO7aJWKKbzXMF7pFcopvNcwXukVyim81zBe6RXKKbzXMF7pFcopvNcwXukVyhm81wjeI/0CsVsnmsE75FeoZjNc42H0Slm81wjeI/0CsVsnmsE75FeoZjOcwXvkV6hmM5zBe+RXqGYznMF75FeoZjOcwXvkV6hmM5zBe+RXqGYznMF75FeoZjOcwXvkV6hmM5zBe+RXqGYznMF75FeoZjOcwXvkV6hmM5zBe+RXqGYznMF75FeoZjOcwXvkV6hmM5zBe+RXqGYznMF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ZtPQ02bT0A/QZ6Gnzaahp82moafNpqGnzaahp81mod9os2noabNp6Gmzaehps2noB+iz0NNm09DTZtPQ02bT0NNm09DTZrPQP2izaehps2noabNp6GmzaegH6LPQ02bT0NNm09DTZtPQ02bT0NNms9DvtNk09LTZNPS02TT0tNk09AP0Wehps2noabNp6Gmzaehps2noabNZ6A/abBp62mwaetpsGnrabBr6Afos9LTZNPS02TT0tNk09LTZNPS02ST0jwttNg09bTYNPW02DT1tNg39AH0WetpsGnrabBp62mwaetpsGnrabBb6K202DT1tNg09bTYNPW02Df0AfRZ62mwaetpsGnrabBp62mwaetpsFvobbTYNPW02DT1tNg09bTYN/QB9FnrabBp62mwaetpsGnrabBp62mwW+jttNg09bTYNPW02DT1tNg39AH0WetpsGnrabBp62mwaetpsGnrabBb6QZtNQ0+bTUNPm01DT5tNQz9An4WeNpuGnjabhp42m4aeNpuGnjabhX7SZtPQ02bT0NNm09DTZtPQD9BnoafNpqGnzaahp82moafNpqGnzf6nz/ENz0bjPMVDKzzFQ3M7xUO7OsUzwHOGh5ZyiocmcYqHtH+Kh0R+iofUfIbnQWo+xdMoNR/7/vnFx+Op4EY5OCa4UbKNCR5ughulz5jgRnkyJrhRQowJbpT5YoIbpbiQ4L1RLosJdktau1vS2t2S1j7cBLslrd0tae1uSWt3S1q7W9I63JLW4Za0DrekdbglrWO4CXZLWodb0jrcktbhlrQOs6S1X8yS1n4xS1r7xSxp7Z1uz8cEDzfBZklr73TdPCbYLGntnS55xwS7Ja1OV6tjgt2SVqcLzTHBbkmr0zXimGC3pNXp8m5MsFvS6nRlNibYLWl1uqgaE+yWtDpdD40JdktanS5lxgS7Ja1OVyFjgt2SVqcLiDHBbkmr07W/mGC3pNXpsl1MsFvS6nTFLSbYLWl1ulgWE+yWtDpd54oJdktanS5RxQS7Ja1OV5digt2SVqcLQzHBbkmr0zWdmGC3pNXpckxMsFvS6nQlJSbYLWl1uggSE+yWtDpdv4gJdktanS49xAS7Ja1OVw1igt2SVqfrADHBbkmr0wb/mGC3pNVpy35MsFvS6rQJPybYLWl12lYfE+yWtDptlI8Jdktabjvid7cd8bvb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" }, { "name": "compute_note_hash_and_optionally_a_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "error_types": {}, "parameters": [{ "name": "contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" }, { "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" }, { "name": "note_type_id", "type": { "kind": "field" }, "visibility": "private" }, { "name": "compute_nullifier", "type": { "kind": "boolean" }, "visibility": "private" }, { "name": "serialized_note", "type": { "kind": "array", "length": 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": "ndpBattQGIXRvWgciu8v6T0pWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl9q+fP2/LY93l+cL9v3y/A49noYdseX+1P/fBhe94fd7bmNn98e7qMVRuNGRpFRyWiU0SSjWUZNRl1GUsQoRUxSxCRFTFLEJEVMUsQkRUxSxCRFTFLEJEXMUsQsRcxSxCxFzFLELEXMUsQsRcxSxCxFNCmiSRFNimhSRJMimhTRpIgmRTQpokkRXYroUkSXIroU0aWILkV0KaJLEV2K6FLEIkUsUsQiRSxSxCJFLFLEIkUsUsQiRSxSxCpFrFLEKkWsUsQqRaxSxCpFrFLEKkWsUkQ2G1qFVkWrkVYTrWZaNVp1Wi20ojZCbYTaCLURaiPURqiNUBuhNkJthNooaqOojaI2itooaqOojaI2itog0AyJZog0Q6YZQs2QaoZYM+SaIdgMyWaINkO2GcLNkG6GeDPkmyHgDAlniDhDxhlCzpByhpgz5Jwh6AxJZ4g6Q9YZws6Qdoa4M+SdIfAMiWeIPEPmGULPkHqG2DPkniH4DMlniD5D9hnCz5B+hvgz5J8hAA0JaIhAQwYaQtCQgoYYNOSgIQgNSWiIQkMWGsLQkIaGODTkoSEQDYloiERDJhpC0ZCKhlg05KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiZRc9yUWLXLTIRYtctMhFi1y0yEXrv130dvq5fd9vnw67+93e+8eP4/O/q7634+XX298vt39/Aw==" }], "outputs": { "globals": {}, "structs": { "functions": [{ "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "app_payload", "type": { "fields": [{ "name": "function_calls", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "args_hash", "type": { "kind": "field" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "target_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "is_public", "type": { "kind": "boolean" } }, { "name": "is_static", "type": { "kind": "boolean" } }], "kind": "struct", "path": "authwit::entrypoint::function_call::FunctionCall" } } }, { "name": "nonce", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::entrypoint::app::AppPayload" } }], "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_parameters" } }], "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_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" }, "126": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr", "source": "use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n PrivateCallStackItem::deserialize(fields)\n}\n" }, "131": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr", "source": "use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n item\n}\n" }, "156": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse dep::std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: 0 }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n" }, "158": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr", "source": "use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\nuse dep::std::cmp::Eq;\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, nullifier_counter: u32, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, nullifier_counter, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n nullifier_counter: u32,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.nullifier_counter == other.nullifier_counter)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n nullifier_counter: 0,\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.nullifier_counter as Field, self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n nullifier_counter: reader.read_u32(),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n assert(\n (self.nullifier_counter == 0) | (read_request.counter() < self.nullifier_counter), \"Read request counter must be less than the nullifier counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "159": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "160": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item.nr", "source": "use crate::abis::{function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs};\nuse crate::address::AztecAddress;\nuse crate::constants::GENERATOR_INDEX__CALL_STACK_ITEM;\nuse crate::traits::Hash;\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs = PublicCircuitPublicInputs::empty();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs\n };\n call_stack_item\n }\n}\n\nmod tests {\n use crate::{\n abis::{\n function_data::FunctionData, function_selector::FunctionSelector, note_hash::NoteHash,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem\n },\n address::AztecAddress, constants::GENERATOR_INDEX__CALL_STACK_ITEM, traits::Hash\n };\n\n #[test]\n fn compute_call_stack_item_request_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: true, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item request hash\" test\n let test_data_call_stack_item_request_hash = 0x2751111aa213d9d21279da53531bf90c2da272cf3f959e2a2a1dfceb487bf102;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_request_hash);\n }\n\n #[test]\n fn compute_call_stack_item_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: false, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item hash\" test\n let test_data_call_stack_item_hash = 0x1860d00d9602966e398c6d585216baba2ffa8c5eddda5faee041136665d8482a;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);\n }\n}\n" }, "161": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr", "source": "use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u32,\n nullifier_read_requests: u32,\n key_validation_requests_and_generators: u32,\n new_note_hashes: u32,\n new_nullifiers: u32,\n new_l2_to_l1_msgs: u32,\n private_call_requests: u32,\n public_call_stack_hashes: u32,\n note_encrypted_logs_hashes: u32,\n encrypted_logs_hashes: u32,\n unencrypted_logs_hashes: u32,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n new_note_hashes: validate_array(public_inputs.new_note_hashes),\n new_nullifiers: validate_array(public_inputs.new_nullifiers),\n new_l2_to_l1_msgs: validate_array(public_inputs.new_l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\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: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.new_note_hashes == other.new_note_hashes) &\n (self.new_nullifiers == other.new_nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.new_l2_to_l1_msgs == other.new_l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.new_note_hashes.len() {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..self.new_nullifiers.len() {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.new_l2_to_l1_msgs.len() {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x1970bf189adc837d1769f9f44a8b55c97d45690e7744859b71b647e808ee8622;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "163": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n" }, "164": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr", "source": "use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\nuse dep::std::cmp::Eq;\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "167": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "168": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize},\n grumpkin_point::GrumpkinPoint\n};\n\nstruct KeyValidationRequest {\n pk_m: GrumpkinPoint,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: GrumpkinPoint::zero(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: GrumpkinPoint::new(fields[0], fields[1]),\n sk_app: fields[2],\n }\n }\n}\n\n" }, "171": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr", "source": "use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH},\n hash::compute_siloed_nullifier, traits::{Empty, Hash, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = compute_siloed_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "180": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr", "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n" }, "181": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n abis::{caller_context::CallerContext, side_effect::{Ordered, RangeOrdered, Scoped}},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.hash == other.hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "186": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "195": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr", "source": "use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x22786e4f971661d2e49095e6b038e5170bc47b795253916d5657c4bdd1df50bf;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "196": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr", "source": "use crate::address::AztecAddress;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "198": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr", "source": "use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n" }, "201": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr", "source": "use dep::std::cmp::Eq;\n\nstruct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u32 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n" }, "202": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n abis::{gas_settings::GasSettings, gas::Gas}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n\n side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl CallContext {\n fn assert_is_zero(self) {\n let serialized: [Field; CALL_CONTEXT_LENGTH] = self.serialize();\n\n for i in 0..CALL_CONTEXT_LENGTH {\n assert(serialized[i] == 0);\n }\n }\n}\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n serialized.push(self.side_effect_counter as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n side_effect_counter: reader.read() as u32,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n side_effect_counter: 0,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn assert_is_zero() {\n let context = CallContext::empty();\n context.assert_is_zero();\n}\n\n#[test(should_fail)]\nfn not_zero_assert_is_zero() {\n let mut context = CallContext::empty();\n context.is_delegate_call = true;\n context.assert_is_zero();\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n" }, "203": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr", "source": "use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n" }, "204": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_circuit_public_inputs.nr", "source": "use crate::{\n abis::{\n call_context::CallContext, note_hash::NoteHash, nullifier::Nullifier, read_request::ReadRequest,\n gas::Gas, global_variables::GlobalVariables, log_hash::LogHash\n},\n address::AztecAddress,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH, MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n hash::pedersen_hash, header::Header, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Hash, Serialize, Deserialize, Empty}, utils::reader::Reader\n};\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest; MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest; MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n\n // Global variables injected into this circuit\n global_variables: GlobalVariables,\n\n prover_address: AztecAddress,\n\n revert_code: u8,\n \n start_gas_left: Gas,\n end_gas_left: Gas,\n transaction_fee: Field,\n}\n\nimpl Eq for PublicCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Serialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n for i in 0..MAX_NOTE_HASH_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_non_existent_read_requests[i].serialize());\n }\n for i in 0..MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.l1_to_l2_msg_read_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.extend_from_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.extend_from_array(self.contract_storage_reads[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_NOTE_HASHES_PER_CALL {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..MAX_NEW_L2_TO_L1_MSGS_PER_CALL {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n for i in 0..MAX_UNENCRYPTED_LOGS_PER_CALL{\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.prover_address.to_field());\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n fields.push(self.transaction_fee);\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn deserialize(serialized: [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n nullifier_non_existent_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL]),\n l1_to_l2_msg_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL]),\n contract_storage_update_requests: reader.read_struct_array(StorageUpdateRequest::deserialize, [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL]),\n contract_storage_reads: reader.read_struct_array(StorageRead::deserialize, [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n global_variables: reader.read_struct(GlobalVariables::deserialize),\n prover_address: reader.read_struct(AztecAddress::deserialize),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n transaction_fee: reader.read(),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PublicCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PublicCircuitPublicInputs {\n fn empty() -> Self {\n PublicCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0 as u32,\n end_side_effect_counter: 0 as u32,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0 as u8,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PublicCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PublicCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PublicCircuitPublicInputs::empty();\n let hash = inputs.hash();\n\n // Value from public_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x01681b19fb7fe21aa9c2cf9fb47520149f46edd679b2e7c2b2c4a279fd685125;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "206": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "213": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.nr", "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n" }, "214": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr", "source": "use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "22": { "path": "std/field.nr", "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n" }, "227": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr", "source": "use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n tx_tree_height: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.tx_tree_height);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let tx_tree_height = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n tx_tree_height,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n tx_tree_height: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.tx_tree_height == other.tx_tree_height)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n" }, "230": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr", "source": "use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\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" }, "232": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr", "source": "use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n" }, "234": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr", "source": "use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "240": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr", "source": "use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n" }, "252": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr", "source": "struct Reader<N> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n" }, "272": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr", "source": "use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n" }, "273": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr", "source": "use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n" }, "363": { "path": "/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr", "source": "// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n" }, "4": { "path": "std/collections/bounded_vec.nr", "source": "use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u32) -> T {\n assert(index < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u32) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<Len>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<Len>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<Len>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n\nimpl<T, MaxLen> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, MaxLen, Len> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n // TODO: Allow imports from \"super\"\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n}\n" }, "53": { "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr", "source": "use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n" }, "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" } } }