@aztec/protocol-contracts 0.41.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/artifacts/ContractClassRegisterer.json +1 -1
- package/dest/artifacts/ContractInstanceDeployer.json +1 -1
- package/dest/artifacts/GasToken.json +1 -1
- package/dest/artifacts/KeyRegistry.json +1 -1
- package/dest/artifacts/MultiCallEntrypoint.json +1 -1
- package/dest/gas-token/index.d.ts +5 -3
- package/dest/gas-token/index.d.ts.map +1 -1
- package/dest/gas-token/index.js +10 -6
- package/dest/instance-deployer/index.js +2 -2
- package/package.json +4 -4
- package/src/artifacts/ContractClassRegisterer.json +1 -1
- package/src/artifacts/ContractInstanceDeployer.json +1 -1
- package/src/artifacts/GasToken.json +1 -1
- package/src/artifacts/KeyRegistry.json +1 -1
- package/src/artifacts/MultiCallEntrypoint.json +1 -1
- package/src/gas-token/index.ts +12 -6
- package/src/instance-deployer/index.ts +1 -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/1kvkrrv72u14yf8XV337XS+avAvVd95YeX9x+/84vtXHeRjNq43xW9et6fHFvA7VxPqlm1Mb5nJpRGycFzqiNkwEn1AZqQJ5RG+h9O6E20Pt2Qm2c7DejtlCppfJSgVqPZ9R69VIvBV790UuBac+T6/FQUPrxLnen+nzq9Ovffn719dR72O4lXqDXtO9ZoNe081mg17T3WaC3kOk17X8W6DXtgBboNe2BFug17ZgW6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXtnuJF+gl81e2e4kX6CXzV7Z7iRfoJfNXjcxfNTJ/dZH5K9s92wv0kvmri8xfXYVML5m/st2mvkAvmb+y3ai+QC+Zv7Ldqr5AL5m/st2svkAvmb+y3a6+QC+Zv7LdsL5AL5m/st3IvkAvl79KZP3tiay/PZH1tyey/vZ0K2R6ufxVIutvT2T97Ymsvz2R9bcnsv72RNbfnsj62xNZf3si629PZP3tiay/PZH1tyey/vZE1t+eyPrbE1l/eyLrb09k/e2JrL89kfW3J7L+9kTW357I+tsTWX97IutvT2T97Ymsvz2R9bcnsv72RNbfnsj62xNZf3si629PZP3tiay/PZH1tyey/vZE1t+eyPrbE1l/eyLrb09k/e2JrL89kfW3J7L+9kTW357I+tsTWX97IutvT2T97Ymsvz2R9bcnsv72RNbfnsj62xNZf3si629PZP3tiay/PZH1tyey/vZE1t+eyPrbE1l/eyLrb09k/e2JrL89kfW3J7L+9kTW357I+tsTWX97IutvT2T97Ymsvz2R9bcnsv72RNbfnsj62xNZf3si629PZP3tiay/PZH1tyey/vZE1t+eyPrbE1l/eyLrb09k/e2JrL89kfW3J7L+9kTW357J+tszWX97Jutvz2T97flWyPRy+atM1t+eyfrbM1l/eybrb89k/e2ZrL89B+q77i09vrj9/p1fauO8jWbUxvms6tf1+OLevlcbqAl5Rm2cz6kZtXFS4IzaOBlwRm2hUhvofTuhNtD7dkJtnOw3ozZO8ptRS+WlArUez6j16qVeCrz6o5cC057nTM+wVdPtXe6+Pf+TO45b+fLVxxe9hUyvad+zQK9p57NAr2nvs0CvafezQK9p/4PXa7uXeIFe0x5ogV7TjmmBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeLn9VbPcSL9DL5a+K7V7iBXq5/FW5FTK9XP6q2O4lXqCXy18V273EC/SS+SvbvcQL9JL5q4PMXx1k/uooZHrJ/JXtpu0Fesn81UHmr2x3qeP12m5TX6CXzF/ZblRfoJfMX9luVV+gl8xf2W5WX6CXzF/ZbldfoJfMX9luWF+gl8xf2W5kX6CXzF+R9bcXsv72QtbfXsj62wtZf3sh628vZP3thay/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9kLW317I+tsLWX97IetvL2T97YWsv72Q9bcXsv72QtbfXsj62wtZf3sh628vZP3thay/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9kLW317I+tsLWX97IetvL2T97YWsv72Q9beXQH3XvT2/uP3+nV9q47yNJtQG6kLuz/+Ue28DtXE+qWbUxvmcmlEbJwXOqC1UauMkwBm1gd63E2oDvW8n1MbJfjNq4yS/92rPQL3HM2qZvNTptvP4pcCrP3opKJYV1PP2DFulv8vd5VYeT12+fO/j/kwvvaZdzwK9pn3PAr2mnc8Cvaa9zwK9pt0PXq/tXuIFek07oAV6TXugBXpNO6YFeguZXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn9lu5d4gV4yf2W7l3iBXjJ/ZbuXeIFeMn91FTK9ZP7Kds/2Ar1k/uoi81cXmb+y3aW+QC+Zv7Ldp75AL5m/st2pvkAvmb+y3au+QC+Zv7Ldrb5AL5e/qrb71Rfo5fJX1XbH+gK9XP6q3gqZXi5/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+tvb2T97Y2sv72R9bc3sv72Rtbf3sj621ugvuve0vOLf//OL7Vx3kYzauN8VvXrenxxbwO1cT6pZtTG+ZyaURsnBc6ojZMBJ9QGakCeURvofTuhNtD7dkJtnOw3o7ZQqaXyUoFaj2fUevVSLwVe/dFLgWnP0676/I/o17/959x9Ph7jOMv3/8XZbiWGqzXteeBqTXseuFrTngeutlCpNe154GpNex64WtOeB67WtD+Cq6XyUrYbiOFqqbyU7fZhuFoqL2W7eRiulspL2W4dhqul8lK2G4fhaqm8lO22YbhaKi9lu2kYrpbKS9luGYarpfJSthuG4WqpvJTtdmG4WiovZbtZGK6WykvZbhWGq6XyUrYbheFqqbyU7TZhuFoqL2W7SRiulspL2W4Rhqul8lK2G4Thaqm8lO32YLhaKi9luzkYrpbKS9luDYarpfJSthuD4WqpvJTttmC4WiovZbspGK6WykvZbgmGq6XyUrYbguFqmbzUZbsdGK6WyUtdtpuB4WqZvNR1K1RqmbzUZbsRGK6WyUtdttuA4WqpvJTtJmC4WiovZbsFGK6WykvZbgCGq6XyUrbbf+FqqbzUQeWlDiovlai8lO0Oa7haKi+VqLxUKlRqqbyU7X5yuFoqL2W7nxyulspL2e4nh6ul8lK2+8nhaqm8lO1+crhaKi9lu58crpbKS9nuMoerpfJSVL3nF1Xv+UXVe35R9Z5fVL3nF1Xv+UXVe35R9Z5fVL3nF1Xv+UXVe35R9Z5fVL3nF1Xv+UXVe35R9Z5fVL3nF1Xv+RWoLfr97fArUFv0jNo4n1Lv711egRqFZ9TG+ZSaURsn8c2ojZP4JtQGahSeURvofTuhNtD7dkJtnMQ3o7ZQqaXyUoEahWfUevVSLwVe/dFLgWnP08/yfI7bcb75T278rZ9ybVf/4uWadj14uaZtD16uad+Dl1u45Jp2Pni5pq0PXq5p74OXa9oo4eVyuSrbJcB4uVyuynYNMF4ul6uyXQSMl8vlqmxXAePlcrkq22XAeLlUrqrbrgPGy6VyVd12ITBeLpWr6rfCJZfKVXXbpcB4uVSuqtuuBcbL5XJVtouB8XK5XJXtamC8XC5XZbscGC+Xy1XZrgfGy+VyVbYLgvFyuVyV7YpgvFwuV2W7JBgvl8tV2a4JxsvlclW2i4Lxcrlcle2qYLxcLldluywYL5fLVdmuC8bL5XJVtguD8XK5XJXtymC8XC5XZbs0GC+Xy1XZrg3Gy+VyVbaLg/FyuVyV7epgvFwuV2W7PBgvl8tV2a4PxsvlclW2C4Txcrlcle0KYbxcLldlu0QYL5fLVdmuEcbL5XJVJ5erOrlcVeVyVbZbsfFyuVxV5XJVtquiP5N7lkfr+VlGcgO9iCbk2i4U/lDu+ejqPGsbyA30UTUjN9BH1YzcwiU3UACckRsoAM7IDfTercejwrfmNJAb6L07IzdQAJyQG6mweEZuIFc1IzeQq5qRG8hVzcgtXHIDuaoZuYFc1YxcLlcVqbB4Rq5bV/WU4LeE+CXBsvu5P3e9vTR8OX741xtS083CK/Ra9j+f6k3p+SDlHOgtZHotO6AVei1boBV6LXugFXotm6AVei27oI/1nufjQdrxnd5yM90wvEJvJH81ozeSv5rRG8pfTegtZHpD+asJvaH81YRe2/7quNXXgxz1jd4jp8cvkRw5f3nunr4otu2wVii27bEWKDbdOLxGsW2ftUKxbae1QrFtr7VCcaFTbNtvrVBs23GtUEznuUw3Ea9RTOe5TPcRr1FM57lMtxKvUUznuUx3E69RTOe5TDcUr1FM57lM9xSvUUznuUy3Fa9RTOe5THcWr1FM57lMNxevUUznuUz3F69RTOe5TLcYr1FM57lMdxmvUUznuUw3Gq9RTOe5TPcar1FM57lMtxuvUUznuUx3HK9RTOe5TDcdr1FM57lM9x2vURzp7dTbQ3Bv3/4t5l1vpHfThF7TTaIf670eLVC9t4HeSJ9ZM3ojfWLN6I2UEWf0FjK9kfLhjN5Q798JvaHevxN6IyXDGb2RcuGE3kbmr0z3H6/Q69dfvTT49UwvDcW0hnR+eZB2e/Pf3dvOoLte2z4Ir9e2D8Lrte2DPtP7tmPlrte2D8Lrte2D4HpNFxav0GvbB+H12vZBeL22PRNeb4mk933niOnW4hV6I/mrGb2h/NWE3lD+akJvKH/1Xq/pmuMVej35q/b9zsJ4z/GcBk8+aKShmNaQj9f+K6f+33cLxvuI8Xpte5vP9E54deN9xHi9tr0NXq9tb4PWexjvI8brte1t8Hpt+6AP9b71rofxPmK83kKmN5K/mtEbyl9N6A3lryb0hvJXE3od+av8/e9DHMbbhec0OPJBQw3GvU27ng9Srne/D5X67fHlqafy5Un6F8XG3c0CxYVOsXGHs0CxcY+zQLFxl7NAsXGfs0CxcaeDV2y8AXiFYuMuaoFiOs9lvAF4heJCp5jOcxlvAF6hmM5zGW8AXqGYznMZbwBeoZjOcxlvAF6hmM5zGW8AXqGYznMZbwBeoZjOcxlvAF6hmM5zGW8AXqGYznMZbwBeoZjOcxlvAF6hmM5zGW8AXqGYznMZbwBeoZjOcxlvAF6hmM5zGW8AXqGYznOdhU4xnecy3mu9QjGd5zrpPNdJ57mM95evUEznuYx3mK9QTOe5jPeYr1BM57mMd5mvUEznuYz3ma9QTOe5jHear1BM57mM95qvUEznuYx3pq9QTOe5jPemr1BM57mMd6evUEznuYz3p69QTOe5jHeor1BM57mM96ivUEznuYx3qa9QTOe5jPepr1BM57mMd6qvUEznuYx3sK9QTOe5rPe7L1BM57msd7wvUEznuaz3vC9QzOa5kvWu9wWK2TxXst73vkAxm+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+c363d6fb324a83b35cf5aa1bfd39f62b9198f0b6", "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_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" }, "return_witnesses": [2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 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] }, "bytecode": "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mb6z2zFnHi9+bLRwXIJwLva93Jfw2PPjxC0HKNc6grU5cd5PXbYvl7IJxqiQrznEflp7XXWyTu2TUTAEewoL9hTRbQ9dmzzVz/LXvHVfAxWTYlVQilWCcExRIX7FCOIX6PqGy7w8a7O12dpsbbY2W5utzdZma7O12dpsbbY2W5utzdZma7O12dpsbbY2W5utzdbmTGuztdnabG22NlubfdZmv7uPtdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdlnbbY2W5utzdZma7O12dpsbbY2W5utzdZma7O1OdPabG22Nlubrc3WZp+12e/uY222Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdkAm5k9BfD/3NY44bgCEWIj/66IYE9hInuiJXu4LOYwFv+fN0DMYiMsZtGCjfnw/4UEW1/Jf8beQrrtdbIymL3xQnmZAeyIEY6Z0ODMsa+hbfGSzdyfgtJ3+YVzZ/r0xpyXxc/NZV5ePNrkE/4WL/w/j2BjXt02YpzzBbGRlyfW77xB/IgRjtmC8S/iO/eTIPgkxoD/n/cdccL5xP7kf9V+xZxEC/YUILKH14koPG+cFAuxPykkxIz/Xazb0UQ28rL4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", "debug_symbols": "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vu+ua0EBmRm+765b3t51f/LnhdsrjrB9+CO7D38OVpr3BLr3BIbzBOrmPYHgPYHoPYEEncBzct8TCL8l8MU3j+c3by/Ef2jplWxmSrYwJQvtBn774/CD/w6h3cCVBKDdwJUEoN3AhQQatBu4kgC0G7iSALQbuJIAtBu4cMfGgtQzNwHorn0lAZxO/AwJp7c+Q7LoluP5sGU8fT8wlOeTDSV/HdKAC8mCfvOjkGz/msSCfjMz/Og7/OQ7/Ow7/OI7/Oo7/OY7/O47/OE6/OG76w7fXXf47rrDd9e14N7MDN931x2+u+7w3XWH7647XHfdvLnuunlz3XXz5rrr5s11182b666bN9ddN2+uu27eXHfdvLnuunnz3XWD764bfHfd4LvrBt9d14TNMzF83103+O66wXfXDb67bvDddaPvrht9d93ou+tG313XhM0zMXzfXTf67rrRd9eNvrtu9N11k++um3x33eS76ybfXdeEjDQxfN9dN/nuusl3102+u27y3XWz766bfXfd7LvrZt9d14RLNTF83103++662XfXzb67bvbddYvvrlt8d93iu+sW313XhEs1MXzfXbf47rrFd9ctvrtu8d11q++uW3133eq761bfXdeELTUxfN9dt/ruutV3162+u2713XWb767bfHfd5rvrNt9d14T3NDF83123+e66zXfXbb67bvPddX2zqbJvNlX2zabKvtlU2TebKvtmU2XfbKrsm02VfbOpsm82VfbNpsq+2VTZN5sq+2ZTZd9squybTZV9s6mybzZV9s2myr7ZVMU3m6r4ZlMV32yq4ptNVTbXXbf4ZlMV32yq4ptNVXyzqYpvNlXxzaYqvtlUxTebqvhmUxXfbKrim01VfLOpim82VfHNpiq+2VTFN5uq+GZTFd9squKbTVV8s6mKbzZV8c2mKr7ZVMU3m6r4ZlMV32yq4ptNVXyzqYpvNlXxzaYqvtlUxTebqvhmUxXfbKrim01VfLOpim82VfHNpiq+2VTFN5uq+GZTFd9squKbTVV8s6mKbzZV8c2mKr7ZVMU3m6r4ZlMV32yq4ptNVXyzqYpvNlXxzaYqvtlUxTebqvhmUxXfbKrim01VfLOpim82VfHNpiq+2VTFN5uq+GZTFd9squKbTVV8s6mKbzZV8c2mKr7ZVMU3m6r4ZlMV32yq4ptNVXyzqYpvNlXxzaYqvtlUxTebqvhmUxXfbKrim01VfLOpim82VfHNpiq+2VTFN5uq+GZTFd9squKbTVV8s6mKbzZV8c2mKr7ZVNU3m6r6ZlNV32yq6ptNVTfXXbf6ZlNV32yq6ptNVX2zqapvNlX1zaaqvtlU1TebqvpmU1XfbKrqm01VfbOpqm82VfXNpqq+2VTVN5uq+mZTVd9squqbTVV9s6mqbzZV9c2mqr7ZVNU3m6r6ZlNV32yq6ptNVX2zqapvNlX1zaaqvtlU1TebqvpmU1XfbKrqm01VfbOpqm82VfXNpqq+2VTVN5uq+mZTVd9squqbTVV9s6mqbzZV9c2mqr7ZVNU3m6r6ZlNV32yq6ptNVX2zqapvNlX1zaaqvtlU1TebqvpmU1XfbKrqm01VfbOpqm82VfXNpqq+2VTVN5uq+mZTVd9squqbTVV9s6mqbzZV9c2mqr7ZVNU3m6r6ZlNV32yq6ptNVX2zqapvNlX1zaaqvtlU1TebqvpmU1XfbKrqm01VfbOpqm82VfXNpqq+2VTVN5uq+mZTVd9squqbTVV9s6mqbzZV9c2mqr7ZVM03m6r5ZlM132yq5ptN1TbXXbf5ZlM132yq5ptN1XyzqZpvNlXzzaZqvtlUzTebqvlmUzXfbKrmm03VfLOpmm82VfPNpmq+2VTNN5uq+WZTNd9squabTdV8s6mabzZV882mar7ZVM03m6r5ZlM132yq5ptN1XyzqZpvNlXzzaZqvtlUzTebqvlmUzXfbKrmm03VfLOpmm82VfPNpmq+2VTNN5uq+WZTNd9squabTdV8s6mabzZV882mar7ZVM03m6r5ZlM132yq5ptN1XyzqZpvNlXzzaZqvtlUzTebqvlmUzXfbKrmm03VfLOpmm82VfPNpmq+2VTNN5uq+WZTNd9squabTdV8s6mabzZV882mar7ZVM03m6r5ZlM132yq5ptN1XyzqZpvNlXzzaZqvtlUzTebqvlmUzXfbKrmm03VfLOpmm82VfPNpmq+2VTNN5uq+WZTNd9squabTdV8s6mabzZV882mar7ZVN03m6r7ZlN132yq7ptN1TfXXbf7ZlN132yq7ptN1X2zqbpvNlX3zabqvtlU3TebqvtmU3XfbKrum03VfbOpum82VffNpuq+2VTdN5uq+2ZTdd9squ6bTdV9s6m6bzZV982m6r7ZVN03m6r7ZlN132yq7ptN1X2zqbpvNlX3zabqvtlU3TebqvtmU3XfbKrum03VfbOpum82VffNpuq+2VTdN5uq+2ZTdd9squ6bTdV9s6m6bzZV982m6r7ZVN03m6r7ZlN132yq7ptN1X2zqbpvNlX3zabqvtlU3TebqvtmU3XfbKrum03VfbOpum82VffNpuq+2VTdN5uq+2ZTdd9squ6bTdV9s6m6bzZV982m6r7ZVN03m6r7ZlN132yq7ptN1X2zqbpvNlX3zabqvtlU3TebqvtmU3XfbKrum03VfbOpum82VffNpuq+2VTdN5uq+2ZTdd9squ6bTdV9s6m6bzZV982m6r7ZVMM3m2r4ZlMN32yq4ZtNNTbXXXf4ZlMN32yq4ZtNNXyzqYZvNtXwzaYavtlUwzebavhmUw3fbKrhm001fLOphm821fDNphq+2VTDN5tq+GZTDd9squGbTTV8s6mGbzbV8M2mGr7ZVMM3m2r4ZlMN32yq4ZtNNXyzqYZvNtXwzaYavtlUwzebavhmUw3fbKrhm001fLOphm821fDNphq+2VTDN5tq+GZTDd9squGbTTV8s6mGbzbV8M2mGr7ZVMM3m2r4ZlMN32yq4ZtNNXyzqYZvNtXwzaYavtlUwzebavhmUw3fbKrhm001fLOphm821fDNphq+2VTDN5tq+GZTDd9squGbTTV8s6mGbzbV8M2mGr7ZVMM3m2r4ZlMN32yq4ZtNNXyzqYZvNtXwzaYavtlUwzebavhmUw3fbKrhm001fLOphm821fDNphq+2VTDN5tq+GZTDd9squGbTTV8s6mGbzbV8M2mGr7ZVGHzDafa43fdd/f4XTfePX7XnXeP33Xr3eN33Xv3+F033z1+1913j991+93jd95/fWOq9vid91/foKo9fuf91zeqao/fef/1Dava43fef33jqvb4nfdf38CqPTrn/dc3smqPznn/9Q2t2qNz3n99Y6v26Jz3X9/gqj065/3XN7pqj995//UNr9rjd95/feOr9vid91/fAKs9fuf91zfCao/fef/1DbHa43fef31jrPb4nfdf3yCrPX7n/dc3ymqP33n/9Q2z2uN33n9946z2+J33X99Aqz1+5/3XN9Jqj995//UNtdrjd95/fWOt9vid91/fYKs9fuf91zfaao/fef/1Dbfa43fef33jrfb4nfdf34CrPX7n/dc34mqP33n/9Q252uN33n99Y672+J33X9+gqz1+5/3XN+pqj995//UNu9rjd95/feOu9vid91/fwKs9fuf91zfyao/fef/1Db3a43fef31jr/b4nfdf3+CrPX7n/dc3+mqP33n/9Q2/2uN33n9946/2+H333+CcfxWc86+Cc/5VcM6/Cpvv/huc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+icfxWd86+ic/5VdM6/ipvv/hud86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rO+VfROf8qOudfRef8q+icfxWd86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rO+VfROf8qOudfRef8q+icfxWd86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rO+VfROf8qOudfRef8q+icfxWd86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rO+VfROf8qOudfRef8q+Scf5Wc86+Sc/5Vcs6/Spvv/puc86+Sc/5Vcs6/Ss75V8k5/yo5518l5/yr5Jx/lZzzr5Jz/lVyzr9KzvlXyTn/KjnnXyXn/KvknH+VnPOvknP+VXLOv0rO+VfJOf8qOedfJef8q+Scf5Wc86+Sc/5Vcs6/Ss75V8k5/yo5518l5/yr5Jx/lZzzr5Jz/lVyzr9KzvlXyTn/KjnnXyXn/KvknH+VnPOvknP+VXLOv0rO+VfJOf8qOedfJef8q+Scf5Wc86+Sc/5Vcs6/Ss75V8k5/yo5518l5/yr5Jx/lZzzr5Jz/lVyzr9KzvlXyTn/KjnnXyXn/KvknH+VnPOvknP+VXLOv0rO+VfJOf8qOedfJef8q+Scf5Wc86+Sc/5Vcs6/Ss75V8k5/yo5518l5/yr5Jx/lZzzr5Jz/lVyzr9KzvlXyTn/KjnnXyXn/KvknH+VnPOvknP+VXLOv0rO+VfJOf8qOedfJef8q+ycf5Wd86+yc/5Vds6/ypvv/pud86+yc/5Vds6/ys75V9k5/yo7519l5/yr7Jx/lZ3zr7Jz/lV2zr/KzvlX2Tn/KjvnX2Xn/KvsnH+VnfOvsnP+VXbOv8rO+VfZOf8qO+dfZef8q+ycf5Wd86+yc/5Vds6/ys75V9k5/yo7519l5/yr7Jx/lZ3zr7Jz/lV2zr/KzvlX2Tn/KjvnX2Xn/KvsnH+VnfOvsnP+VXbOv8rO+VfZOf8qO+dfZef8q+ycf5Wd86+yc/5Vds6/ys75V9k5/yo7519l5/yr7Jx/lZ3zr7Jz/lV2zr/KzvlX2Tn/KjvnX2Xn/KvsnH+VnfOvsnP+VXbOv8rO+VfZOf8qO+dfZef8q+ycf5Wd86+yc/5Vds6/ys75V9k5/yo7519l5/yr7Jx/lZ3zr7Jz/lV2zr/KzvlX2Tn/KjvnX2Xn/KvsnH+VnfOvsnP+VXbOv8rO+VfZOf8qO+dfZef8q+Kcf1Wc86+Kc/5Vcc6/Kpvv/luc86+Kc/5Vcc6/Ks75V8U5/6o4518V5/yr4px/VZzzr4pz/lVxzr8qzvlXxTn/qjjnXxXn/KvinH9VnPOvinP+VXHOvyrO+VfFOf+qOOdfFef8q+Kcf1Wc86+Kc/5Vcc6/Ks75V8U5/6o4518V5/yr4px/VZzzr4pz/lVxzr8qzvlXxTn/qjjnXxXn/KvinH9VnPOvinP+VXHOvyrO+VfFOf+qOOdfFef8q+Kcf1Wc86+Kc/5Vcc6/Ks75V8U5/6o4518V5/yr4px/VZzzr4pz/lVxzr8qzvlXxTn/qjjnXxXn/KvinH9VnPOvinP+VXHOvyrO+VfFOf+qOOdfFef8q+Kcf1Wc86+Kc/5Vcc6/Ks75V8U5/6o4518V5/yr4px/VZzzr4pz/lVxzr8qzvlXxTn/qjjnXxXn/KvinH9VnPOvinP+VXHOvyrO+VfFOf+qOOdfFef8q+qcf1Wd86+qc/5Vdc6/qpvv/lud86+qc/5Vdc6/qs75V9U5/6o6519V5/yr6px/VZ3zr6pz/lV1zr+qzvlX1Tn/qjrnX1Xn/KvqnH9VnfOvqnP+VXXOv6rO+VfVOf+qOudfVef8q+qcf1Wd86+qc/5Vdc6/qs75V9U5/6o6519V5/yr6px/VZ3zr6pz/lV1zr+qzvlX1Tn/qjrnX1Xn/KvqnH9VnfOvqnP+VXXOv6rO+VfVOf+qOudfVef8q+qcf1Wd86+qc/5Vdc6/qs75V9U5/6o6519V5/yr6px/VZ3zr6pz/lV1zr+qzvlX1Tn/qjrnX1Xn/KvqnH9VnfOvqnP+VXXOv6rO+VfVOf+qOudfVef8q+qcf1Wd86+qc/5Vdc6/qs75V9U5/6o6519V5/yr6px/VZ3zr6pz/lV1zr+qzvlX1Tn/qjrnX1Xn/KvqnH9VnfOvqnP+VXXOv6rO+VfVOf+qOudfVef8q+acf9Wc86+ac/5Vc86/apvv/tuc86+ac/5Vc86/as75V805/6o551815/yr5px/1Zzzr5pz/lVzzr9qzvlXzTn/qjnnXzXn/KvmnH/VnPOvmnP+VXPOv2rO+VfNOf+qOedfNef8q+acf9Wc86+ac/5Vc86/as75V805/6o551815/yr5px/1Zzzr5pz/lVzzr9qzvlXzTn/qjnnXzXn/KvmnH/VnPOvmnP+VXPOv2rO+VfNOf+qOedfNef8q+acf9Wc86+ac/5Vc86/as75V805/6o551815/yr5px/1Zzzr5pz/lVzzr9qzvlXzTn/qjnnXzXn/KvmnH/VnPOvmnP+VXPOv2rO+VfNOf+qOedfNef8q+acf9Wc86+ac/5Vc86/as75V805/6o551815/yr5px/1Zzzr5pz/lVzzr9qzvlXzTn/qjnnXzXn/KvmnH/VnPOvmnP+VXPOv2rO+VfNOf+qOedfNef8q+6cf9Wd86+6c/5Vd86/6pvv/tud86+6c/5Vd86/6s75V905/6o751915/yr7px/1Z3zr7pz/lV3zr/qzvlX3Tn/qjvnX3Xn/KvunH/VnfOvunP+VXfOv+rO+VfdOf+qO+dfdef8q+6cf9Wd86+6c/5Vd86/6s75V905/6o751915/yr7px/1Z3zr7pz/lV3zr/qzvlX3Tn/qjvnX3Xn/KvunH/VnfOvunP+VXfOv+rO+VfdOf+qO+dfdef8q+6cf9Wd86+6c/5Vd86/6s75V905/6o751915/yr7px/1Z3zr7pz/lV3zr/qzvlX3Tn/qjvnX3Xn/KvunH/VnfOvunP+VXfOv+rO+VfdOf+qO+dfdef8q+6cf9Wd86+6c/5Vd86/6s75V905/6o751915/yr7px/1Z3zr7pz/lV3zr/qzvlX3Tn/qjvnX3Xn/KvunH/VnfOvunP+VXfOv+rO+VfdOf+qO+dfdef8q+GcfzWc86+Gc/7VcM6/Gpvv/juc86+Gc/7VcM6/Gs75V8M5/2o4518N5/yr4Zx/NZzzr4Zz/tVwzr8azvlXwzn/ajjnXw3n/KvhnH81nPOvhnP+1XDOvxrO+VfDOf9qOOdfDef8q+GcfzWc86+Gc/7VcM6/Gs75V8M5/2o4518N5/yr4Zx/NZzzr4Zz/tVwzr8azvlXwzn/ajjnXw3n/KvhnH81nPOvhnP+1XDOvxrO+VfDOf9qOOdfDef8q+GcfzWc86+Gc/7VcM6/Gs75V8M5/2o4518N5/yr4Zx/NZzzr4Zz/tVwzr8azvlXwzn/ajjnXw3n/KvhnH81nPOvhnP+1XDOvxrO+VfDOf9qOOdfDef8q+GcfzWc86+Gc/7VcM6/Gs75V8M5/2o4518N5/yr4Zx/NZzzr4Zz/tVwzr8azvlXwzn/ajjnXw3n/KvhnH81nPOvhnP+1XDOvxrO+VfDOf9qOOdfDd/8q7j55l/t8bvuv3v8rvvvHr/r/rvH77r/7vG77r97/K777x6/6/67x++6/+7xO++/vvlXe/zO+69v/tUev/P+65t/tcfvvP/65l/t8Tvvv775V3v8zvuvb/7VHr/z/uubf7XH77z/+uZf7fE777+++Vd7/M77r2/+1R6/8/7rm3+1x++8//rmX+3xO++/vvlXe/zO+69v/tUev/P+65t/tcfvvP/65l/t8Tvvv775V3v8zvuvb/7VHr/z/uubf7XH77z/+uZf7fE777+++Vd7/M77r2/+1R6/8/7rm3+1x++8//rmX+3xO++/vvlXe/zO+69v/tUev/P+65t/tcfvvP/65l/t8Tvvv775V3v8zvuvb/7VHr/z/uubf7XH77z/+uZf7fE777+++Vd7/M77r2/+1R6/8/7rm3+1x++8//rmX+3xO++/vvlXe/zO+69v/tUev/P+65t/tcfvvP/65l/t8Tvvv775V3v8zvuvb/7VHr/z/uubf7XH77z/+uZf7fE777+++Vd7/L77b3DOvwrO+VfBOf8qOOdfhc13/w3O+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXTOv4rO+VfROf8qOudfxc13/43O+VfROf8qOudfRef8q+icfxWd86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rQ/KWS46/PlnwUP/L5fyV+5POnlP6Iv7aD+JHPnyvxI58/V+JHPn+uxI/s/y/ED83/uRI/8vlfQ/312ZriQfzI5/+V+JH9/5X4s/P4kfvvlfiR+++V+JH775X4kfvvlfiR+++F+KH5P1fid95/ofk/V+J33n+h+T9X4nfef6H5P1fid95/ofk/V+J/e/893Al+/mxvIzw+3EN+fXP5w23j+2lBU7MNVNlGqmyT02xfGWT3GRT3GVT3GTT3GXT3GXj1EM8Mmldf8MrAa69/ZeC1f78ygO7JvW2PD49zBzKe37yN12db+pAtdP82zxa61/8sW9u/4GjQHmKqMtDeZKoy0J5nqjLQXmqmMh3ao01VBtr7TVUG2lNOVWYhr2qsTJYyB8rIAx8pIw98pIw88JEy8sBHysgDHygz5IGPlJEHPlJGHvhIGXngI2WylDlQRh74SBl54CNl5IGPlJEHPlJGHvhrZdImD3ykjDzwkTLywEfKyAMfKZOlzIEy8sBHysgDHykjD3ykjDzwkTLywAfKBHngI2XkgY+UkQc+UkYe+EiZLGUOlJEHPlJGHvhIGXngI2XkgY+UkQc+UCZy+plzpmOKnH7mijKcvemcw5ciZ2+6ogxnb7qiDGdvuqBM4tzPXFGGcz9zRRlOP3POKEqJ089cUSZLmQNlOPczV5Th9MBXlOH0wFeU4fTAV5Th9MAXlMmcHviKMpwe+Ioy8sBHysgDHymT11HmB98ces2PDPd/yuubR/kqw1IeCbZwoONCjnmqjgv566k6LuTGp+q4kHc30vGlzULu3VqbspB/N9dmIQdvrs1CHt5cm4VcvLk2WdocaiNvfqwNqd8e9fHNYbT0mzZ/NEcXUr9triOp3/6RjjE+E8zlQEdSb26tI/abN450JPX85jqSzgfmOpLOEuY6ZulooiPpjPIzHc/3tdhvMjnSkXOeiVt6/Lwat48x/+k8g/0+lSMdOeeZn+l4oc9gv9XlSEfOecZeR855xl5HznnGXscsHU105Jxn7HXknGd+qOP5PLPSa3JTdSSdZ0J4ShM+Zvin88xKL9XN1HGld+1u0/FCn1npFbypOpLOM+Y6ks4z5jpm6WiiI+k8Y64j6TxjriPpPPMzHc/nmZXeEZyqI+vvM72+dBwnOrbx/Obtw2f332ufOq70RuFUHVl/n7HWkXWeqeGpY8t/v6dY6bXEqTpm6Xiq4wX/uNJLjFN1ZJ1nrHVknWesdWSdZ6x1ZP19xlbHvNJ7k1N1ZP195kc6nu4p8kpvWU7VUfNM6L//PcVLmyxtDrXR3HGsDekssW+qnjHH8tc7grzSa5lTdSSdJX6k4xXvRjpLWOu40rudU3UknSXMdSSdJcx1JJ0lzHXM0tFER9IZ5Wc6nu8IVnrLdKqOmmdiSl/PzCu9fWqujeaOQ20i6yxR+zPmHv5+RxBZZwlrHVlniZ/oeMG7rfR671Qds3Q00ZF1lrDWkXWWsNaRdZaw1pF17rDWkXVG+ZGO5zuCld7Mnqqj5hkbHTXP2OioecZGxywdTXTUPGOjo+YZGx01z8T++/3tlzaaUY610dxxqM1Kb48ffvMrWwbH/8oW2pePJ62wj4/f/MfZQrtn82zzMtle2Bxhv7htni20XzTPFtrVmWcL7dPMs4V2XtbZYr8D/bNsz6cx7JedzbNdx0tdyXYdL3Ul20yV7UJe6kK22F6qvya+kf5+KsB+mdg8W2wv9ZNsr7gLbC9lnC32W7zm2WJ7Ketssb2UdbbYXso627xOtufuAvslV/Ns1/FSV7Jdx0tdyXYhL3Uh24W81Hm20O+Aji0/vnlspf79VAD9Wqd9tshe6mfZXnAX0C9f2mebqbJF9lL22SJ7Kftskb2UfbbIXuqH2V5wF8heyjxb6DcI7bNdx0tdyXYhL3Uh24W81IVss5ds6+8T3ysDN/7oMAM3nucwA2wfMx7c2RE2g78fhX4vzT5bbB/zk2wveFTot8fss8X2MdbZYvsY62yxfYx1tpkqW2zP86Nszz0q9PtS9tmu46WuZLuOl7qS7UJe6jTbAv3ukX22C3mpC9n68VLjy5m1QL/ecy2DjJxByK8MPt6y/fLfuB4fuNKeP74MUz9kC+15zLOF9jw/yrb155+uh3jyzef7iAL9ss1cZaC91FRloH3XTGWg35OZqwy0n5uqDLT3m6oMtKecqkyWMgfKrONrrZWRBz5SRh74SBl54CNl5IEPlIF+B2WuMvLAR8rIAx8pIw98pEyWMgfKyAMfKSMPfKSMPPCRMvLAR8rIAx8oA/12xlxl5IGPlJEHPlJGHvhImSxlDpTh9DMlP/4WouQjZTj9zAVloLntNypTHgD/UtuBMpy96YoynL3pijKcvemKMpz7mSvKcO5nrijD6WfO3zkv0Kz7ucpw7mcuKAPN0J+rDKcHvqIMpwe+ogynB76iTJYyB8pweuArynB64CvKyAMfKSMPfKSMPPCBMtBvH/xQmR98c2uP27jt4/d+vC0I/U7CXGUW8sDGyizkgY2VyVLmQJmFPLCxMgt5YGNlFvLAf6bMqAfKLOSBjZVZyAPbKoP9ZsVtynwgZqRyoAynB76iDKcHvqIMpwe+okyWMgfKcHrgK8pweuArynB64AucK+w3QaYqw+mBLyiD/daIkTKvbBl87StbaK8a4+PDI6Vxkm3Yen5EHbbtw6fbh3yhHegN+WayfKHd4g35QnvAG/KFdnY35Avt127IF9qF2eeL/f7JDflCu6sb8iXzV9ivoNyQbybLl8xfYb+FckO+ZP4K+z2UG/Ll8lcV+02UG/Ll8lcV+12UG/Ll8ld1y2T5cvmriv3uyg35cvmriv1Gyg35kvkr7PdMbsiXzF9hvz1yQ75k/gr7nZAb8iXzV9hvetyQL5m/wn5/44Z8yfwV9lsZN+RL5q+w37W4IV8yf4X9BsUN+ZL5K+z3Im7Il8xfYb/tcEO+ZP4K+x2GG/Il81fYbybckC+Zv8J+3+CGfMn8VSLzV9ivUtyQL5m/SmT+KpP5K+wXQm7Il8xfYb/mcUO+mSxfMn+F/Z7GDfmS+Svsty9uyJfMX2G/U3FDvmT+CvtNiRvyJfNX2O8/3JAvmb/CfqvhhnzJ/BX2uwo35Evmr7DfQLghXzJ/hf1ewQ35kvkr7LcFbsiXzF9hvwNwQ75k/gqb2X9DvmT+Cpuvf0O+ZP4Km4V/Q75k/gqbW39DvmT+Cpsxf0O+ZP4Kmwd/Q75k/gqb3X5DvmT+iozfXsn47ZWM317J+O2VjN9eyfjtlYzfXsn47ZWM317J+O2VjN9eyfjtlYzfXsn47ZWM317J+O2VjN9eyfjtjYzf3sj47Y2M397I+O1ty2T5cvmrRsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZGxm9vZPz2RsZvb2T89kbGb29k/PZOxm/vZPz2TsZv72T89r5lsny5/FUn47d3Mn57J+O3dzJ+eyfjt3cyfnsn47d3Mn57J+O3dzJ+eyfjt3cyfnsn47d3Mn57J+O3dzJ+eyfjt3cyfnsn47d3Mn57J+O3dzJ+eyfjt3cyfnsn47d3Mn57J+O3dzJ+eyfjt3cyfnsn47d3Mn57J+O3dzJ+eyfjt3cyfnsn47d3Mn57J+O3dzJ+eyfjt3cyfnsn47d3Mn57J+O3dzJ+eyfjt3cyfnsn47d3Mn57J+O3dzJ+eyfjt3cyfntfiO89Wnx8uP3+za9s1+m+V7Jd52wevT8+PNpBtuuczFeyXedcvpLtOqfyhWwXYj5fyXadifdKtgv12wvZLtRvL2SbqbJdZ9K9ki2Vl1qI8nwlW69e6pWBV3/0zACbw5za81+iPDaLuRubw3xDvtC+54Z8oZ3PDflmsnyh3c8N+UL7nxvyhXZAN+QL7YFuyBfaMdnni81hviFfMn+FzWG+IV8yf4XNYb4hXzJ/hc1hviFfMn+FzWG+IV8ufzWwOcw35MvlrwY2h/mGfLn81dgyWb5c/mpgc5hvyJfLXw1sDvMN+ZL5K2wO8w35kvkrbA7zDfmS+StsDvMN+ZL5K2wO8w35kvkrbA7zDfmS+StsDvMN+ZL5K2wO8w35kvkrbA7zDfmS+StsDvMN+ZL5K2wO8w35kvkrbA7zDfmS+StsDvMN+ZL5K2wO8w35kvkrbA7zDfmS+StsDvMN+ZL5K2wO8w35kvkrbA7zDfmS+StsDvMN+ZL5K2wO8w35kvkrbA7zDfmS+StsDvMN+ZL5K2wO8w35kvkrbA7zDfmS+StsDvMN+ZL5K2wO8w35kvmrSuavKpm/wuZs35Avmb+qmSxfMn+FzVK/IV8yf4XNU78hXzJ/hc1UvyFfMn+FzVW/IV8yf4XNVr8hXzJ/hc1XvyFfMn+FzVi/IV8yf0XGbx9k/PZBxm8fZPz2QcZvH2T89kHGbx9k/PZBxm8fZPz2QcZvH2T89kHGbx9k/PZBxm8fZPz2QcZvH2T89kHGbx9c/Pa0cfHb93yp/NWeL5W/2vOl8ld7vpksXyp/tedL5a/2fKn81Z4vlb/a8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fMn/FxW/f8yXzV1z89j1fLn8VyPjtgYzfHsj47YGM3x62TJYvl78KZPz2QMZvD2T89kDGbw9k/PZAxm8PZPz2QMZvD2T89kDGbw9k/PZAxm8PZPz2QMZvD2T89kDGbw9k/PZAxm8PZPz2QMZvD2T89kDGbw9k/PZAxm8PZPz2QMZvD2T89kDGbw9k/PZAxm8PZPz2QMZvD2T89kDGbw9k/PZAxm8PZPz2QMZvD2T89kDGbw9k/PZAxm8PZPz2QMZvD2T89kDGbw9k/PZAxm8PZPz2QMZvD2T89kDGbw8L8a5Hi48Pt9+/+ZXtOt3oSrbrnFWjPz882kG265xUV7Jd55y6ku06U+CVbNeZAS9kuxAB+Uq2C/XbC9ku1G8vZLvO7Hcl20yVLZWXWoh6fCVbr17qlYFXf/TKANrzlPyYpEcd/WzuLo8w/vX//tW/cdhUYvNsoT2PebbQnsc8W2jPY55tpsoW2vOYZwvtecyzhfY85tlC+yPzbKm8FDaB2DxbKi+FTR82z5bKS2GTh82zpfJS2NRh82ypvBQ2cdg8WyYvFbFpw+bZMnmpiE0aNs+WyUvFLVNly+SlIjZh2DxbJi8VsenC5tlSeSlssrB5tlReCpsqbJ4tlZfCJgqbZ0vlpbBpwubZUnkpbJKwebZUXgqbImyeLZWXwiYIm2dL5aWw6cHm2VJ5KWxysHm2VF4Kmxpsni2Vl8ImBptnS+WlsGnB5tlSeSlsUrB5tlReCpsSbJ4tlZfCJgSbZ0vlpbDpwObZUnkpbDKwebZUXgqbCmyeLZWXwiYCm2dL5aWwacDm2VJ5KWwSsHm2VF4KmwJsni2Vl8ImAJtnS+WlsOm/5tlSealC5aUKlZeqVF4Km2Ftni2Vl6pUXqpmqmypvBQ2n9w8Wyovhc0nN8+Wykth88nNs6XyUth8cvNsqbwUNp/cPFsqL4XNJzfPlspLYbPMzbOl8lJU3PNIxT2PVNzzSMU9j1Tc80jFPY9U3PNIxT2PVNzzSMU9j1Tc80jFPY9U3PNIxT2PVNzzSMU9j1Tc80jFPY9U3PNIxT1PVNzzRMU9T1Tc80TFPU9bpsqWyUslKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinicq7nmi4p4nKu55ouKeJyrueaLinmcq7nmm4p5nKu55puKe5y1TZcvkpTIV9zxTcc8zFfc8U3HPMxX3PFNxzzMV9zxTcc8zFfc8U3HPMxX3PFNxzzMV9zxTcc8zFfc8U3HPMxX3PFNxzzMV9zxTcc8zFfc8U3HPMxX3PFNxzzMV9zxTcc8zFfc8U3HPMxX3PFNxzzMV9zxTcc8zFfc8U3HPMxX3PFNxzzMV9zxTcc8zFfc8U3HPMxX3PFNxzzMV9zxTcc8zFfc8U3HPMxX3PFNxzzMV9zxTcc/zQrTo0eLjwy19ne1CtOgr2a5zSo3eHx8e7SDbdU6pK9muc0pdyXadie9KtutMfFeyXWfiu5LtQv32PNuFiMJXsl1n4ruS7ToT35VsqbzUQkThK9l69VKvDLz6o1cG0J6nxfHIoMd2NnVvoz6iDuFDHCV8yBfa9dyQL7Tvsc8Xm/97Q77Q3ueGfKHdzw35QvufG/LNZPlCe6Ab8oV2TDfkS+avsHnAN+RL5q+wmcA35Evmr7C5wDfkS+avsNnAN+RL5q+w+cA35Evmr7AZwTfky+WvCjYn+IZ8ufxVwWYF35Avl78qWybLl8tfFWxm8A35cvmrgs0NviFfMn+FzQ6+IV8yf4XND74hXzJ/hc0QviFfMn+FzRG+IV8yf4XNEr4hXzJ/hc0TviFfMn+FzRS+IV8yf4XNFb4hXzJ/hc0WviFfMn+FzRe+IV8yf4XNGL4hXzJ/hc0ZviFfMn+FzRq+IV8yf4XNG74hXzJ/hc0cviFfMn+FzR2+IV8yf4XNHr4hXzJ/hc0fviFfMn+FzSC+IV8yf4XNIb4hXzJ/hc0iviFfMn+FzSO+IV8yf4XNJL4hXzJ/Vcj8VSHzV4XMX2Fztu3zxSZt35Avmb+qZP4Km6V+Q76ZLF8yf4VNVL8hXzJ/hU1VvyFfMn+FTVa/IV8yf4VNV78hXzJ/hU1YvyFfMn+FTWS/IV8yf0XGby9k/PZCxm8vZPz2QsZvL2T89kLGby9k/PZCxm8vZPz2QsZvL2T89kLGby9k/PZCxm8vZPz2QsZvL2T89kLGby9k/PZCxm8vZPz2SsZvr2T89krGb69k/Pa6ZbJ8ufxVJeO3VzJ+eyXjt1cyfnsl47dXMn57JeO3VzJ+eyXjt1cyfnsl47dXMn57JeO3VzJ+eyXjt1cyfnsl47dXMn57JeO3VzJ+eyXjt9eFeNf7px8fbr9/8yvbdbrRlWzXOatG748Pj3aQ7Ton1ZVs1zmnrmS7zhR4Jdt1ZsAr2a4zAV7IdiH+8ZVsF+q3F7JdZ/a7ku06k9+VbDNVtlReyi3z+JWBV3/0ygDa8/TSnv8SlXo2d+fwGM1CjuH16foxX2jXY58vNpf4hnyhnc8N+UJ7nxvyhXY/N+SbyfKFdkA35AvtgW7IF9ox3ZAvmb/C5hLb54vNJb4hXzJ/hc0lviFfMn+FzSW+IV8yf4XNJb4hXzJ/hc0lviFfMn+FzSW+IV8yf4XNJb4hXzJ/hc0lviFfMn+FzSW+IV8yf4XNJb4hXzJ/hc0lviFfMn+FzSW+IV8yf4XNJb4hXzJ/hc0lviFfMn+FzSW+IV8yf4XNJb4hXzJ/hc0lviFfMn+FzSW+IV8yf4XNJb4hXzJ/hc0lviFfLn/VsLnEN+TL5a8aNpf4hny5/FXbMlm+XP6qYXOJb8iXy181bC7xDfmS+StsLvEN+ZL5K2wu8Q35kvkrbC7xDfmS+StsLvEN+ZL5K2wu8Q35kvkrbC7xDfmS+StsLvEN+ZL5K2wu8Q35kvkrbC7xDfmS+atI5q8imb/C5mzfkC+Zv0pk/iqR+StslvoN+ZL5K2ye+g35kvkrbKb6DfmS+StsrvoN+ZL5K2y2+g35kvkrbL76DfmS+StsxvoN+ZL5KzJ+eyPjtzcyfnsj47c3Mn57I+O3NzJ+eyPjtzcyfnsj47c3Mn57I+O3NzJ+eyPjtzcyfnsj47c3Mn57I+O3NzJ+eyPjtzcyfnsj47c3Mn57I+O3NzJ+eyPjtzcyfnsj47c3Mn57I+O3NzJ+eyPjtzcyfnsj47c3Mn57I+O3NzJ+eyPjtzcyfnsj47c3Mn57I+O3NzJ+eyPjtzcyfnsj47c3Mn57I+O3NzJ+eyPjtzcyfnsj47d3Mn57J+O3dzJ+eyfjt/ctk+XL5a86Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/HbOxm/vZPx2zsZv72T8ds7Gb+9k/Hb+0K869Ee6Y72+ze/sl2nG13Jdp2zavT+/HD7OtuFSMhXsl3nnLqS7TpT4JVs15kBr2SbqbJdqN9eyHahfnsh23VmvyvZrjP5XcmWykstRD2+kq1XL/XKwKs/emUA7XnG85vDFj6O0l8P3uX56X/+37/8Vy5zpQvteuzThbY99ulC+x77dKGNj3260M7HPF1sILF9utDexz5daKNkny6Xq8KGEduny+WqsFHE9ulyuSpsELF9ulSuamBjiO3TpXJVAxtCbJ8ulasaW+ZKl8pVDWwAsX26VK5qYOOH7dPlclXY8GH7dLlcFTZ62D5dLleFDR62T5fLVWFjh+3T5XJV2NBh+3S5XBU2ctg+XS5XhQ0ctk+Xy1Vh44bt0+VyVdiwYft0uVwVNmrYPl0uV4UNGrZPl8tVYWOG7dPlclXYkGH7dLlcFTZi2D5dLleFDRi2T5fLVWHjhe3T5XJV2HBh+3S5XBU2Wtg+XS5XhQ0Wtk+Xy1VhY4Xt0+VyVdhQYft0uVwVNlLYPl0uV4UNFLZPl8tVYeOE7dPlclXYMGH7dLlcFTZK2D5dLldVuVxV5XJVNXOly+WqsLHY9ulyuarK5aqwqefm6WJjz+3T5XJV2OBz+3S5XBU2+tw+XS5XhQ0/t0+Xy1Vh48/t0+VyVdgAdPt0uVwVNi7dPl0uV8XFVh9cbPXBxVYfXGz1wcVWH1xs9cHFVh9cbPXBxVYfXGz1wcVWH1xs9cHFVh9cbPXBxVYfVGz1vFGx1fd0mVzVnu5Cjej0zfI93YUa0ZV0FzqqTl/azNtKwOIr6S50VF1Jd6EB8Eq6Cw2AV9LNXOmu1HcvpLtS372Q7kID4JV0FxoAr6TL5apWAhZfSdetq3ql4NYpvVJAdj973DW8Aonx5N+64+9+5ZvJ8kX2P3fki2yA7sgX2QHdkS+yBbojX2QPdEO+0HzhO/JFdkF35Itsme7Il8xfQTOG78iXzF9BU4bvyJfMX0Fzhu/Il8xfQZOG78iXzF9Bs4bvyJfMX0HThu/Il8xfQfOG78iXzF9BE4fvyJfMX0Ezh+/Il8xfQVOH78iXzF9Bc4fvyJfMX0GTh+/Il8xfQbOH78iXzF9B04fvyJfMX0Hzh+/Il8xfQROI78iXzF9BM4jvyJfMX0FTiO/Il8xfQXOI78iXzF9Bk4jvyJfMX0GziO/Il8xfQdOI78iXzF9B84jvyJfMX0ETie/Il8xfQTOJ78iXzF9BU4nvyJfMX0Fzie/Il8xfQZOJ78iXzF9Bs4nvyJfMX0HTie/Il8xfQfOJ78iXzF9BE4rvyJfMX0Eziu/Il8tfBWhK8R35cvmr/VvI8uXyV2HLZPly+asADd6+I18ufxWgWdQ/zbfkB1m95KN8V+pHV/Jd6bwq5UEBLbUd5LvSeXUl35XOqyv5rjQPXsl3pXnwQr7Q0OI78l2p/9ZQf326pniQ70r990q+K82DV/LNZPmu5K+u5LuSv7qS70r+6kq+K/mrK/mu5K8u5LsUD/lKvmT+aike8pV8/fqrVw55gRywfVCsHwPZTv69u7A3BecW2+eL7YN+lm+Mz0ByOcgX2wfZ54vtg8zzBecW2+eL7YPs88X2Qfb5YvugH+ZbyiOQFg7yzWT5ruSvruS7kr+6ku9S/upCvkv5qwv5LuWvzvMF5xbb54vtr1JIz0ByTCf57luVx+JlH+w/bF629iFjbId1R8bYHuuOjDNdxtg+646MsZ3WHRlje607MsZ2W3dkjO23bsgYnGR8R8Z0ngucZnxHxnSeC5xofEfGdJ4LnGp8R8Z0ngucbHxHxnSeC5xufEfGdJ4LnHB8R8Z0nguccnxHxnSeC5x0fEfGdJ4LnHZ8R8Z0nguceHxHxnSeC5x6fEfGdJ4LnHx8R8Z0ngucfnxHxnSeC5yAfEfGdJ4LnIJ8R8Z0nguchHxHxnSeC5yGfEfGdJ4LnIhsn3EEZ8j+LOPRHky30b6+ixnBGbL2+a50ao3+YEKN0Q7yXenMupLvSifWlXxXmhGv5LvShHgl35Xmwwv5hqX674V8l+q/F/JdaTK8ku9Kc+GVfDNZvmT+CpyJ/F2+rxz8eqZXDtg+KNf8yqG1k3/vzplBEZxdbJ4vOLvYPl9sH/SzfM8ZKxGcXWyfL7YPss83k+WL7YPs88X2Qfb5Ynsm+3xX8lfnzJEIzi42zxecXWyf71L+6kK+S/mrC/ku5a8u5JvJ8nXkr3r+emcBzjm+loMjH3SYA7a3KfG1/yqp/v1uAZxHbJ4vOI/4Z/le8OrgPGL7fLG9jX2+2N7GPt9Mli+2t7HPF9sH/TDfc+8KziO2z3clf3Ul35X81YV8wXnE9vku5a8u5LuUv7qQryN/lQ/+HgKcLnwtB0c+6DAHcG/TyzOQOs7+HqqXvD2+vJQP/6WN8CFjcHdzQ8bg/uaGjMEdjn3G4ATgOzIGdzk3ZAzuc27IGNzp3JBxpssY3EXdkDGd5wInAN+RMZ3nAicA35AxOAH4jozpPBc4AfiOjOk8FzgB+I6M6TwXOAH4jozpPBc4AfiOjOk8FzgB+I6M6TwXOAH4jozpPBc4AfiOjOk8FzgB+I6M6TwXOAH4jozpPBc4AfiOjOk8FzgB+I6M6TwXOAH4jozpPBc4AfiOjOk816DzXIPNcyVwrvUdGbN5rrSxea60sXmutGW6jNk8VwJnmN+RMZvnSuAc8zsypvNc4CzzOzKm81zgPPM7MqbzXOBM8zsypvNc4FzzOzKm81zgzPQ7MqbzXODc9DsypvNc4Oz0OzKm81zg/PQ7MqbzXOAM9TsypvNc4Bz1OzKm81zgLPU7MqbzXOA89TsypvNc4Ez1OzKm81zgDPY7MqbzXOh89xsypvNc6Iz3GzKm81zonPcbMqbzXOis9xsypvNc6Lz3GzKm81zozPcbMqbzXOjc9xsypvNc6Oz3GzKm81zorPgbMqbzXHQc+kTHoU90HPpEx6FPdBz6RMehT3Qc+kTHoU90HPpEx6FPdBz6RMehT3Qc+kTHoU90HPpEx6FPdBz6RMehT3Qc+kTHoU90HPpEx6FPdBz6RMehT3Qc+kTHoU90HPpEx6FPdBz6RMehT3Qc+kTHoU90HPpEx6FPdBz6RMehT3Qc+kTHoU90HPpEx6FPdBz6RMehT3Qc+kTHoc90HPpMx6HPdBz6TMehz1umy5jNc2U6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQZzoOfabj0Gc6Dn2m49BnOg59puPQFzoOfaHj0Bc6Dn2h49CXLdNlzOa5Ch2HvtBx6Asdh77QcegLHYe+0HHoCx2HvtBx6Asdh77QcegLHYe+0HHoCx2HvtBx6Asdh77QcegLHYe+0HHoCx2HvtBx6Asdh77QcegLHYe+0HHoCx2HvtBx6Asdh77QcejLUsTu0eKvT4/2+3e/8l2pN13IdymS8+j9ke9oB/mudGZdyXelE+tKvpks35UmxCv5rjQfXsl3qf57Id+l+u+FfFeaDC/kuxS3+Uq+ZP5qKWbzlXz9+qtXDnmBHLB9UEvbM5Cez/69+wcE/uvj/xA5v57MwanKd2SM7YXuyBjbDd2RMbYfuiFjcKryHRlje6I7MsZ2RXdkjO2L7sg402VM57nAqcp3ZEznucCpyndkTOe5wKnKd2RM57nAqcp3ZEznucCpyndkTOe5wKnKd2RM57nAqcp3ZEznucCpyndkTOe5wKnKd2RM57nAqcp3ZEznucCpyndkTOe5wKnKd2RM57nAqcp3ZEznucCpyndkTOe5wKnKd2RM57nAqcp3ZEznucCpyndkzOa5KjhV+Y6M2TxXBacq35Exm+eqW6bLmM1zVXCq8h0Zs3muCk5VviNjOs8FTlW+I2M6zwVOVb4jYzrPBU5VviNjOs8FTlW+I2M6zwVOVb4jYzrPBU5VviNjOs8FTlW+I2M6zwVOVb4jYzrPBU5VviNjOs8FTlW+I2M6zwVOVb4jYzrPBU5VviNjOs+VMl3GdJ4r0XkucFb4HRnTea5E57kynecCZ2j/LONzBn4FZ2jb57vSqXXOaK3gjGXzfMEZy/b5rjQjXsl3pQnxSr4rzYdX8l2q/17Id6n+eyHflSbDK/muNBdeyZfMXy3FbL6Qr2Ni8ysHv57plQO2D+o9PgMZbZz8exfSeKacxvh6MgenKt+RcabLGNsN3ZExth+6I2NsR3RHxtie6I6MsV3RDRmDU5XvyBjbRd2RMZ3nAqcq35FxpsuYznOBU5XvyJjOc4FTle/ImM5zgVOV78iYznOBU5XvyJjOc4FTle/ImM5zgVOV78iYznOBU5XvyJjOc4FTle/ImM5zgVOV78iYznOBU5XvyJjOc4FTle/ImM5zgVOV78iYzXM1cKryHRmzea4GTlW+I2M2z9W2TJcxm+dq4FTlOzJm81wNnKp8R8Z0ngucqnxHxnSeC5yqfEfGdJ4LnKp8R8Z0ngucqnxHxnSeC5yqfEfGdJ4LnKp8R8Z0ngucqnxHxnSeC5yqfEfGdJ4LnKp8R8Z0ngucqnxHxnSeC5yqfEfGdJ4LnD/7s4zPGX8NnD5rn+9Kp9Y5g6aBU0nt813pxLqS70oz4pV8V5oQr+SbyfJdqv9eyHep/nsh35Umwyv5rjQXXsmXzF+BM5Tt8/Xrr145+PVMrxygfVDYwjOHsJVw8u9diePXp0sqr+/e6od8M1m+0D7oh/m2Pp7fHU+++ziOlzbQnmmyNtD+arI20F5ssjbQvm2uNtgc58naQPvBydpA+8zJ2qzkX621ydLmUBv54mNt5IuPtZEvPtZGvvhYG/niQ22wOd6TtZEvPtZGvvhYG/niY22ytDnURr74WBv54mNt5IuPtZEvPtZGvvhQG2zW+mRt5IuPtZEvPtZGvvhYmyxtDrWRLz7WRr74WBv54mNt5IuPtZEvPtQGm4c/WRv54mNt5IuPtZEvPtYmS5tDbeSLj7WRLz7WRr74WBv54mNt5IuPtOnYbxZM1ka++Fgb+eJjbeSLj7XJ0uZQG/niY23ki4+1kS8+1ka++Fgb+eJDbbDflZisjXzxsTbyxcfayBcfa5OlzaE28sXH2sgXH2sjX3ysjXzxsTbyxYfaYL/9MVkb+eJjbeSLj7WRLz7WJkubQ23ki4+1kS8+1ka++Fgb+eJjbeSLD7XBfp9lsjbyxcfayBcfayNffKxNljaH2sgXH2sjX3ysjXzxsTbyxcfayBcfaoP9BthkbeSLj7WRLz7WRr74WJssbQ61kS8+1ka++Fgb+eJjbeSLj7WRLz7UBvvttsnayBcfayNffKyNfPGxNlnaHGojX3ysjXzxsTbyxcfayBcfayNffKiN3rv7Rhv54mNt5IuPtZEvPtYmS5tDbeSLj7WRLz7WRr74UBvat7lKfnxzyUfasPbwK9qwnsWl9Ic2tR1ow3oWX9GG9Sy+og3rjuKKNqw7igva0L6xdEUbVn9TQ/312ZrigTas/uaKNqw7iivaZGlzqA2rL76iDasvvqINqy++og2rL76iDasvvqAN7RtLV7SRLz7WRr74WBv54mNtsrQ51Ea++Fgb+eJjbeSLj7WRLz7WZilf/JPvrvWxFN3/r+P16Zie6oy1XlkyV2cpb2yuzlLu2FydpfyxuTqZVZ22PVpWaO13db74XSs+emFJ5fXZrX5Qcik/PVXJpdz3VCWX8upTlVzK2U9VknYOsFZyrReopipJO1+YK0k7i5grSTu3mCuZpaSRkppxrJTUjGOlpGYcKyU141gpqRnHSMm1XhObqqRmHCslNeNYKakZx0rJLCWNlNSMY6Wk/OQlJbenkqEfKCk/aaTkWq8pzfyve623l6Yqqd5tpaR6t5WS2k9aKan95GclX+rII36njnzfN+qs9XLUj9QZz7/s7OlIHd593xV1eOeAK+rwevsr6mSp8406vB78ijq0vrr351eP3H9T54989VpvTk1VktaDmytJ69etlVzr9aupStLOAeZK0s4M5krSzhfmSmYpaaQk7dxirqRmHCslNeNYKakZx0pJzThGSq71ktlUJTXjWCmpGcdKSc04VkpmKWmkpGYcKyU141gpqRnHSknNOFZKasYxUrJpxrFSUjOOlZKacayU1IxjpWSWkkZKasaxUlIu6JKS57cO13oPcqqS6jhG/3Wv9WbgVCXVcayU1FbNSklt1ayU1Fbts5IvdeQRv1FnrfcOzdWh3WjtP3o8ot62cKAO7Zbqkjq0c8AldbLU+UYdWr9+SR1aD35JHVZfHbcUnuqM/Js6X/jqmh++ur8+u1uBD0qy+mp7JVk9uLGSZaN9hdFeSVZvb68k6xxgryTrzGCvZJaSRkqyziL2SrLOLfZKasaxUlIzjpWSmnGMlKR9NdJeSc04VkpqxrFSUjOOlZJZShopqRnHSknNOFZKasaxUlIzjpWSmnGMlKR9NdJeSc04VkpqxrFSUjOOlZJZShopqRnHSknNOFZKasaxUlIzjpWSmnGMlEyacayU1IxjpaRmHCslNeNYKZmlpJGSmnGslNSMY6WkZhwrJTXjWCmpGcdISdoXfu2V1IxjpaRmHCsl5YIuKXlGRduVlAsyUpL23ckfKnnGTdqVVMexUlIdx0pJbdWslMxS0khJbdU+K/lSRx7xO3Xk+75Th3ajFcIz6pCP1KHdUl1Rh/Ztxmvq0Hr7S+rQ+vVL6tB68EvqZFp1enlGncdv6vzRdpH2rUN7JWk9uLmStH7dXEleb2+tJO8cYKwk7VuH9kryzhfWSvLOItZK8s4t1kpmKWmkpGYcKyU141gpqRnHSknNOFZKasYxUpL2JVN7JTXjWCmpGcdKSc04VkpmKWmkpGYcKyU141gpqRnHSknNOFZKasYxUpL21V57JTXjWCmpGcdKSc04VkpmKWmkpGYcKyU141gpqRnHSknNOFZKasaxUTLwvnRsrqRmHCslNeNYKakZx0rJLCWNlNSMY6WkZhwrJTXjWCmpGcdKSc04RkryvoX6MyVPqWiB9y1UcyXVcS4pecpNCrzvTporqY5jpCTvu5PmSmqrZqWktmqflXypI4/4nTpZ6nyjDu1GK9b+iDpt24E6tFuqS+rQzgGX1KH19pfUofXrV9ThfRfxkjq0vjrFlzq5HqhD65UvqUPrlS+pk6XON+rQeuVL6tB65Uvq0HrlNB5fvX+g/6bOV7ug+MUu6LdfxHjf+DNXktaDWyvJ+8afuZK83t5aSd45wFpJ3pnBWsksJa8o+fq7oNYOlOSdRayV5J1brJXUjGOlpGYcKyU14xgpyfuqrLmSmnF+qOTRX0fzviprrqRmHCslM6uSuT+VLOnsr/76Fp7fnD98dvugJO2MY64k7YxjriTtjGOuJO2MY64k7YxjrSTvi7k/UzI/XFAv7UBJ2hnHXEnaGcdcSdoZx1zJLCWNlNSMY6WkZpxLSrbHH6v1EQ6U1IxjpaRmHCslNeMYKcn7wq+5kppxrJTUjGOlpGacK0qO8EhxxHqgZJaSRkpqxrFSUjOOlZKacayU1IxjpaRmHCMleV/4LXV7RF23cKJk2Fc9z0Dqh799SR9uLvK+8XuDlrRzzg1a0k46N2iZpeUVLWN4/AwRYm+/afn50xe4drzvAk/WnXaOmqw77dQ1WXfaGW2y7rQT3VzdeV8/nqy7ZsU5umuunKO7ZtA5umfpPkV3zatzdNe8Okd3zatzdNe8Okd3zaszdI+8L1lP1l3z6hzdNa/O0V3z6hzds3Sforvm1Tm6y7/foPvpy6yR993luboH+Zkp5wzv69iTdc/SfYru8jNzdNf+fY7u2r//re4vLeXJ7bSUzzbTkve9+Z9pmbb6CCTlIy21z7bTUjOdnZaa0+y0zNLSTEvNU3Zaaka6pmV7jD0hl+03Lb/4dMtP5Xv+EEksH5TXlDRLec1Us5TXBDZJ+aR5bZbymu5mKa9ZcJbymhxnKZ+l/CTlNZXOUl4z7CzlNcPOUl4z7CzlNcNOUj5rhp2lvGbYWcprhp2lvGbYWcpnKT9Jec2ws5TXDDtLec2ws5TXDDtLec2wk5QvmmFnKa8ZdpbymmFnKa8ZdpbyWcpPUl4z7CzlNcPOUl4z7CzlNcPOUl4z7CTlq2bYWcprhp2lvGbYWcprhp2lvFylvfIXuGRVnnKK7k3d9Qbdz3lBTb11ju7qrHN0z9J9iu7aDM/RXXvhv9X9paU8uZ2W8tmXtCzhkWMorZ+eB/GL8yCM/EF3bW6n6N61t52ju+bKObprrpyju+bKObpn6T5Fd82VN+heHxDi0tqB7por5+iuGXSO7ppX5+iueXWK7kPz6hzdNa/O0V3z6q2693ygu+bVObpn6T5Fd82rl3TfP/IIpH6I4+Av6kp+vppTygfa/se/qBuaWGcpr5l1lvKaWmcpr7l1jvJp0+Q6S3nNrncoX8bLgcYD5TW9zlJe8+ss5bOUn6S8ZthZymuGnaW8ZtgblM9jeyrff3eVf7JdS5vmXQ9V0mzsoEpBc/QNVart9ekPyv/Wa4Lm6FnKa46epbzm6FnKZyk/SXnN0bOU1xw9S3nN0Xco359EoTrGgfKajWcpr3l3kvJRM+ws5TXDzlJeM+ws5TXDzlI+S/kblA9P/Vr43c//0UY5at71UCXNxh6qpDn6hir17fkb2m+R/NZrNEfPUl5z9CTlk+boWcprjp6lvOboWcprjp6lfJbyNygfylP5D/r9rrxm41nKa96dpbxm2FnKa4adpbxm2EnKZ82ws5TXDHuD8t+8IvZHG+WseddDlTQbe6hSZq1STc+o9x/uT6sUnjcva/6QY6lf/hvwaDWxhd/ieOlOO0VP1p12hp6sO+0EPVl32vnZTPeXlrQTsb2WhXbGvUFL2qn1Bi1pZ8sbtKSdAG/QMktLMy01e9lpqXnqmpbjGUjbym9afhFH6b8+3MbHv8D9ILvGqSmya5qyl33/jsdX5/L1FFs0eU3RvWpKm6O7Jro5umv6m6O7JsU5umfpbq/7+Va+agKdo7um1Uu6t9ifuufw12NT1bQ6RXZNq/ayX+mqmlan6N40rc7RXdPqHN01rc7RXdPqHN2zdLfX/XxqappW5+iuafWa7vX5O3XrZ38zeT42NU2rU2TXtGov+5Wuqml1iu5d0+oc3TWtztFd0+oc3TWtztE9S3d73c+npq5pdY7umlYv6d63pyL9HxX+cmzqmlanyK5p1V72K11V0+oU3Yem1Tm6a1qdo7um1Tm6a1qdo3uW7va6n09NQ9PqHN01rf5c9/ab7i8tNYLaaam50k5LzYrXtGz5qWVv//MvVyN506g4RXZNivaynzvnvGlSnKO7JsU5umfpPkV3TYpzdNekOEd3TZU36H66GcmbJtA5umtavaZ7CS/d+4nuIz3+yGXUDy+yl/FHI1bQZAtfIk3B8CXSwAxfIs3W8CXKKhF6iTSxw5dIwz18ibQHgC+RVgbwJdJ2Ab1EUduFSyUa+RnIKH/NdM9RG4MpsmsLYC/7hZ9Vokb7Obpn6T5Fdw3hc3TXZD1Hd43Lc3TXDHyD7uc/m0cNtlN0T5pW5+iucXWO7ppXr+net8ent9OLet99+qW8JtZZymcpb6586+MZRzyJ4zjmV4003+LXSLMwfo00N+PXSDM2fo00j8PXKGt2x6+R5nz8GmkngF8jbQ/wa5RVI/gaac+AXyPtGfBrpD0Dfo20Z8CvkfYM8DUq2jPg10h7Bvwaac+AXyPtGfBrlFUj+Bppz4BfI+0Z8GukPQN+jbRnwK+R9gzwNaraM+DXSHsG/Bppz4BfI81Hc2tUnheLSj6qkeYj/BrJ102u0RMRU2r7ukZNvg6/RvJ1+DWSr8OvkX4/wq9RVo3ga6T5aG6Naqi/PltTPKiR5iP8Gun3I/wa6fcj/BppzwBfo649A36NtGfAr5H2DPg10p4Bv0ZZNYKvkfYM+DXSngG/Rtoz4NdIe4YbavSDOF4w299Zth/eU+naM8DXaGjPgF8j7Rnwa6Q9A36NtGfAr1FWjeBrpD3D5BqVx2dH2w5qpD0Dfo20Z8CvkfYM+DXSngG9RmXTngG/Rtoz4NdIe4Z31uilu3YHc3TP0n2K7prx5+iuuX2O7prF5+iu+XqO7hwz8zPfwDF/vvLlmOVe+XLMRa98OeaRV76ZLF8O//3KF9z3Pj8d9v8zTvIN5RHIv/7fv8wX3G+a5wvu836Ury0/rQRwLzZTmwju26ZqA+7xpmoD7genagPuHadqk6XNoTbgnnSqNiv5V2ttVvK61trIFx9rI198qE2SLz7WRr74WBv54mNt5IuPtcnS5lAb+eJjbeSLj7WRLz7WRr74WBv54kNtsnzxsTbyxcfayBcfayNffKxNljaH2sgXH2sjX3ysjXzxsTbyxcfayBcfalPki4+1kS8+1ka++Fgb+eJjbbK0OdRGvvhYG/niY23ki4+1kS8+1ka++FCbKl98rI188bE28sXH2sgXH2uTpc2hNvLFx9rIFx9rI198rI188bE28sWH2jT54mNt5IuPtZEvPtZGvvhYmyxtDrVh9TflyaIv+UgbVn9zQRv092nv06b0hza1HWjD2qeuaMPap65ow9qnrmjDur+5og3r/uaKNqz+5vydy4L+zuVUbVj3Nxe0QX/Xcao2rL74ijasvviKNqy++Io2WdocasPqi69ow+qLr2gjX3ysjXzxsTbyxUfaVPR3yKZqI198rI188bE28sXH2mRpc6jNUr74J99dyhOfX9rrle0Y21c5lvJIsYUDJZdy0VOVXMpzT1VyKYc+Vcml/LyRkk910F92mqzOUp7eXJ2lXL25Okv5enN1stT5Rh15++/UkV//Th1aD17jY8AONcff1PmjCXutV7emKknrwX+kZIzPFHP5Wsm1XvSaqiSttzdXknYOMFeSdmYwVzJLSSMlaWcRcyVp55afKXm+013rTbSpSvLOOLU8lWz972ectd5bm6nkWq+z3abkhY6z1ltuU5XknXGsleSdcayVzFLSSEneGcdaSd4Zx1pJ3hnnR0qezzhrvYY3VUnNOEZKrvXS3lQlaWectj1G6dDKdqJkKI8U//VP/lJJ2hnHXEnaGedHStqS3uparwm6UZ12dpqqOu2cNVV12plsquq089tU1WlnvZmqr/XSpBvVNUPOUF3z5gzVNZvOUD1L9Qmqazadobpm0xmqazadobpm0xmqazadoPpar726UV2z6QzVNZvOUF2z6QzVs1SfoLpm0xmqazadobpm0xmqazadobpm0wmqr/XishvVNZvOUF2z6QzVNZvOUD1L9Qmqazadobpm0xmqazadobpm0xmqazadoHrXbDpDdc2mM1TXbDpDdc2mM1TPUn2C6ppNZ6iu2XSG6ppNZ6iu2XSG6ppNJ6g+NJvOUF2z6QzVs1Q3Vr3kx4NUJR+pLr8+Q3V5GHPVS3+oXtuB6vIw71e9bfIwM1SXh5mhuvbrM1TXfn2G6lmqG6t+/vpK2+TXZ6iu/foM1bVfn6G6ZtMZqms2naB60Gw6Q3XNpjNU12w6Q3XNpjNUz1J9guqaTWeortl0huqaTWeortl0huqaTSeoHjWbzlBds+kM1TWbXlL9B98cY9peerw+Hdr40Te/aqRJFr9GWTWCr5GmZPwaaaZ+Z41eumuqnqO75uo5umuynqJ70mw9R3dN13N013w9R3fNzHN0z9J9iu6abefornnVXvf+1D2F+pvuX8SRe37EUdKHT+ePVdJ066FKmoXnVsmWK9CSZuyl6pk1u69VT+0E1qqndg1r1VM7jLXqmVXPpeqpncta9dQuZ616auuzVj21H1qrntoPLVXPov3QWvXUfmitemo/tFY9tR9aq55Z9VyqntoPrVVP7YfWqqf2Q2vVU/uhteqp/dBS9azaD61VT+2H1qqn9kNr1VP7obXqmVXPpeqp/dBa9dR+aK16av70U8/ztx9b0/y5Vj3lbx3V8/xds5ZVz6XqKX+7Vj3lb9eqp37/XKue+v1zrXpq/vRTzwus9a75c6166vfPteqp3z/Xqqf2Q2vVM6ueS9VT+6G16qn90Fr11H5orXpqP7RWPbUfWqqeQ/uhteqp/dBa9dR+aHI9fxJzfiodynZAHB/aEK1W0ayKLlZRbYlWq6j2RKtVVJui1SqqXdFqFdW2yGlFP3z6Y0X7pn3RahXVxmi1impn5KiiJZRnRT/W5beKame0WkWzKrpYRbUzWq2i2hmtVlHtjFarqHZGq1VUOyOnFU3l64oG7YxWq6h2RqtVVDsj1Iq+aqQtEH6NsmpkXaMU+rNG/8T5bY1C7vl12tWD0067Gg9V0v5lbpVs2ZY9aPuyVj21e1mrntq8LFXPqL3LWvXU1mWtemrnslY9tZ9Zq55Z9Vyqntr6rFVP7YfWqqf2Q2vVU/uhteqp/dBS9UzaD61VT+2H1qqn9kNr1VP7obXqmVXPpeqp/dBa9dR+aK16aj+0Vj21H1qrntoPLVXPrP3QWvXUfmitemo/tFY9tR9aq55Z9Vyqnpo//dSz5PjrsyUf1VPz51L1LPK3jup5+hZ5L/K3a9VT/natembVc6l66vfPteqp3z/XqqfmTz/1PH/brxfNn2vVU79/LlXPqt8/16qn9kNr1VP7obXqqf3QWvXMqudS9dR+aK16aj+0Vj21H1qrntoPrVVP7YeWqmfTfmhyPX8S84X3qnvThmi1impHtFpFtSVaraJZFV2sotoUrVZR7YpWq6i2RU4r+uHTv1dU+6LVKqqN0WIV7doZOarolfequ3ZGq1VUO6PVKqqd0WoVzaroYhXVzmi1impntFpFtTNyWtFUDiqqndFqFdXOaLGKDu2MUCv6qpG2QPg10l7HvkalPms06kmNRnz8/eVo4UN+8UONtKnBr1FWjabWyJhrObR5Waue2rusVU9tXdaqp3Yua9VTG5eV6jk27VvWqqd2M2vVU3ucteqpnc9a9cyq51L11H5orXpqP7RWPbUfWque2g+tVU/th5aqZ9B+aK16aj+0Vj21H1qrntoPrVXPrHouVU/th9aqp/ZDa9VT+6G16qn90Fr11H5oqXpG7YfWqqf2Q2vVU/uhteqp+dNPPUuOvz5b8lE9NX+uVU/5W0f1PH2HfCT527XqKX+7Vj3lb9eqp37/XKueWfVcqp6aP/3U8/xdv5E0f65VT/3+uVY99fvnWvXUfmipembth9aqp/ZDa9VT+6G16qn90Fr1zKrnUvXUfmitemo/tFY9tR+aXM8ffPN4/r3JKB/eS/jApx5Z+6G16qn90FL1LNoPrVVP7YfWqqf2Q2vVU/uhteqZVU8/9SyPz462HdRT+6G16qn90Fr11H5orXpqP7RWPbUfWqqeVfuhteqp/RBqPV810s4Hv0ba49jXaDzfmM4hnNQoxppen46/ffpVpawqOaiSdi6zq/QqUjk477RHwa+RdiP4NdK+A79G2mHA16hpL4FfI+0aJteolMeHWziokXYN+DXSrgG/Rlk1gq+R9gz4NdKeAb9G2jPg10h7Bvwaac8AX6OuPQN+jbRnwK+R9gz4NdKe4e9q9FIyS0kjJTWzWympydpKSc2/VkpqSrVSUrOkkZJDE5+VkprLrJTU9GSlpGYcKyWzlDRSUjPOZyVf6vDOLS0+1ent5N+zPZL8DCTlg3/TeCcXey15Zxd7LXmnF2Mt67bxzi/2WvJOMPZa8s4w9lryTjH2WmZpaaYl7yRjr6XmHjstNffYaam5x05LzT1mWgbNPXZaau6x01Jzj52WmnvstMzS0kxLzT12WmrusdNSc4+dlpp77LTU3GOmZdTcY6el5h47LTX32GmpucdOyywtzbTU3GOnpeYeOy0199hpqbnHTkvNPWZaJs09dlpq7rHTUnOPnZaae+y0zNLSTEvNPXZaau6x01Jzj52WmnvstNTcY6Zl1txjp6XmHjstNffYaam5x07LLC3NtNTcY6el5h47LTX32GmpucdOS809ZloWzT12WmrusdNSc4+dlpp77LTM0tJMS809dlpq7rHTUnOPnZaae+y01NxjpmXV3GOnpeYeOy0199hpqbnHTsssLc201Nxjp6XmHjstNffYaam5x05LzT1mWjbNPXZaau6x01Jzj52WmnvstMzS0kxLzT12WmrusdNSc4+dlpp77LTU3GOmZdfcY6el5h47LTX32GmpucdOyywtzbTU3GOnpeYeOy0199hpqbnHTkvNPWZaDs09dlpq7rHTUnOPnZaae+y0zNLSTEvNPXZaau6x01Jzj52WmnvstNTcY6Vl2DT32GmpucdOS809dlpq7rHTMktLMy0199hpqbnHTkvNPXZaau6x01Jzj5mWQXOPnZaae+y01Nxjp6XmHjsts7Q001Jzj52WmnvstNTcY6el5h47LTX3mGkZNffYaam5x05LzT12WmrusdMyS0szLTX32GmpucdOS809dlpq7rHTUnOPmZZJc4+dlpp77LTU3GOnpeYeOy2ztDTTUnOPnZaae+y01Nxjp6XmHjstNfeYaZk199hpqbnHTkvNPXZaau6x0zJLSzMtNffYaam5x05LzT12WmrusdNSc4+ZlkVzj52WHHPPK1+O2eSVL8f88Mo3k+XL4cNf+XJ45Ve+HH72lS+H53zly+ELn/mSvDn/ypfMX5G83f7K16+/euWQF8jBrw965eDX27xy8OtXXjn49SCvHPz6imcOjt9pfuXgt/+/cvDb0185LNCnHb/D+8phgT7t+N3ZVw4L9GnH76y+cligTzt+V/SVwwJ92vE7mq8cFujTjt+NfOWwQJ8Gfycx5PDK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HN01r87RPUv3KbprXp2ju+bVObprXp2ju+bVObprXp2ie9C8Okd3zatzdNe8Okd3zatzdM/SfYrumlfn6K55dY7umlfn6K55dY7umlen6B41r87RXfPqHN01r87RXfPqHN3l3y/pHkN+BBJ7O9P9lLcUovz7HN3l3+foLv8+Rfck/z5Hd/n3G3Q/5UKEJP8+R3f59zm6Z+k+RXf93jRHd82rc3TXvHqD7uf7maR5dY7umlen6J41r87RXfPqHN01r87RXfPqHN2zdJ+iu+bVObprXp2ju+bVObprXp2ju+bVKboXzatzdNe8Okd3zatzdNe8Okf3LN2n6K55dY7umlfn6K55dY7umlfn6K55dYruVfPqHN01r87RXfPqHN01r87RPUv3KbprXp2ju+bVObprXp2ju+bVObprXp2ie9O8Okd3zatzdNe8Okd3zatzdM/SfYrumlfn6E7r30Mvz6jzONH9AmGj0TpyayU7rcc2V5LWNZsrSeuDzZWkdbY/UzI/4igfMvxdySwljZSkdZ/mStL+/mGuJO0vGj9T8pwV0zXjWCmpGcdIyaEZx0pJzThWSmrGsVJSM84lJc/3kyNLSSMlNeNYKakZx0pJzThWSmrGsVJSM46NknHTjGOlpGYcKyU141gpqRnHSsksJY2U1IxjpaRmHCslNeNYKakZx0pJzThGSgbNOFZKasaxUlIzjpWSmnGslMxS0khJzThWSmrGsVJSM46VkppxrJTUjGOkZNSMY6WkZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU141gpqRnHSknNOEZKJs04VkpqxrFSMrMquaXwiHob+UzJU+ZATLR+0lxJWj9priStnzRXktZPmitJ6yd/puQpvSFmWj9priStnzRXknZnbq4k7c78Z0qe3pTf/ylS0khJzThWSmrGsVJSM46VkppxrJTUjHNJyfP9ZNGMY6WkZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU141gpqRnHSknNOEZK8r5Pb66kZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU141gpqRnHSknNOEZK8r5pbq6kZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU141gpqRnHSknNOEZK8r4pb66kZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU14xgpSft+9x7d86tH7mdK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8P6rAt5/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/qsC3n91gPdfHeD9Vwd4/9UB3n91PLDfvwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfneD9Vyd4/9UJ3n91gvdfnQ/s9+8J3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vwbef2Xg/VcG3n9l4P1X9sB+/xp4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/VQXvv6rg/VcVvP+qgvdf1Qf2+7eC919V8P6rCt5/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/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9Vw28/6qB91818P6rBt5/1R7Y798G3n/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/1UD779q4P1XDbz/qoH3X3Xw/qsO3n/VwfuvOnj/VX9gv387eP9VB++/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/VcdvP+qg/dfdfD+qw7efzXA+68GeP/VAO+/GuD9V+OB/f4d4P1XA7z/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/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UE77+a4P1XE7z/aoL3X80H9vt3gvdfTfD+qwnefzXB+68meP/VBO+/muD9VxO8/2qC919N8P6rCd5/NcH7ryZ4/9UE77+a4P1XE7z/aoL3X03w/qsJ3n81wfuvJnj/1QTvv5rg/VcTvP9qgvdfTfD+qwnefzXB+68meP/VBO+/muD9VxO8/2qC919N8P6rCd5/NcH7ryZ4/9UE77+a4P1XE7z/aoL3X03w/qsJ3n81wfuvJnj/1QTvv5rg/VcTvP9qgvdfTfD+qwnefzXB+68meP/VBO+/muD9VxO8/2qC919N8P6rCd5/NcH7ryZ4/9UE77+a4P1XE7z/aoL3X03w/qsJ3n81wfuvJnj/1QTvv5rg/VcTvP9qgvdfTfD+qwnefzXB+68meP/VBO+/muD9VxO8/2qC919N8P6rCd5/NcH7ryZ4/9UE77+a4P1XE7z/aoL3X03w/qsJ3n81wfuvJnj/1QTvv5rY/VfHA7v/6vn80O/f5/NDv3+fzw/9/n0+P/T79/n80O/f5/NDv3+fzw/9/n0+P/T79/n84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r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At5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XFbz/qoL3X1Xw/qsK3n9Vb9jv3wref1XB+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/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfNfD+qwbef9XA+68aeP9Vu2G/fxt4/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/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/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317I+tsLWX97IetvL2T97YWsv72Q9bcXsv72QtbfXsj62wtZf3sh628vZP3thay/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9kLW317I+tsLWX97IetvL2T97YWsv72Q9bcXsv72QtbfXsj62wtZf3sh628vZP3thay/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9krW317J+tsrWX97Jetvrw8j08vlrypZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3vN1O99PB6PX489vvnmP3mQ87z6l8Ruv56j/dff+VFez3w+RnmDN/7pO/fx9Z3Pb75zsfPvry123U0/kRvR9H88/UTeTNP/6fQzNeFr+j+efiLfrun/ePqJUoym/+PpJ8p0mv6Pp2+aPvH0E/08RdP/8fQT/XRJ0//x9LXrY56+dn1Zp99f37i8fd//M33t+oinn+kqk6b/4+lr18c8fe36sk6//Zp+vZu+dn3M0zdNn3j62vUxT1+7Pubpa9fHPH3t+rJOv7weudS73+nNdBNT0//p9DNdCNX0fzx97fqYp69dH/P0tetjnr5p+sTT166Pefra9TFPX7s+5ulr18c8fe36iKef6Vq9pv/j6WvXxzx97fqYp69dH/P0TdMnnr52fczT166Pefra9TFPX7s+5ulr18c7/fbQro95+tr1MU9fuz7m6WvXxzx90/SJp69dH/P0tetjnr52fczT166Pefra9RFP/9Cuj3n62vUxT1+7Pubpa9fHPH3T9Imnr10f8/S162OevvL+1ukfzxF8Tf+ontP//jZHO5X3maevvM88feV95ukr7zNP3zR94ukr7zNPX3mfefr63R7m6et3e5inr10f8fQv7fqyTv/7a4zt0q6Pefra9TFPX7s+5umbpp90+t9fZGuXdn3M09euj3n62vUxT1+7Pubpa9dHPH3Tri/r9Cd+p9e062OevnZ9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bwF//xbw928Ff/9W8PdvBX//VvD3r0t/1c7nB3//VvD3bwV//1bw928Ff/828PdvA3//NvD3bwN//7p0Su18fvD3bwN//zbw928Df/828PcveP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfFfD+qwLef1XA+68KeP9VeWC/fwt4/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+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcH7ryp4/1UF77+q4P1X9YH9/q3g/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/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQPvv2rg/VcNvP+qgfdftQf2+7eB91818P6rBt5/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/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vx28/6qD91918P6rDt5/1R/Y798O3n/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++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3Xw3w/qsB3n81wPuvBnj/1Xhgv38HeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/V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u9+ZCF5ePCkCyBHdiwjucnr5epA6vvvFqV7s8frmpbz9X9s43iUH9zkrJAd3OiskB/c6CyQHLxheIjm431khObjjWSE5uOdZIdn4JAf3Uysk87mv4AXDSyTzua/gBcMrJAcvGF4imc99BS8YXiKZz30FLxheIpnPfQUvGF4imc99BS8YXiKZz30FLxheIpnPfQUvGF4imc99BS8YXiKZz30FLxheIpnPfQUvGF4imc99BS8YXiKZz30FLxheIpnPfQUvGF4imc99BS8YXiKZz30NPvc16NzXFbw5e4lkOvd1Pejc1/Wgc1/Xw/gk07mvK3hP+hLJdO7rCt6VvkQyn/sK3pe+RDKf+wremb5EMp/7Ct6bvkQyn/sK3p2+RDKf+wrey75EMp/7Ct7NvkQyn/sK3s++RDKf+wre0b5EMp/7Ct7TvkQyn/sK3tW+RDKf+wre175EMp/7Ct7ZvkQyn/sK3tu+RDKf+wre875EMp/7it4hv0Iyn/uK3iO/QjKf+4reJb9CMp/7it4nv0Iyn/uK3im/QjKf+4reK79CMp/7it4tv0Iyn/uK3i+/QjKf+4reR79CMp/74uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+ve+Lruja/r3vi67o2v694exieZzn0ZX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0b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nr52XMzT1+6MefrayTFPX/s74umbdn3M09euj3n62vUxT1+7Pubpm6ZPPH3t+pinr10f8/S162OevnZ9zNPXro94+kW7Pubpa9fHPH3t+pinr10f8/RN0yeevvJ+0ulP3KQdRXmfePpVnj/r9L+/WziqPD/z9OX5madvmj7x9PXzfebp6+f7zNNX3k86/Zlu36q8zzx9/XyfePpNP99nnr52fczT166Pefra9TFP3zR94ulr18c8fe36mKevXR/z9LXrY56+dn3E0+/a9SFN/yff+RivZ37O7e2nfPXxPn9t+7jnr30f9/y18eOev2n+1PPX1o97/tr7cc9fm78U83+bqLZ52SaqDd3WiZ6P8via6CjfTHTmMt7Q1i3bRLVHA5qodzfC0BaNefraoTFP3zR94ulrf8Y8fW3PmKev3Rnz9LVnY56+dnK00x9PXpo+8fS162OevnZ9zNPXro95+qbpE09fuz7m6WvXxzx97fqYp69dH/P0tesjnv6hXR/z9LXrY56+dn3M09euj3n6pukTT1+7PubpK+8nnf731+6e01feJ57+Kc+fdfrfXr15Tl+en3n6pukTT1+en3n6+vk+8/T1833m6SvvJ53+9x3Iz+kr7xNP/9LP95mnr5/vM09fuz7m6WvXxzx90/SJp69dH/P0tetjnr52fczT166Pefra9RFP37TrQ5r+D77zzLWL5/y17eOev/Z93PPXxo97/qb5U89fWz/u+Wvvxz1/bf5SzP9totrmZZuoNnR7J/r8KH195+Nq30z0OB72UnhcdjPTor1bvplqlwY0U/v6Yrse33zn96/td9PXJo15+tqjJZ3+85lf39jK3fRN0yeevnZozNPXBo15+tqfMU9fuzbm6Wsvl3X6pby+cTtupl+1wWOevnZ9zNPXro95+tr1MU/fNH3i6WvXxzx97fpAp3/3c7uq/V22iWonl22i2rMlm2jT7izbRLUPyzZR7biyTVR7q2wTNU002US1X8o2Ue2MNk/0199jHfW7v8ea+0uPpq1Rvplqb5RvptocpZtp1+4o30y1Pco3U+2P8s1UG6R8MzXNNN1MtUXKN1PtkfLNVHukfDPVHinfTLVHSjfToT1Svplqj5Rvptoj5Zup9kj5ZmqaabqZao+Ub6baI+WbqfZI+WaqPVK+mWqPlG2mTwyaabqZao+Ub6baI+WbqfZI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7jiH9Jrlq043i0N6zfJVp/u8Ib1m+arTLdqQXrN81enuakivWb7qdGM0pNcsX3W6pxnSa5avOt2ODOn1ylez053EkF6vfDU73QQM6fXKV/M2zPR65avZ6dZbSK9Xvpqd7pqF9Jrlq043vEJ6zfJVp3tVIb1m+arTbaaQXrN81ekOUUivWb7qdHMnpNcsX3W6LxPSa5avOt1SCek1y1ed7oaE9Jrlq043MkJ6zfJVp3sQIb1m+arT7YOQXrN81WnPf0ivWb7qtIs/pNcsX3Xalx/Sa5avOu20D+k1y1ed9s6H9Jrlq0674UN6zfKV2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9t3s/3tu9n+9t1sf/tutr99vw0zvV75ajfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb37532u+93W63Xx/7/OKbf+eD3O+P41PiMX59jud/+Tvf5sdnvt/O+Ru88+995+P8/M73L77zHPefXzvH48r9RmkE97/tfqNshvvfdb/TJnzc/7b7jXI77n/b/UYtBve/7X6jTof733Z/4L6x+41+noL733a/0U+XcP/b7jPrc3afWV9X94+Pbzx/+75/4z6zPmP3O11lwv1vu8+sz9l9Zn1d3X/+cn+/cp9Zn7P7A/eN3WfW5+w+sz5n95n1ObvPrK+r+/PjI8/96nd6O93ExP3vut/pQijuf9t9Zn3O7jPrc3afWZ+z+wP3jd1n1ufsPrM+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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": "ndpBattQGIXRvWgciu8vvScpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/3l7ftse7y/Ol+37ZXgcKw/D7vhyf+qfD8Pr/rC7PbfN57eH+2iW0SKjFUbjRkaRUclolNEkoyYjKWKUIkYpYpQiJilikiImKWKSIiYpYpIiJilikiImKWKSIpoU0aSIJkU0KaJJEU2KaFJEkyKaFNGkiC5FdCmiSxFdiuhSRJciuhTRpYguRXQpYpYiZililiJmKWKWImYpYpYiZililiJmKWKRIhYpYpEiFilikSIWKWKRIhYpYpEiFililSJWKWKVIlYpYpUiVililSJWKWKVIlYpIpsNrUKrotVIq4lWjVadVjOtFlpRG6E2Qm2E2gi1EWoj1EaojVAboTZCbRS1UdRGURtFbRS1UdQGcWbIM0OgGRLNEGmGTDOEmiHVDLFmyDVDsBmSzRBthmwzhJsh3QzxZsg3Q8AZEs4QcYaMM4ScIeUMMWfIOUPQGZLOEHWGrDOEnSHtDHFnyDtD4BkSzxB5hswzhJ4h9QyxZ8g9Q/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": { "104": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr", "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, silo_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n event_selector: Field,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n" }, "120": { "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" }, "125": { "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)]\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: 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" }, "149": { "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" }, "151": { "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" }, "152": { "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" }, "153": { "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 = 0x1f0e71146c5d4a5bdcf517f0063cda7767e51fcb9cebc877feb348a77a7a6b4a;\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 = 0x079a2b28b4853de9169d7dc40ac41c6d80b465d82c60195ede91504013f8b11b;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);\n }\n}\n" }, "154": { "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: u64,\n nullifier_read_requests: u64,\n key_validation_requests_and_generators: 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_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" }, "156": { "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" }, "157": { "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" }, "160": { "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" }, "161": { "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" }, "164": { "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}, 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 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" }, "173": { "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" }, "174": { "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" }, "179": { "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" }, "188": { "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" }, "189": { "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" }, "191": { "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" }, "194": { "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" }, "195": { "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" }, "196": { "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" }, "197": { "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 = 0x0933cf2bb384c9733d5a8311bfdc089489c2557df2265026579f9ac2b21d2ef9;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "199": { "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" }, "206": { "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" }, "207": { "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" }, "220": { "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" }, "223": { "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" }, "224": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr", "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::log_hash::LogHash;\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_encrypted_log(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_unencrypted_log(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly. \npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n" }, "225": { "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" }, "227": { "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" }, "233": { "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" }, "244": { "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" }, "259": { "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" }, "260": { "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" }, "350": { "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" }, "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" }, "83": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr", "source": "use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message,\n hash::{hash_args_array, ArgsHasher, compute_unencrypted_log_hash},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n note::{note_interface::NoteInterface, utils::compute_note_hash_for_insertion},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{\n emit_encrypted_log, emit_encrypted_note_log, compute_encrypted_log,\n emit_contract_class_unencrypted_log_private_internal, emit_unencrypted_log_private_internal\n},\n logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n hash::sha256_to_field,\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, grumpkin_point::GrumpkinPoint, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{is_empty, Empty},\n utils::arrays::find_index\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\n \"Ending setup at counter {0}\",\n [self.side_effect_counter as Field]\n );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // call oracle\n let _void = emit_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n pub fn emit_contract_class_unencrypted_log<N>(&mut self, log: [Field; N]) {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n }\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn encrypt_and_emit_log<N, M>(\n &mut self,\n contract_address: AztecAddress,\n randomness: Field, // Secret random value used later for masked_contract_address\n event_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n ) where [Field; N]: LensForEncryptedLog<N, M> {\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n\n // We are currently just encrypting it EXACTLY the same way as if it was a note.\n let counter = self.next_counter();\n let encrypted_log: [u8; M] = compute_encrypted_log(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n emit_encrypted_log(contract_address, randomness, encrypted_log, counter);\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn encrypt_and_emit_note<Note, N, NB, M>(\n &mut self,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n note: Note\n ) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_hash_counter = note.get_header().note_hash_counter;\n let note_exists_index = find_index(\n self.new_note_hashes.storage,\n |n: NoteHash| n.counter == note_hash_counter\n );\n assert(\n note_exists_index != MAX_NEW_NOTE_HASHES_PER_CALL, \"Can only emit a note log for an existing note.\"\n );\n let preimage = note.serialize_content();\n let counter = self.next_counter();\n\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n\n // TODO(#1139 | #6408): perform encryption in the circuit\n let encrypted_log: [u8; M] = compute_encrypted_log(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n emit_encrypted_note_log(note_hash_counter, encrypted_log, counter);\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (64 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (176 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding) \n // len of processed log (4 bytes)\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, start_side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest { hash: item.hash(), caller_context, start_side_effect_counter, end_side_effect_counter }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n" } } }
|