@aztec/protocol-contracts 0.37.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- { "noir_version": "0.28.0+b6ee6a5888e47e7e17024eb66172459a13bdeb3a", "name": "KeyRegistry", "functions": [{ "name": "register", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "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 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "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" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "gas_left", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "partial_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::partial_address::PartialAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "nullifier_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "incoming_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "outgoing_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "tagging_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] }, "visibility": "private" }], "param_witnesses": { "address": [{ "start": 40, "end": 41 }], "incoming_public_key": [{ "start": 44, "end": 46 }], "inputs": [{ "start": 0, "end": 40 }], "nullifier_public_key": [{ "start": 42, "end": 44 }], "outgoing_public_key": [{ "start": 46, "end": 48 }], "partial_address": [{ "start": 41, "end": 42 }], "tagging_public_key": [{ "start": 48, "end": 50 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "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 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::note_hash::NoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::nullifier::Nullifier", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "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": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "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" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "revert_code", "type": { "kind": "integer", "sign": "unsigned", "width": 8 } }, { "name": "start_gas_left", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "end_gas_left", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] }, "visibility": "public" }, "return_witnesses": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277], "error_types": {} }, "bytecode": "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", "debug_symbols": "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DuW761C+u77Wd9fbZzS9742mQ41mQI1mIo1mre/u62gS1Ggy1GgK1GgEajQVajRQsThDxeIMFYszVCwuULG4QMXiAhWLC1QsLlCxuEDF4gIViwtULC5QsbhAxWKBisUCFYsFKhYLVCwWqFgsULFYoGKxQMVigYrFAhWLK1QsrlCxuELF4goViytULK5QsbhCxeIKFYsrVCyuULG4QcXiBhWLG1QsblCxuEHF4gYVixtULG5QsbhBxeIGFYs7VCzuULG4Q8XiDhWLO1Qs7lCxuEPF4g4ViztULO5QsXhAxeIBFYsHVCweULF4QMXiARWLB1QsHlCxeEDF4gEViydULJ5QsXhCxeIJFYsnVCyeULF4QsXiCRWLJ1QsnkixeGxIsXhsSLF4bEixeGxIsXhsSLF4bEixeGxIsXhsSLF4bEixeGxQsThBxeIEFYsTVCxOULE4QcXiBBWLoXx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oXx3E8p3N6F8dxPKdzc3pFg8oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPK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+qc/9E9/6J/+0D/9oX/6Q//0h/7pD/3TH/qnP/RPf+if/tQ//al/+lP/9Kf+6U/905/6pz/1T3/qn/7UP/2pfvp12/SXJP0lWX9J0V8i+kuq/pKmv6TrLxn6S/RPP+mfftI//aR/+kn/9JP+6Sf900/6p5/0Tz/pn37SP/2sf/pZ//Sz/uln/dPP+qef9U8/659+1j/9rH/6Wf/0i/7pF/3TL/qnX/RPv+ifftE//aJ/+kX/9Iv+6Rf90xf90xf90xf90xf90xf90xf90xf90xf90xf90xf906/6p1/1T7/qn75e66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u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vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW+qtb6yqbW+1yVJf0nWX1L0l4j+kqq/pOkv6fpLhv4S/dNP+qef9E8/6Z9+0j/9pH/6Sf/0k/7pJ/3TT/qnn/RPP+ufftY//ax/+ln/9LP+6Wf908/6p5/1Tz/rn37WP/2if/pF//SL/ukX/dMv+qdf9E+/6J9+0T/9on/6Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0q/7pV/3Tr/qnX/VPv+qfftU//ap/+lX/9Kv+6Vf902/6p9/0T7/pn37TP/2mf/pN//Sb/uk3/dNv+qff9E+/659+1z/9rn/6Xf/0u/7pd/3T7/qn3/VPv+ufftc//aF/+kP/9If+6Q/90x/6pz/0T3/on/7QP/2hf/pD//Sn/ulP/dOf+qc/9U9/6p/+1D/9qX/6U//0p/7p67W+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG/taX5Zt/HVVllL+zYX/4d99Oo1W//p0GqN+Pp1kfm5T928j5XOb/u02s7/vMkf789n0Zy7N4SYzvaeybXn3Lt1jKvLnLmX3LmP/LuNzl5ry3wY2HW7yFdi+OKqdyjdg+3pqrjl/7lLT3wW2r8Aqb/IdWPGYyldg+zu/tvS5y5h/G1h1uMl3YM1jKl+BHWz8rR/d5X3hsF44jRfKZr0wWS/M1guL9UKxXlitFzbrhdaVI9aVI9aVU60rp1pXTrWunGpdOdW6cqp15VTryqnWlVOtK6daV06zrpxmXTnNunKadeU068pp1pXTrCunWVdOs66cZl053bpyunXldOvK6daV060rp1tXTreunG5dOd26crp15QzryhnWlTOsK2dYV86wrpxhXTnDunKGdeUM68oZ1pUzrStnWlfOtK6caV0507pypnXlTOvKmdaVM60rZxpXztw264XJemG2XlisF4r1wmq9sFkv7NYLh/VC68pJ1pWTrCsnWVdOsq6cZF05ybpyknXlJOvKSdaVk6wrJ1tXTraunGxdOdm6crJ15WTrysnWlZOtKydbV062rpxiXTnFunKKdeUU68op1pVTrCunWFeOVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15GjVk2Ywa8uvCZL0wWy8s1gvFemG1XtisF3brhcN6oXXlJOvKSdaVk6wrJ1lXTrKunGRdOcm6cpJ15STryknWlZOtKydbV062rpxsXTnZunKydeVk68rJ1pWTrSsnW1dOsa6cYl05xbpyinXlFOvKKdaVU6wrp1hXTrGunGJdOWJdOWJdOWJdOWJdOWJdOWJdOWJdOWJdOWJdOWJdOdW6cqp15VTryqnWlVOtK6daV061rpxqXTnVunKqdeU068pp1pXTrCunWVdOs66cZl05zbpymnXlNOvKadaV060rp1tXTreunG5dOd26crp15XTryunWldOtK6dbV86wrpxhXTnDunKGdeUM68oZ1pUzrCtnWFfOsK6cYV0507pypnXlTOvKmdaVM60rZ1pXzrSunGldOdO6cqwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwaslg1ZLFqyGLVkMWqIYtVQxarhixWDVmsGrJYNWSxashi1ZDFqiGLVUMWq4YsVg1ZrBqyWDVksWrIYtWQxaohi1VDFquGLFYNWawaslg1ZLFqyGLVkMWqIYtVQxarhixWDVmsGrJYNWSxashi1ZDFqiGLVUMWq4YsVg1ZrBqyWDVksWrIYtWQxaohi1VDFquGLFYNWawaslg1ZLFqyGLVkMWqIYtVQxarhixWDVmsGrJYNWSxashi1ZDFqiGLVUMWq4YsVg1ZrBqyWDVksWrIYtWQxaohi1VDFquGLFYNWawaslg1ZLFqyGLVkMWqIYtVQxarhixWDVmsGrJYNWSxashi1ZDF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g2Pl+4adOLKe8eHIesaHI+sZH45Cji4cWc/4cNytZ8omfzj29G84vi/s1guH9cJpvHD/naG/XJisF2brhcV6oVgvrNYLrSsnWVdOsq6cZF052bpysnXlZOvKydaVk60rJ1tXTraunGxdOdm6crJ15RTryinWlVOsK6dYV06xrpxiXTnFunKKdeUU68op1pUj1pUj1pUj1pUj1pUj1pUj1pUj1pUj1pUj1pUj1pVTrSunWldOta6cal051bpyqnXlVOvKqdaVU60rp1pXTrOunGZdOc26cpp15TTrymnWldOsK6dZV06zrpxmXTndunK6deV068rp1pXTrSunW1dOt66cbl053bpyunXlDOvKGdaVM6wrZ1hXzrCunGFdOcO6coZ15QzryhnWlTOtK2daV860rpxpXTnTunKmdeVM68qZ1pUzrStnGldO2zbrhcl6YbZeWKwXivXCar2wWS/s1guH9ULryrFqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiF3q4bcrRpyt2rI3aohd6uG3K0acrdqyN2qIXerhtytGnK3asjdqiF3q4bcrRpyt2rI3aohd6uG3K0acrdqyN2qIXerhtytGnK3asjdqiF3q4bcrRpyt2rI3aohd6uG3K0acrdqyN2qIXerhtytGnK3asjdqiF3q4bcrRpyt2rI3aohd6uG3K0acrdqyN2qIXerhtytGnI/0JBTezvRSk7ffGu95b8+3PsfA1gpn3v0BfcYC+4xz7/Hgd7te4+04B55wT3KgnvIgnvUBfdYsM/rgn1eF+zzumCftwX7vC3Y523BPm8L9nlbsM/bgn3eFuzztmCftwX7vC3Y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vyNVSHt/OEv/BwWits9ckU9m57k25HPce67nnvrvu+QldylL7iJL7lKX3KUtuUtfcpex5C5zxV1ObrPzvsuSvd+X7P2+ZO+7tIKZUj936bJ3l7rkLm3JXRz2fk7p/emcSt+7y1hyl7niLh4NQH64S1pyl+xxF/n8Ie3fpEd7mVQf6f3hPur85+lReiVT79U7et3J8MfEGf9fQ5ob3pAS3pA8Fl5uf4Y055cU/uta8vCPew9J8IZU8YbU8IbU8YY08IY00YZUPZzR3kNKeEOCi951g4vedYOL3nWDi951g4vedYOL3nWDi951w4veCS96J7zonfCid8KL3gkveie86J3wonfCi94JL3onvOid8aJ3xoveGS96Z7zonfGid8aL3hkveme86J3xonfGi95ldfR+Ke3zrw+/hNIvH24pv/8Q1tL48+G89c8EUvQJ5OgTKNEnINEnUKNPoEWfQI8+gRF9AjP4BCT6SSzRT2KJfhJL9JPYw1547QSin8QS/SQWoJP4PSSgs/U9JKDT8q8hVaDz7z0koBPtPSSgM+o9JKBT5z0koHPkPSSgk+E9JKBY/x4SXvSueNG74kXvhhe9G170bnjRu+FF74YXvRte9G540bvhRe+GF70bXvTueNG740Xvjhe9O1707njRu+NF744XvTte9O540bvjRe+BF70HXvQeeNF74EXvgRe9h0v0lndnw/xvOhvuDal83Nel/UMrkLnz0ZE+7WhHKv8w+l1jbPsYe1Mr2+fDf/qG1NFWz/UzpNLKP871PaCONqCBNqAJNiAXK7PrgBLagDLagAragARtQBVtQGiReqJF6okWqSdYpG4bWKRuG1ikbhtYpG4bWKRuG1ikbhtYpG4bWKRuG1ikbhtYpG4bWqROaJE6oUXqhBapE1qkTmiROqFF6oQWqRNapE5okTqhReqMFqkzWqTOaJE6o0XqjBapM1qkzmiROqNF6owWqTNapC5okbqgReqCFqkLWqQuaJG6oEXqghapC1qkLmiRuqBFakGL1IIWqQUtUgtapBa0SC1okVrQIrWgRWpBi9SCFqkrWqSuaJG6okXqihapK1qkrmiRuqJF6ooWqStapK5okbqhReqGFqkbWqRuaJG6oUXqhhapG1qkbmiRuqFF6oYWqTtapO5okbqjReqOFqk7WqTuaJG6o0XqjhapO1qk7miReqBF6oEWqQdapB5okXqgReqBFqnRPIoNzaPY0DyKDc2j2NA8ig3No9jQPIoNzaPY0DyKDc2j2NA8ig3No9jQPIoNzaPY0TyKHc2j2NE8ih3No9g3sEjd0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIoDzaM40DyKA82jONA8imMDi9QDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjRPIoTzaM40TyKE82jODewSD3RPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82j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" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "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" }], "param_witnesses": { "contract_address": [{ "start": 0, "end": 1 }], "nonce": [{ "start": 1, "end": 2 }], "note_type_id": [{ "start": 3, "end": 4 }], "serialized_note": [], "storage_slot": [{ "start": 2, "end": 3 }] }, "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" }, "return_witnesses": [4, 5, 6, 7], "error_types": {} }, "bytecode": "H4sIAAAAAAAA/+2byW7bMBCGJa9yVC+SZXlf4uTSm+w6tnPzy7Rv3XuBvkPRjMKpx8QkoNARIQImYGhMUfy/+blECRjfey/tt4+v4qZ2pQXbXNQ1+7+yE+wrK5PTd4Sz5ghnXZDTZzjh2lAxXGEut7zbef6vXAQnCRWlUDAwdVL3EdzNQ1BaKgg04IsE9CE7twgNhYYSKnB6MySJ+KQOn62ROtxB6o1rDi35HA4BMU+s37cBDb2r7y3iCcZ4D7RnpK5RUo5N+RzL8i5flehPU/XbJt/Rq46KBXfYHdX21adDND01RhhPSVtsh37UyBhD6XrX8e988lxDe65H2rSY/C+ebP5tjaetMTcVE5QIeLU9oKSxyaDfB/l+b8a8oY3JA8mpK+73/gx7QujdFv2nzIXEXcLzRZwn25WT5/vY9Qi7TL8vB/Cqr3kVal71SBvK0C/BP5/oYt/4vc9oy3lxPIP2wMCLAcMzsOzFgNEW9OIVtCMDLyKGJ7LsRcRoy3lx+gbasYEXMcMTW/YiZrTlvNjn7xZDAy+GDM/QshdDRltwjeTzIjHwImF4EsteJIy2oBc/QHtk4MWI4RlZ9mLEaAt68R20UwMvUoYntexFymgL7p35+8XYwIsxwzO27MWY0Rb0Yg/aEwMvJgzPxLIXE0ZbcI3k2lMDL6YMz9SyF/R31CLMQweZUweZ4wowB1oso33M98+ZgRczhmdm2QvUK8qcVIA50GIZ7eMLaM8NvJgzPHPLXqBeUebIQebYQeaRg8yJg8ypg8xVmM+BFston/I9dGHgxYLhWVj2AvWKMkcOMs8cZI4rwBxosYz2Kf/b3NLAiyXDs7TsBeoVZR47yDyoAHOgxTLapyNorwy8WDE8K8teoF5R5omDzKmDzDMHmWMHmUcOMicOMt/XoB3mqALM9EzT71J59q+hxoOeeRqjpzGGJKbnYNbijFlGx2dNtDbyWjtuvuD3Tana+zP0u5XPKX+Xf1J94Rm+LZPTs4qlz3M9kX59ooP1DRL/Im2xHfqB6xbZYd49qvj5k+dW2nM90uaRyf/iyea/1Xi2GjOMyU/CsRHn2J9N5vXAu67lr4SnhH3wQM/kYjHZd0raY3Yl5ZnRM3x/PNk1vdG8CjSveqQN3aM3JfhnMr/uzHfmj5jp+0RA6vD+mtTVtFzo/zJgezgz/BdsuDj5FjUAAA==", "debug_symbols": "ndpBattQGIXRvWgciu8v6UkvWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/Xl7ftse7y/Ol+37ZXgcKw/D7vhyf2qfD8Pr/rAbHqu3z28P99Eio1VGHUbjRkaRUclolNEko1lGUsQoRYxSxChFTFLEJEVMUsQkRUxSxCRFTFLEJEVMUsQkRcxSxCxFzFLELEXMUsQsRcxSxCxFzFLELEU0KaJJEU2KaFJEkyKaFNGkiCZFNCmiSRGLFLFIEYsUsUgRixSxSBGLFLFIEYsUsUgRqxSxShGrFLFKEasUsUoRqxSxShGrFLFKEV2K6FJElyK6FNGliC5FdCmiSxFdiuhSRDYbWoVWRauRVhOtZlo1Wi20WmlFbYTaCLURaiPURqiNUBuhNkJthNoItVHURlEbRW0UtVHURlEbxJkhzwyBZkg0Q6QZMs0QaoZUM8SaIdcMwWZINkO0GbLNEG6GdDPEmyHfDAFnSDhDxBkyzhByhpQzxJwh5wxBZ0g6Q9QZss4Qdoa0M8SdIe8MgWdIPEPkGTLPEHqG1DPEniH3DMFnSD5D9BmyzxB+hvQzxJ8h/wwBaEhAQwQaMtAQgoYUNMSgIQcNQWhIQkMUGrLQEIaGNDTEoSEPDYFoSERDJBoy0RCKhlQ0xKIhFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLbvmafc87aInuWiRixa5aJGLFrlo/beL3k4/t+/77dNhd7/Ze//4cXz+d9H3drz8evv75fbvbw==" }, { "name": "rotate_nullifier_public_key", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "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 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "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" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "gas_left", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "new_nullifier_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "address": [{ "start": 40, "end": 41 }], "inputs": [{ "start": 0, "end": 40 }], "new_nullifier_public_key": [{ "start": 41, "end": 43 }], "nonce": [{ "start": 43, "end": 44 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "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 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::note_hash::NoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::nullifier::Nullifier", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "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": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "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" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "revert_code", "type": { "kind": "integer", "sign": "unsigned", "width": 8 } }, { "name": "start_gas_left", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "end_gas_left", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] }, "visibility": "public" }, "return_witnesses": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271], "error_types": {} }, "bytecode": "H4sIAAAAAAAA/+2dB5gcxZn+e6WVWDHsimDABMOSM8wGBcDAKCAhkXMOQhJBGeWcc05ohZCEtMoZZYmcg89/52yf0/l8Pl/yBWcb/6dm6/W+KlWPZlZdvd9A9fP0M9XfVPf3q7erq6qrq6uLgrqlZVEQFOlwM/17eXD4gjgp/Zs8uqUiwmMlXXIWFQhnkwLhbFognMUFwtmsQDibFwjnMQXCWVIgnC0KhPPYAuFMFAjncQXCWVognGUFwtmyQDiPLxDOEwqE88QC4TypQDg/VyCcJxcI5ykFwnlqgXB+vkA4TysQztMLhPOMAuE8s0A4v1AgnGcVCOfZBcJZXiCc5xQI57kFwnlegXCeXyCcFxQI54UFwnlRgXBeXCCclxQI56UFwnlZhJxXEyeeeV6hf6/Uv1fBl/6t0L+V+rdKp7FYb1en11bptXV6bWP81za9Kp/XpNdr9X/l+r8vptfr0uv16fUGncZ26bV9eu2QXjum1xvTa6f02jm93pReu6TXrun15vR6S3q9Nb3ell5vT693pNc70+td6fXu9HpPer03vd6XXu9Prw+k1wfT60Pp9WGD5ZH0+mh6fSy9Pp5en0iv3dLrk+m1e3rtkV57pten0uvT6fWZ9Ppseu2VXnun1z7ptW967Zde+6fXAen1ufQ6ML0OSq+D0+uQ9Do0vQ5Lr8PT64j0OjK9jtIsx2uW0el1THodm17Hpdfx6XVCep2YXiel18npdUp6nZpep6XX6el1RnqdmV5nGemanV7npNe56XVeep2fXhek14XpdVF6XZxen0+vS9JrTXpdml5fSK/L0uuL6XV5el2RXlem15fS66r0ujq91qbXNel1bXpdl17Xp9cN6XVjet2UXjen1y2aBfloa3rdll63p9cd6fXl9Lozve5Kr7vT6570uje97kuv+9PrgfR6ML2+kl5fTa+vpdfX0+sb6fXN9PpWen07vb6TXt9Nr++l1/fT6wfp9cP0+lF6/Ti9fim9/kN6/XJ6/X/p9Svp9avp9Wvp9evp9Rvp9Zvp9Vvp9dvp9Tvp9bvp9Xvp9fvp9Qfp9YfBofn6R+n1H9Prj9PrT7Ttp/r3Zzpuid7+eXr9p/T6i/T6z+n1l+n1X9Lrr9Lrv+o4v9a//6Z//13//of+/U/9+1/69zf697/17//o3//Vv/+nf3+rf3+nf3+vf/+gf/+of/+kf/+sf/+if/+qfz/Rv3/TvyjkivRvE/3bVP8W699m+re5/j1G/5bo3xb691j9m9C/x+nfUv1bpn957Mbfl5T+TR7dUsEnmAeEKLsabNBU/68eQKuHu+rBqTrJ6oGfepimHlSph0DqAYt6eKEeDKiLWnVoq85i1RGrOjlVB6LqnFMdX6pTSXXYqM4Q1dGgbuLVDbK6+VQ3duXp9Zz0qhr7qiGtGqmqAagaV6rhohoFqsJVldllxPwLSocq4FXhrgp2dTGqAl0V5qogNwtvs8Bu7EK6sQvmoy2MG7sALvRC1yxofxrUFbBHKlRVgaoKU1WQqkJUFaCq8FQFpyo0VYGpCktVUKpCUhWQqnBUBaMqFFWBqApDVRCqQlAVgJnCr6iu0FMFnirsVEGnCjlVwKnCTRVsqlBTBZoqzFRBpgoxVYCpwisV1C1ciNU2rQ+fpn/bDRzYbUT5s/169Bxe3n/I4PL+T5U/2X9Ivx6DeMfv0I4n6d8u2Xf5fkN9/aShOzYtrg+fqX+7DR7cs++AweWD+5d369GjfNizg58p7z+058Cn+vQfxvueUtxApzc3a7jTpqc00Onzpzfc6cKzGuj01+c1cMfi8+vD5xxOO2jIk4MHdus+OBz52PMb6HnGJQ3ccX5Dd6xp6I47acd8T+myq+rDDRJ47VUNpN7S0B2/c1XDk/uvDXX6Xw3d8bRkw2kvTTbQabKhO959FLS9G+p0aEN3HNPQHTccRTLfbqjTfz8Kp00rGuj06obu2KuhO06vaHgySyob6PTWyoY7fayhTns0dMdpR0H7UkOdbm7ojjsbuuMPjyKZv22o0/Kqhju9nPbNsamarGog5z1Hwfl0Q50ur2640/W0b4NaCluO9gA7qxuY7LeOItn9WzXQ6ZCG7rioVcNp9zbU6U+OwukfGur03Nb5Of37DWlHvWMJHSwVRNTJ1qoiqTrO0MtmvnWlOtma6P/wW67tuI3ELzrlivV2sWFvprebGcc5Rm8fY9hL9XapYW+pt1sa9hP09gmG/SS9fZJhP1Vv4zel7Wfr7bMN+/l6+3zjOBfo7QsM+4V6+0KyJ/R/mUXblQ238kVkw512E7LhJrop2ZrjcGQ7RtuakQ35pznZWmjbMWQ7VttKyJbQthZkO07bjiVbqbYlyFambceRraW2lZINT1vKyHaCtrUk24nadjzZUIGdQLbPaduJZDtZ204iGzoXPke2U7XtZLJ9XttOIRtKgFPJhj6Hz5PtDG07jWwoBE4n2xe07QyyoR/iTLKdrW1fIFu5tp1FNlQ9Z5PtXG0rJxu6LM4h2/nadi7ZLtC288h2obadT7aLtO0Csl2sbReSDTfzF5HtUm27mGyXadslZENZdSnZ8OT0MpQpQf2Tm8w+KMvIdgXKMbJdiTKMbFeh/CJbUtuak62CfMNWqW0lZKvSNlyD6r+OOpwKIirfq6uq1XFvjPq46SOr43aO/rhJVV/cFNRrnSI/N5JWXXS4KIj2gdNNdNwi8gN7MYXvpriIBz1QjoJdlY2ddLhLlv06GvuVUZxOlvSngmjT39ng6WwwN6P0O8qzbX2ezXnJO892o7hm3kOd/mnMs/cRh4M8291Nnq1M+jxb96A4COx5D+3LT2Oe7UEc0efZVj7P5r7knWfHUFwz7+Fe59OYZwcSR/R5to2jPFvh82xQN0AmCOx5D/fdn8Y8O544os+zbX05m/uSd559geKaeQ99QJ/GPDuXOKLPs90c5dkqn2eDuoGBQWDPe+iP/DTm2eXEEX2e7eEoz/p+A7Xspbhm3kPf+Kcxz27WYdVn+1PdZ3s62X6mbWcQb/R5u2elo7zd1uftugHTQWDPo3hO82nM26/osMrHv9b5+Cyy/RuehZLt3+l5Jmz/oW3nkO0/te1csv2Xtp1Htt/guSrZ/hvPVMn2P3ieSrb/1baLyPZ/2nYx2X6rbZeQ7XfadinZfq9tl5HtD9p2Odn+qG1XkO1P2nYl2f6sbVeR7S/aliTbX7WtgmyfaFsl2f6mbVVkwwOparIVaVsrsjXRttZka6ptbchWrG1tydZM264mW3Ntu4Zsx2jbtWQr0bYvkq2Ftl1HtmO17XqyJbTtBrIdp20pspVqWzuylWlbe7K11LYO2qaeL+OZ4C+0jWc1TAXRXZMJSgeWImM7ZQk74kmWEQ/7ah+9ryqV9nZB7mlvTzwdHKQ9QT5y4elAPJHX7XomTQd1e+YctzM0TZCvdpSuTg7SVUS+cGxsw18Z2ToQYycLo4N2SmUR+cKxsc11N2wdifFK2kctqnjBm5aOrqUkt5OKdRgc7Q27Wn7eqp4Nb3nyjJNcZnY0bI7yZSZfwBeOjW34K6X0dIyfsTJXxg4Go6syooh8IQ80hu8gxDeXNfArLU+Vka0RysPKhpaHLuvBqwxfqpw4x20ZVsllGO4NrzLOC5dhL1IZdoEvw/LS2Zdhh/sOQnyXUvgG4nF1j26WBfDdJQbfZv9Ae8M3t8GwZGsjdybmmxwwq+N2jf64mfbUzfpYKIvgh+9DbiENokoT+0Y/FfzAXkzhTkX1cRHP1APsKi/jXDK7uV8nY78yitPFkv5UxOnvavB0NZjVObmW6iMH10PS1n+H7fakXdcQ7bqQdohzBWnnoO4+pI8Tx8Z2B+JBOcZ9rjc45ikyeG4gHtR50I77RdrFoNkNhmY3ZNGsMzF2sDC6ahuF1VPtiRG2m9xqlrk2kGa0ycz2aTHFuU33samfR4rcsVVoNtSZzULYSogt6rKb26rMwnohzpNaC4z94sVVXuK2ZkAa8JKiMNd30ZcR1Xn3u3EbLBU5T12bwkFZmOR66pMg2mvRrIPaG1pxHcT1t4O2U9byFP48s2f2zJ7ZM3tmz+yZPbNn9sye2TN7Zs/smT2zZ/bMntkze2bP7JlTntkze2bP7Jk9c+CZk0e3eGbP7Jk9s2f2zJ7ZM3tmz+yZPXNBMoe9v4t4HYUw3kD/O+SpzHdOka7EE/37XHXj+7vmwXML8dwcOU/d+H4H761lxuHfaqSpq5GmMorD186tDtJZFBz+Xh+2b6Xz4Jk9s2f2zJ7ZM3tmz+yZPbNn9sye2TN7Zs/smT2zZ/bMntkze2bP7Jk9s2f2zJ7ZM3tmz+yZPbNn9sye2TN7Zs/smT2zZ/7sMfMYd7AmKN4NQhhhu9kxT8LgUUuRsZ2isI2Rz+ttjhhvzYPxNrc8Sc7TOL5iTBo29V2H6U3rec1v9SA+vvvA38v5ctP6uLN0uJT+v5XS6OD9jEPeEzC/LcTf90Gc+cT7joWXvyHWxbCpNNwUfRoy1xp84djYhr/S4PD3hEopfAvZzDJCpaWzYVNpcfU90rDvYnciRqSLv2kFtvLIeCq7u0lndbJl+hgtSOtOhr5IVxNKaxfiUFzRf4+uOnM98HcGU+Sfr1/EWaOvgbBvpkT/vZvqpJu01+W99pRGddyulrQjzkYqCzbrMF/3XA4etPyPJVsZz9/ISUWfZmv5l7L4vo1YI/Jdwb6L9Ao/sHPZe4DqGMSDHvxumlpUGdFOh5nd3K+LsV8ZxWlnSX8q4vSnDJ6UwazOyTbKZ8hHjt6byzC1C+wa3UQaIQ5/f9n8NiK/a8h1oIv3CIuCw9+VNetxflf2FtKX63Hze5P8XXROQ8pRGkzt21EYjCh/OH+CrTwynrq6L/p01td9HYy0md/mUtpXGDZ1vu5sVq8Fzi23VboYNjf1UPZ2F/wdqd3F5Z9Z75rt5pIgvu+kmd/S43rvu1nqfD6WmY7OlmP9IMdjBfpYaCfhmHzNIq6b8rqubXS7kTacx9sobYjz0yO0jW53wOiyrrqD0qiO29WSdsT5Z6qz/oXaPjhH3Db6neV/LNnaRreTlndFn+bM+b6bOFPkh33fQ6wR+a5g32gbwQ/sxRT+LbWNEA96QGuwq2vmTh1mdnO/9sZ+ZRTnTkv6U0G06b/L4LnLYFbn5NeUz35HbaOUI6Y7QzTqQhohju17pYgfVk+5mhMjrJ7iOTHMtrCtnoqz/WbeR3G91DwkHXxvWlxc92srf7lvi+fccHG/yvqbZSd/nxVxWmhulac7W9o6R+pjktrWucXCWB4ZY1171UW9j/Yqrt3bjHSjjdSEfJp9NS7qeq6TzXt3+OM6+dQs10MJxUtFyOgm7YeWxeY1xWlHnDPpmjpLh8P6aq6w/I8lW3vkDtLy7ujTnOQ6Guf7bovve4k1It8V7BvtEfiBvZjClxfXx0U86AGtwa7KCNTtzG7u18XYr4zi3GVJfypw0x7Dse82mNU5OYfyGfKRYmrviOmuEI1SpBHitCObra8G+3Bd0s4Rd8rgTlkYYeP7ulTkPPl/8zpFPF0i56mbEyv6dNZ98xr6xvXNa/jgvjfut3LV3k0ZPNjOZW49z+yZPbNn9sye2TN7Zs/smT2zZ/bMntkze2bP7Jk9s2dOeWbP7Jn/HlaLZ/bMntkze2bP7Jk9s2f2zJ7ZM3tmz+yZPbNn9sye2TN/mpjD3u9DvDje78uFETZ+Nws2fjcL72dEOEa8glkCOi7PzXCLwexqzifbu3/8rp3L83RzcKgGSYNDxcH5aW7E4fmo/v5OnWa2vdOVsOzLc3XxnElRvg/A8zbcQH7vJH1TpEFEfivy/dY6wnz9NgnqGds5YkzlwdiOGGFvSoztHTG2y4OxPTFiv2JidPE+ar7v7PC72NivGTF2dMTYIQ/GjsTI7zmD0cWcVwnymwvjjcSI/Y4hRhdzwiXIby6MnYiR507Bb2dHjJ3yYOR5k7BfC2K8yRFj5zwYeb4n7HcsMbp49y1BfnNh5HkXsF+CGF3U4/m+F8xtMOx3HDG6mE+B597KhdE2R1YpMbqYaywRHNoeOhIjz7XLvGCUOm9sS2K8zRFjQ+aN5Xbw8cTo4n39RHDo3HtHYrydGLHfCcQY/VwFdYy358F4BzFivxOJ8U5HjHfkwXgnMWK/k4jRwbxJGcY782Dk+YWw3+eI0cFcChnGu/Jg5DkHsN/JxOhiDqREcOicA0divIcYsd8pxOhiXoREcOi8UUdivJcYsd+pxHifI8Z782C8jxix3+eJ8X5HjPflwXg/MWK/04jxAUeM9+fB+AAxYr/TifFBR4wP5MH4IDFivzOI8SFHjA/mwfgQMWK/M4nxYUeMD+XB+DAxYr8vEOMjjhgfzoPxEWLEfmcR46OOGB/Jg/FRYsR+ZxPjY44YH82D8TFixH7lxPi4I8bH8mB8nBix3znE+IQjxsfzYHyCGLHfucTYzRHjE3kwdiNG7HceMT7piLFbHoxPEiP2O58YuztifDIPxu7EiP0uIMYejhi758HYgxix34XE2NMRY488GHsSI/a7iBifcsTYMw/Gp4gR+11MjE87YnwqD8aniRH7XUKMzzhifDoPxmeIEftxfnzWEeMzeTA+S4zYr4IYezlifDYPxl4Wniif95URD/vqE33aK1Xaewe5p70P8fSNnidzLvrkwdPXLU/mXPSx+Oofva/MuegX5J72/sQzIHqezLnonwcPGMpoP9bsuegZM5oNyIPxOeIZGD1PRrPn8uAZSJo9Z9FsUPSMGc0G5sE4iHgGR8+T0WxQHjyDSbNBFs2GRM+Y0WxwHoxDiGdo9DwZzYbkwTOUNBti0WxY9IwZzYbmwTiMeIZHz5PRbFgePMNJs2EWzUZEz5jRbHgejCOIZ2T0PBnNRuTBM5I0G2HRbFT0jBnNRubBOIp4RkfPk9FsVB48o0mzURbNxkTPmNFsdB6MY4hnbPQ8Gc3G5MEzljQbY9FsnCPGsXkwjiNG7Mft+fGOGMflwTieGMcRG34nOGIcnwfjBGLEfjy2Z6Ijxgl5ME4kRuzHY3smOWKcmAfjJGLEfjy2Z7Ijxkl5ME4mRuzHY3umOGKcnAfjFGLEfjy2Z6ojxil5ME4lRuYF4zRHjFPzYJxGXNiPx/ZMd8Q4LQ/G6cSI/XhszwxHjNPzYJxBjNiPx/bMdMQ4Iw/GmcSI/XhszyxHjDPzYJxFjNiPx/bMdsQ4Kw/G2cSI/XhszxxHjLPzYJxDjNiPx/bMdcQ4Jw/GucSI/XhszzxHjHPzYJxHjNiPx/bMd8Q4Lw/G+cSI/XhszwJHjPPzYFxAjNiPx/YsdMS4IA/GhcSI/XhszyJHjAvzYFxEjNiPx/YsdsS4KA/GxcSI/Xhsz/OOGBfnwfg8MWI/HtuzxBHj83kwLiFG7Mf3rjWOGJfkwVhDjEs841EzMk95dDxJTjv7Wiog7UstPEWBm7SzrxcEpB0MhcZYUwCMvQqA0evoGT3jp4/RX9deR0mMXkevo2f89DH2LQBGf649o2f89DEWQl3oGX27xzN++hj9NeOva8+YH6N/rlA35rohjIpnWfQ8Gc1eyINnGWmG/fq6ZaxsKKPieTF6noxmy/LgeZE0W2bRzAFjZUMZFc/y6Hkymr2YB89y0uxFi2YOGCsbyqh4VkTPk9FseR48K0iz5RbNHDBWNpRR8ayMniej2Yo8eFaSZissmjlgrGwoo+J5KXqejGYr8+B5iTRbadHMAWNlQxkVz6roeTKavZQHz6qgXrOXLJo5YKxsKKPiWR09T0azVXnwrCbNVlk0k8rYqwAYawqAsRB09IyeURKjv669jpIYvY5eR8/46WP07XDP+BlirGwoo+KpjZ4no9nqPHhqSTPs19ctY2VDGRXPmuh5MprV5sGzhjSrtWgmlXFpATD28oye0TM2mHFt5IzVyXwZ1zrWzE06k0mVpnVGmmqNNJVRHNZ9nYN0FpFfHBvb6+g85MNcU4DMXmevcxiz19nrHMbsdfY6hzF7nb3OYcxeZ69zGLPX2escxux19jqHMXudvc5hzF5nr3MYs9fZ6xzG7HX2Oocxe529zmHMXmevcxiz19nrHMbsdfY6hzF7nb3OYcxeZ69zGLPX2escxux19jqHMXudvc5hzF7nhjHzfGdgTVC8JUIYYVtDPOuj56lOGDxqKTK2UxRe71gfR+nMjHvfENh1X0+6Iw5fXxscpLOI/OLY2N5A5yEf5poCZPY6N4yZ5yAEa4LivSCEEbZ1xLMxep6qhMGjlmzl2EbH+jhKZ6Yc2xTYdd9IuiMOX1+bHKSziPzi2NjeROfBM7tn5jk2wZqgeMuEMMK2gXg2R85TmUwYPGrJViZsdqyPm3TWlQlbArvum0l3xOG8usVBOovIL46N7S10HvJhrilAZq+z1zmM2evsdQ5j9jp7ncOYvc5e5zBmr7PXOYzZ6+x1DmP2Onudw5i9zl7nMGavs9c5jNnr/NnRWfHg21FgTVC8F4UwwraJeLZGzlOVTBg8asn23GGrY33cpLPuucO2wK77VtIdcfj62uYgnUXkF8fG9jY6D/kw1xQgcyHq7POG1/nTxOzzhmcOY/Z5wzOHMfu84ZnDmH3e8MxhzD5veOYwZp83PHMYs88bnjmM2ecNzxzG7POGZw5j9nnDM4cx+7zhmcOYfd7wzGHMPm945jBmnzcaxqx4luswWBMUb7kQRti2EM/26HmqEwaPWrKN29nuWB9H6cyM29kR2HXfTrojDufVHQ7SWUR+cWxs76Dz4Jk9s41Z8azQYbAmKN4KIYywbSOelyPnqUgmDB61ZCvHXnasj5t01pVjOwO77i+T7ojDeXWng3QWkV8cG9s76Tx4Zs/smT2zZ/bMntkze2bP3BjMimelDoM1QfFWCmGEbQfx7Iqepzph8Kgl233TLsf6OEpn5r5pd2DXfRfpjjicV3c7SGcR+cWxsb2bzoNn9sw2ZsXzkg6DNUHxXhLCCNtO4tkTPU/bhMGjlmzl2B7H+jhKZ6Yc2xvYdd9DuiMO59W9DtJZRH5xbGzvpfOQD3NNATJ7nb3OYcxe58+OzopnlQ6DNUHxVglhhG038eyLnqdtwuBRS7Z6eZ9jfRylM1Mv7w/suu8j3RGHr6/9DtJZRH5xbGzvp/OQD3NNATJ7nb3OYcxe58+OzopntQ6DNUHxVgthhG0v8RyInqc6YfCoJVu9fMCxPo7SmamXDwZ23Q+Q7ojD19dBB+ksIr84NrYP0nnIh7mmAJm9zg1jVjy9dRisCYrXWwgjbPuJ55XoeaoTBo9aspVjrzjWx1E6M+XYq4Fd91dId8Th6+tVB+ksIr84NrZfpfOQD3NNATJ7nRvGrHj66TBYExSvnxBG2A4Sz2uR89R9t4t51JKtHHvNsT5u0llXjr0e2HV/jXRHHL6+XneQziLyi2Nj+3U6D57ZM3tmz+yZPbNn9sye2TN7Zs/smT2zZ/bMntkze2bP7JllMyueAToM1gTFGyCEEbZXieeNyHnqnjswj1qyPXd4w7E+btJZ99zhzcCu+xukO+JwXn3TQTqLyC+Oje036Tx4Zs/smT2zZ/bMntkze2bP7Jk9s2f2zJ7ZM3tmz+yZPbNnls2seAbqMFgTFG+gEEbYXieetyLnqZuvm3nUku25w1uO9XGTzrrnDm8Hdt3fIt0Rh/Pq2w7SWUR+cWxsw59n9sye2TN7Zs/smT2zZ/bMjcWseAbrMFgTFG+wEEbY3iSedyLnqRuvxTxqKTK2UxR+x7E+btJZd9/0bmDX/R3SHXE4r77rIJ1F5BfHxva7dB7yYa4pQGavs9c5jNnr7HUOY/Y6e53DmL3OXucwZq+z1zmM2evsdQ5j9jp7ncOYvc5e5zBmr7PXOYzZ6/zZ0VnxDNXht/RvguINFcII29vE817kPFXJhMGjlmzPHd5zrI+bdNY9d3g/sOv+HumOOHx9ve8gnUXkF8fG9vt0HvJhrilA5kLU2ecNr/OnidnnDc8cxuzzhmcOY/Z5wzOHMfu84ZnDmH3e8MxhzD5veOYwZp83PHMYs88bnjmM2ecNzxzG7POGZw5j9nnDM4cx+7zhmcOYfd7wzGHMPm80jFnxDNdhsCYo3nAhjLC9SzwfRM9TnTB41JJt3M4HjvVxlM7MuJ0PA7vuH5DuiMN59UMH6Swivzg2tj+k8+CZPbONWfGM1GGwJijeSCGMsL1PPB9Fz9M2YfCoJVs59pFjfRylM1OOfRzYdf+IdEcczqsfO0hnEfnFsbH9MZ2HfJhrCpDZ6+x1DmP2On92dFY8o3UYrAmKN1oII2zc7oGtWXq9TId70f8f0/+XG/8rv1/S4SZ6O9v5LDb2WRrU6/LlIGpdKq/mcxAQDy8pCn+ZeP4hcp669kH06Uwm1XH/H7FHc9zqnkqrrxhafWRoVUZxmOErDvQrIr84Nra/YvEdnRatWynfX81Bi69aeL4asxZftfiOTos2bZTvr+WgxdcsPF+LWYuvWXxHp0Vlpm3+9Ry0+LqF5+sxa/F1i+8Ir5FMefGNHLT4hoXnGzFr8Q2L7wivkUx58c0ctPimheebMWvxTYvvCPNFd+X7Wzlo8S0Lz7di1gL+CpG5xAhH47v11cr3t3PQ4tsWnm/HrMW3Lb4j1KK18v2dHLT4joXnOzFrAX/5Mn+rAJm/IoC5xAhH47tNpfL93Ry0+K6F57sxawF/+TJ/TQBziRGOxnebTBvxezlo8T0Lz/di1gL+8mX+hgDmEiMcje/Wmevv+zlo8X0Lz/dj1gL+8mX+ZgEyf0sAc4kRjsZ36yrl+wc5aPEDC88PYtYC/vJl/poA5hIjHI3v1k8q3z/MQYsfWnh+GLMW8Jcv81cEMJcY4Wh8t8nc8/woBy1+ZOH5UcxawF++zF8TwFxihKPx3bqH8v2POWjxjxaef4xZC/jLl/kbAphLjHA0vttk6r8f56DFjy08P45Zix9bfEeoRbXy/ZMctPiJhecnMWsBf/kyf60Amb9XgMxfKUDmQswbXxfAXGKEo/Hd+inl+6c5aPFTC89PY9YC/vJl/roA5hIjHI3vykzb6Gc5aPEzC8/PYtbiZxbfEdat3ZTvn+egxc8tPD+PWQv4y5f5KwXI/J0CZP6JAGY1xgrjrfq3dMlT2S1h8ECzwGAMDMYEhXnM1T9FzphM8vn5J/L1i+h9VdjyC7Z/4dR35dXquL+MPk2ZZxf/oo/VTB/3l5Y0/UqHiyLW81/ouEXkB/ZiCvdpWR8X8aAHrluwl6bXf9ZhZjf3+7mxXxnF+WdL+lNBtOn/pcHzS4NZnZNudJ27yFu55Ovjg/pr+VKK+yXihL0J6YZrMup8w+NPi8gPeLic/GbLesbBpCXGFn8SHVtSHWMpaXKFDvM45oVBvc4R+e2hytzFwaFLtrJ6IfEsip6nwlE6M2NhFxB7NMetGwMz39BqsaFVGcVhhvkO9Csivzg2tudbfEeoRWac37wctJhn4ZkXsxbzLL4jvH/IjAeam4MWcy08c2PWYq7Fd4T5IuN7Tg5azLHwzIlZizkW3xFqkRnzODsHLWZbeGbHrAX85cu8QABziRGOxnfrTJ/7rBy0mGXhmRWzFrMsviPsL8rcA8zMQYuZFp6ZMWsBf/kyzxfAXGKEo/Fd1187IwctZlh4ZsSsBfzlyzxfAHOJEY7Gd91YoOk5aDHdwjM9Zi2mW3xHqEXmvYppOWgxzcIzLWYt4E/da+Ke7xstnfL0TBg8asl2nweGBIX53m9q9IxJPj9TydeU6H1V2PILtqe49d1DHXdS9MfN1McT9bHQJzfJkqYJOhx138pEOm4R+YG9mMJfpT45xIMeuG7BrvrkJusws5v7TTP2K6M4ky3pTwXRpn+SwTPJYFbn5D26zl3krVzyteqT4zIRbLPOrmfrGz1bZn6ppcGhS7YyCAzc5xYhT4WjdGb6mvAufJR9hEqrWkOrpYZWZRSH522odaBfEfnFsbFda/FdHkSrxZoctFhj4VkTsxbwly9zrwJklqCz4umtw2BNULzeQhhh4z7+tdHzVCcMHrVkK3fXOtbHUTozZcK6wK77WtIdcfj6WucgnUXkF8fG9jo6D/kw1xYgs9e5YcyKp58OgzVB8foJYYRtDfGsj5ynMpkweNSSrRxb71gfN+msK8c2BHbd15PuiMPX1wYH6Swivzg2tjfQefDMntkze2bP7Jk9s2f2zJ7ZM3tmz+yZPbNn9sye2TN7Zs8sm1nxDNBhsCYo3gAhjLCtI56NkfPUPXdgHrVke+6w0bE+btJZ99xhU2DXfSPpjjicVzc5SGcR+cWxsb2JzoNn9sye2TN7Zs/smT2zZ/bMntkze2bP7Jk9s2f2zJ7ZM3tm2cyKZ6AOgzVB8QYKYYRtA/FsjpynIpkweNSS7bnDZsf6uEln3XOHLYFd982kO+JwXt3iIJ1F5BfHxvYWOg+e2TN7Zs/smT2zZ/bMntkzNwaz4hmsw2BNULzBQhhh20Q8WyPnqRuvxTxqyXbftNWxPm7SWXfftC2w676VdEcczqvbHKSziPzi2NjeRuchH+baAmT2Onudw5i9zl7nMGavs9c5jNnr7HUOY/Y6e53DmL3OXucwZq+z1zmM2evsdQ5j9jp7ncOYvc6fHZ0Vz1AdBmuC4g0VwgjbFuLZHjlPVTJh8Kgl23OH7Y71cZPOuucOOwK77ttJd8Th62uHg3QWkV8cG9s76Dzkw1xbgMyFqLPPG17nTxOzzxueOYzZ5w3PHMbs84ZnDmP2ecMzhzH7vOGZw5h93vDMYcw+b3jmMGafNzxzGLPPG545jNnnDc8cxuzzhmcOY/Z5wzOHMfu84ZnDmH3eaBiz4hmuw2BNULzhQhhh20Y8L0fPU50weNSSbdzOy471cZTOzLidnYFd95dJd8ThvLrTQTqLyC+Oje2ddB48s2e2MSuekToM1gTFGymEEbYdxLMrep62CYNHLdnKsV2O9XGUzkw5tjuw676LdEcczqu7HaSziPzi2NjeTechH+baAmT2Onudw5i9zp8dnRXPaB0Ga4LijRbCCNtOtzyVCYNHLdnq5d3Eszd6nsz9zu48ePYSz57oeSocpTOpjruP2KM6rtJqv6HVbkOrMorDDPsd6FdEfnFsbMOfZ/bMYcxcFoI1QfF2CWGEbQ/xuCg3VNor9bFw/Gbptfyker8u+qH4HryZPi444K+Y4rxbXR/3fM1WSv/jvKn07DBsjt4Nq7D1h2Ib/koD+z2xi760fOteG88n0fEk+VpjXy7e/8u3X3ObhSfCtFeE9elujT7tmWu4Sh8Lx1fXSeuTnGpezfkf13CVkeZiivMSXcPXZLmGmwSH9y2Vazvi4P9PtN08Rrk+NrZvCOr9Yd925G+H5bgc9xn96+gcVuWbf7cSj6v3aV3kVZUmc87Z7UaayigOl+Gu5nMNe6862zy52Zh3FCDzywKYOc+VR+a7soc67ubo01TVMn2MFqSrOYcB0qXKEeSJ3vqX6+relH5X33oJ6yPYRIxmX4ujPu2szxK4nwe67BCqGbdvXrbo2M/C3U8AN+fHOM51WBuZz3U/Q0dpmtnasqzjAAv3AAHcEq/rAYaO0jQ70nU90MIdx/e6CvG6HmjoKE2zI13Xgy3cgwVwS7yuBxs6StPsSNf1UAv3UAHcEq/roYaO0jQ70nU93MI9XAC3xOt6uKGjNM2OdF2PtHCPFMAt8boeaegoTbMjXdejLdyjBXBLvK5HGzpK08x2XTt6dlKZ73jCHU71qU7yc6xcePg7Uy7ylKN8kBm3sFEfK8pnT0qrDYZWOwytyijORtJvgwP9ioLDv1GNbfjzzJ7ZM3tmz+yZPbNn9sye2TN7Zs/smT2zZ/bMntkze2bP7Jk9s2dOeWbP7Jk9s2f2zIFnTh7d4pk9s2f2zJ7ZM3tmz+yZPbNn9swFyWybizdB8V4WwgjbLrc8lQmDRy1FxnaKwhuIZ13kPHXj+zfkwbOOeNZHzlM3vj/6dNaNw19rpGmDkaYyisPXzloH6Swivzg2ttfSefDMntkze2bP7Jk9s2f2zJ7ZM3tmz+yZPbNn9sye2TN7Zs/smT2zZ/bMntkze2bP7Jk9s2f2zJ7ZM3tmz+yZPbNn9sye2TN/9ph5jDtYExRvkxBG2NY75kkYPGopMrZTFLYx8nld44hxbR6Ma9zyJDlP4/iKsdqwNUuvvzq5nmW7AxalA94nKdbHBcd2siPOeVX1bP+u2fh7HWsD97xrSZ8U+eF0IM5/n1wf97xTDufl76JsM2wqDQ6+mZu5huELx8Y2/JUGh39vupTC68hmlj0qLZsNm0rLRkdpgS8cG9sbiRHp2kw8YCuPjKeyu5t0VidbBnXfhjXLrE1GuppQWvk7zoor+vegqjPXA8p4XA/wD3/FFKdYXwPHB4cvJYGLd5Gqk27SXpf31lIa1XG3W9KOOC1OqdcpocN83fO3z0+3/I8lW93B9W1t9GnOnO+lxJkiP+y7hlgj8l3Bvov0Cj+wF1P4tFPq4yIe9IDWYFdlBOo9Zjf322bsV0Zx1ljSnwqiTX+twVNrMKtzUkb5DPlIMa1zxLQmRCP+LjjibCYb6jnE52/WO/4+U4Z7u8Ft1uNlZFtH+hZ6PV5CbOVBtHVf9Omsr/t2GGl72ZIuB22+zLusDr73XpHvN7lsbZeo0+mgjZb121nwx++7b6F0uqq3Nxo82OZ3ybEsIh5XbdjA4Aks+mC5TRhPE2E8y4XxTBPG014YzxXCeEYJ4zlHGE9/YTwnC+PpJoynhTCee4XxtBLGM1cYTxdhPF8UxjNRGM/FwniGCuM5UxjPM8J4jhfG84gwnueF8dwhjKdYGM8KYTwzhPF0FMYzRhjPecJ4nhPGc6ownu7CeJLCeBLCeO4XxjNfGM/NwniuE8YzWRjPDcJ4LhXGM1wYz05hPGcJ4+ktjOdEYTyPCeNpLoznLmE8K4XxzBLG00kYT2thPEuE8YwTxrNNGM8FwngGCeM5TRhPT2E81wrjKRXG86AwnuuF8SwUxnOrMJ5KYTxThfG0E8ZzlTCey4XxjBTGUy6Mp58wnlXCeKqF8TwhjOdzwnhKhPHcI4znJWE8c4Tx3CSMp40wnheE8UwQxnORMJ4hwnjOEMbztDCea4TxtBTG87AwnsXCeG4XxtNUGM90YTwdhPGMFsZzrjCeAcJ4VgvjOUUYz5PCeI4VxnOfMJ55wni6CuOZJIxnmTCeK4XxXCKMZ5gwni8I43lWGM8JwngeFcbTTBjPncJ4ZgrjuVEYz1hhPOcL4xkojOfzwnh6CONpK4znOGE8DwjjWSCM5xZhPC8K45kijCcljGeLMJ4RwnguE8ZztjCePsJ4KoTxnCSM53FhPFcL4zlGGM/dwniqhPHMFsbTWRjPeGE8FwrjGSyM53RhPE8J4ykTxvOQMJ4iATyJ4PC5uBP0/3ayYc7oHWTDtxA2k832nZQmFr8Yv8Lfd8KcWuvJhn5oHFfV+xe0PpyhiYVhvYWVdXc17zb7StE2/JUSx3ohPA8J4ykTxvOUMJ7ThfEMFsZzoTCe8cJ4OgvjmS2Mp0oYz93CeI4RxnO1MJ7HhfGcJIynQhhPH2E8ZwvjuUwYzwhhPFuE8aSE8UwRxvOiMJ5bhPEsEMbzgDCe44TxtBXG00MYz+eF8QwUxnO+MJ6xwnhuFMYzUxjPncJ4mgnjeVQYzwnCeJ4VxvMFYTzDhPFcIoznSmE8y4TxTBLG01UYzzxhPPcJ4zlWGM+TwnhOEcazWhjPAGE85wrjGS2Mp4MwnunCeJoK47ldGM9iYTwPC+NpKYznGmE8TwvjOUMYzxBhPBcJ45kgjOcFYTxthPHcJIxnjjCel4Tx3COMp0QYz+eE8TwhjKdaGM8qYTz9hPGUC+MZKYzncmE8VwnjaSeMZ6ownkphPLcK41kojOd6YTwPCuMpFcZzrTCensJ4ThPGM0gYzwXCeLYJ4xknjGeJMJ7Wwng6CeOZJYxnpTCeu4TxNBfG85gwnhOF8fQWxnOWMJ6dwniGC+O5VBjPDcJ4JgvjuU4Yz83CeOYL47lfGE9CGE9SGE93YTynCuN5ThjPecJ4xgjj6SiMZ4YwnhXCeIqF8dwhjOd5YTyPCOM5XhjPM8J4zhTGM1QYz8XCeCYK4/miMJ4uwnjmCuNpJYznXmE8LYTxdBPGc7Iwnv7CeM4RxjNKGM8VwnjaC+OZJoxnuTCeJsJ4bhPGs8jgUQvmbFNzhWzTYcwdXcz/68l2jw8OX0ppHzxj4/mye1P6NzpK/wbiSdH2RmLcYmji8nxsMXhM36UU7kearTVsinGNI8a1BiO21xAj9FtLPGsd8Ww0eEzfpRQeQJrVGjbFuNQRY63BiO2lxAj9aomn1hHPGoPH9F1K4YGkWY1hU4x9HTHWGIzY7kuM0K+GeGoc8Sw1eEzfpRQeTJr1MmyKcZcjxl4GI7Z3ESP060U8vRzx9DV4TN+lFB5Kmu02bIpxjyPG3QYjtvcQI/TbTTy7HfHsMnhM36UUHk6a7TVsinGfI8a9BiO29xEj9NtLPHsd8ewxeEzfpRQeSZrtN2yK8YAjxv0GI7YPECP02088+x3x7DN4TN+lFB5Nmh00bIrxFUeMBw1GbL9CjNDvIPEcdMRzwOAxfZdS+GmygfcGsr1Kx4HtNR1uR7bXdbg92d7Q4Q5ke1OHO5LtLR2+kWxv63Ansr2jw53J9q4O30S293S4C9ne1+GuZPtAh28m24c6fAvZPtLhW8n2sQ7fRrYv6fDtZPsHHb6DbF/W4TvJ9v90+C6yfUWH7ybbV3X4HrJ9TYfvJdvXdfg+sn1Dh+8n2zd1+AGyfUuHHyTbt3X4IbJ9R4cfJtt3dfgRsn1Phx8l2/d1+DGy/UCHHyfbD3X4CbL9SIe7ke0fdfhJsv1Yh7uT7Sc63INsP9XhnmT7mQ4/Rbaf6/AzZPsnHX6WbL/Q4T5k+2cd7k+2X+rwc2T7Fx0eRLZf6fAQsv2rDg8j2691eATZ/k2HR5Ht33V4DNn+Q4fHku0/dXgc2f5Lh8eT7Tc6PIFs/63DE8n2Pzo8iWz/q8OTyfZ/OjyFbL/V4alk+50OTyPb73V4Otn+oMMzyPZHHZ5Jtj/p8Cyy/VmHZ5PtLzo8h2x/1eG5ZPtEh+eR7W86PJ9smY6NoH5ObmUr0raFZGuibYvI1lTbFpOtWNueJ1szbUN5r+qfY7StPIi2/mmuj4tjwzf8qZ8SHW5uxMG+xRRnSZb+GfUdKdRXr5AtpcOvkg311WtkQ331OtlQX71BNtRXb5IN9dVbZEN99TbZUF+9QzbUV++SDfXVe2RDffU+2VBffUA21Fcfku1WHf6IbKivPiYb6qsvkQ311T+QDfXVl8mG+ur/kQ311VfIhvrqq2RDffU1sqG++jrZUF99g2yor75JNtRX3yIb6qtvkw311XfIhvrqu2RDffU9sqG++j7ZUF/9gGxP6PAPyYb66kdkQ331j2RDffVjsqG++gnZUF/9lGyor35GNlzzuLaUDXXYzyke6rB/IhvqsF+QDXXYP5MNddgvyYY67F/IhjrsV2RDHfavZEMd9muyoQ77N7KhDvt3sqEO+w+yoQ77T7KN1+H/IhvqsN+QDXXYf5MNddj/kA112P+SDXXY/5ENddhvyYY67HdkQx32e7KhDvsD2VCH/ZFsqMP+RDbUYX8mG+qwv5Btrg7/lWyowz4hG+qwv5ENdVhAeQ11WBHZUIc1IRvqsKZkQx2GOq2EwngeoJbkUS787U48aykhllQQbR3JS4rCnHYsy4XxtBfGc44wnm7CeFoI42kljKeLMJ4vCuO5WBjPM8J4jhfGc4cwnlOF8SSF8dwvjGetMJ41wnhuEMYzXBjPWcJ4HhPG01wYz0phPJ2E8VwgjKenMJ5SYTy3CuO5XBhPP2E81cJ4PieM5x5hPG2E8bwgjOcMYTzXCON5WBjPbmE8e4TxNBXG00EYz2hhPOcK41ktjOdJYTzHCuPpKoznEmE8zwrjOUEYz53CeAYK4/m8MJ4HhPHUCuNZKoznRf0rhScljOdsYTwVwngeF8ZzjDCeKmE8nYXxXCiM5ylhPGXCeG4TxnOFMJ6ThfHcK4xnnTCeLcJ4hgrjOVMYzyPCePYK49knjOd5YTzFwnhWCOPpKIznPGE83YXxJITx3CyM5zphPJcK49kpjKe3MJ4ThfHcJYyntTCebcJ4lgjjOU0Yz7XCeB4UxnO9MJ4aYTx9hfFUCuO5ShhPO2E8I4XxlAvjWSWM5wlhPCXCeF4SxnOTMJ6LhPE8LYynpTCe24XxHBTGM0AYzynCeO4TxrNBGM9GYTzLhPFcKYznC8J4HhXGs18YzwFhPM2E8dwojOd8YTw9hPG0FcZznDCeW4TxXCaM52phPCcJ47lbGM9gYTynC+N5SBhPL2E8u4TxFAngSRAHlgT9fynZMI/lTrJhnsttZMMcmAfJhrkyi9lv0eG2JhY+vKe7mI6HsVNNKB7ak4soHuakWUg2jMuHf7V9SevD+ZtY0tk0OJx/kSWdzIUwn2/skwqiPd/sKxXY59YuMhgbm2eXMJ5ewngeEsZzujCewcJ47hbGc5IwnquF8VwmjOcWYTzHCeNpK4ynhzCe84Xx3CiMp5kwngPCePYL43lUGM8XhPFcKYxnmTCejcJ4NgjjuU8YzynCeAYI4zkojOd2YTwthfE8LYznImE8NwnjeUkYT4kwnieE8awSxlMujGekMJ52wniuEsZTKYynrzCeGmE81wvjeVAYz7XCeE4TxrNEGM82YTythfHcJYznRGE8vYXx7BTGc6kwnuuE8dwsjCchjKe7MJ7zhPF0FMazQhhPsTCe54Xx7BPGs1cYzyPCeM4UxjNUGM8WYTzrhPHcK4znZGE8VwjjuU0YT5kwnqeE8VwojKezMJ4qYTzHCON5XBhPhTCes4XxpITxvCiMZ6kwnlphPA8I4/m8MJ6BwnjuFMZzgjCeZ4XxXCKMp6swnmOF8TwpjGe1MJ5zhfGMFsbTQRhPU2E8e4Tx7BbG87AwnmuE8ZwhjOcFYTxthPHcI4znc8J4qoXx9BPGc7kwnluF8ZQK4+kpjOcCYTydhPGsFMbTXBjPY8J4zhLGM1wYzw3CeNYI41krjOd+YTxJYTynCuO5QxjP8cJ4nhHGc7Ewni8K4+kijKeVMJ4Wwni6CeM5RxhPe2E8y4XxNLHwbHPEg/kpcWxsw5/3Hb1vjL9FHtgSo++Nhu+NMfpeY/heE6PvpYbvpTH67mv47huj712G710x+t5j+N4To+99hu99Mfo+YPg+EKNvX7b4siUu375s+WyVLbm0mQ5G7zupjrvTUZrQ7m6mjwt++CumOIt0xzb6c3jhY4ET88HjmKWk1SLSDPE+CY4+bd2efKp1dbcemUe2Cylt8FtE9xSLI9e0soLny2dtAkMbLItJBxfn2E066/JkU9IymuNW9ygyBEuRnkhHGcVhBtgiTGfmGlkcHMrz922L7+i0aN1KHXJBcGQtFlh4FgTxagF/JUY4Gt9tqpTvv+Wgxd8sPH+LWYu/0ekoNOYSIxyN79YZ3/Nz0GK+hWd+zFrMt/iOUIs2yvcnOWjxiYXnk5i1gL98mbksaizmEiMcje/KpPI9Lwct5ll45sWsxTyL7wjzck/le24OWsy18MyNWYu5Ft8RavGU8v3XHLT4q4XnrzFr8VeL7wjr62rl+y85aPEXC89fYtYC/vJl/qQAmf8mgLnECEfju02mvTwnBy3mWHjmxKwF/OXL/FcBzCVGOBrfrdsq33/OQYs/W3j+HLMW8Jcv81wBzCVGOBrfbSqV79k5aDHbwjM7Zi1mW3xHmJevVr7/lIMWf7Lw/ClmLf5k8R1hvuimfM/KQYtZFp5ZMWsBf/ky8/1OYzGXGOFofLfOtOVm5qDFTAvPzJi1mEmnIx/mTwQwlxjhaHy3zpTLf8xBiz9aeP4YsxZ/tPiOsCzKlMt/yEGLP1h4/hCzFvCXL/MnBcj8NwHMJUY4Gt+tM33XM3LQYoaFZ0bMWsDfZ4F5bgEy/6UAmecVIPNfBTCrZ+94hn3z2S55KisTBg80CwzGwGBMUJifZf8+csZkks/P78nX9Oh9VdjyC7anO/VdmXlmPy36NGWeW0zVx8J4j2mWNP1Wh4si1nMqHbeI/MBeTOGbzq6Pi3jQA9ct2NW4kt/pMLOb+80w9iujOL+zpD8VRJv+aQbPNINZnZPr6Dp3kbdyyddqfA+u5XNJl8Yas6nOE76hgbmSE/R/b2Jc6IgRvnBsbC8kRti2EM8WRzwbDc02Gr4VTz8d3kCa4f9+xLjOESN84djYXkeMsG0kno2OeMLGyG4kHnzbdC1phv8HEOMGR4zwhWNjewMxwraGeNY44gkb27uGeDD/Yi1phv8HEuNaR4zwhWNjey0xwraUeJY64gkbk7yUeAbrcA1phv8HE2OtI0b4wrGxXUuMsPUlnr6OeMLGUvclHnxHoBdphv+HEmONI0b4wrGxXUOMsO0inl2OePYYmu0xfCsezP2wmzTD/8OJsZcjRvjCsbHdixhh20M8exzxhI1d30M8+D7oXtIM/48kxt2OGOELx8b2bmKEbR/x7HPEEzbmfh/xYI7H/aQZ/h9NjHsdMcIXjo3tvcQIG/hVe3uWbm+rewiUd0soDYsNm0qDq3djw/oD+N1YlDV8r+1gfHeGp8bgMX2XUvgF0myhYXM5HjnsnYwFxAj9FhKPq/sE8x0I03cphZeRZvMNm8uxguY4XGzPI0boZxsLGzWPOcbd9F1K4RdJs7mGzeWYmLkGI7bnECP0s40zjJrHHH9q+i6l8HLSbLZhc/m82hwLgu1ZxAj9bOMxouYxx1mZvkspvII0m2nYXPYJm8+ssT2DGKGf7blx1DzmGAjTdymFV5Jm0w2boz7NDON0gxHb3D8YT99tbv3GpRR+iTSbatgU4xRHjFMNRmxPIUboN5V4pjriCesbnUo8CK8izSYbNsU4yRHjZIMR25OIEfpNJp7JjnimGDym71IKrybNJho2xTjBEeNEgxHbE4gR+k0knomOeCYZPKbvUgr3Js3GGzbFOM4R43iDEdvjiBH6jSee8Y54Jhg8pu9SCvcjzcYaNsU4xhHjWIMR22OIEfqNJZ6xjnjGGTym71IKDyDNRhk2xTjCEeMogxHbI4gR+o0inlGOeMYYPKbvUgoPJM2GGTbFOMQR4zCDEdtDiBH6DSOeYY54Rhg8pu9SCg8mzQYZNsX4nCPGQQYjtp8jRug3iHgGOeIZYvCYvkspPJQ062/YXPaH9zcYsd2XGKFff+Lp74jnOYPH9F1K4eGkWR/D5rKvuY/BiO1exAj9+hBPH0c8Yc8L+hAPwiNJs1rD5vL5Xq3BiO01xAj9aomn1hFPL4PH9F1K4dGk2VrD5vK59lqDEdvriNF8BtmYzz+V7/XR+65k3bFkGzO2nnhcnBtH6Uzy8/5PgmjP3UZDq7WGVvy8fwPp52qMxHqDB9s83iQf5ksFMHO+KA+izRebok9TZcugbk5f6LrJ0JfTtdmRpmHPfjbH4DvsGUocvsOeRcThO6xPPw7fYX3jcfgO62OOw3dYX20cvsP6POPwHdZ3GIfvsD64OHyH9WXF4TusTygO32F9K3H4DuujiMN32L1+HL7D7pnj8B127xmH77B7uDh8h90LxeHbt5l8myku377N5NtMcfn2bSbfZorLt28zyWwz4T2tCPs/k+xDjcVGvxa/P7dNh4si9KuOtVUfq1gfGxw8l/vLketd1V31mW8PDl2y9Zm/TDw7Iuep6zOPPp2HzllfEtlxW1XZ3inZbmjF75Qwg6v3cF42eLBtewcoOi3q5tjcnYMWuy08rt5dCdNit8V3dFrUzb26Jwct9lh4XL1rFKaF7T2nCPNFZr6nvTlosdfC4+r9nDAt9lp8R5gvrO8G2bTYZ+Fx9T5VmBa2d7ki1CIz7/j+HLTYb+HZH7MW+y2+I9SiFb/Xlk2LAxaeAzFrccDiOzot6uYzP5iDFgctPA6+d5NVi4MW3xGWnZn2xSs5aPGKheeVmLV4xeI7wmuku/L9ag5avGrheTVmLeAvX+bdBci8qwCZDwhgLjHC0fiuypSfr+WgxWsWntdi1gL+8mU+IIC5xAhH47vuGxav56DF6xae12PWAv7yZd5dgMy7CpD5QAEy7y1A5lc8cyzMEsqNEiMcje82mfvhN3LQ4g0LzxsxawF/+TLvF8BcYoSj8V03L/2bOWjxpoXnzZi1eNPiO8J7+Ewb5q0ctHjLwvNWzFrAX77MBwqQeWcBMu8qQObdBci8pwCZ9xYg874CZN5fgMyFWD4fLEDmVwqQuRDL50KsBwsxP0soN0qMcDS+W2e+Z/92Dlq8beF5O2Yt3rb4jvB+O/PM9Z0ctHjHwvNOzFrAX77MBwuQeVcBMh8oQGafN+Jh3luAzHsKkNmXGw1jLjHC0fhu3Vr5fjcHLd618Lwbsxbwly/zngJk3l2AzG8VIPMBAcwlRjga31UZ3+/loMV7Fp73YtYC/vJlflMAs3ofBO+GLDzHJU9Vj4TBA80CgzEwGBMUfpk0ez9yxrpv7sHX++Trg+h9WfM4tj9w6ruquzruR9GnKTM27GN9LHxz7yNLmr6kw0UR6/kxHbeI/MBeTOF559THRTzogesW7GqOsw91mNnN/d4z9iujOB9a0p8Kok3/RwbPRwazOieT6Tp3kbdyydfHB/XX8nWki5+rIFrffq6CuuP6uQrc+/ZzFdQd189V4N63n6ug7rh+rgL3vnsZvj9r8zuhjd4YbSb4bow2E3w3RpsJvhujzQTfjdFmgu/GaDPBd2O0meC7MdpM8N0YbSb4bow2E3w3RpsJvhujzQTfjdFmgu/GaDPBd2O0meC7MdpM8N0YbSb4bow2E3z7NpN7377N5NtMcfn2bSbfZorLt28z+TZTXL4/620mHNtsM6lnqEt0eKn+TdD/S4hxqyPGzQYjtrcSI2w1xFPjiCfsmWIN8bygw4tJM/z/AjEudcQYdl6XEiNsi4hnkSOesGehi4hnmQ4vJM3w/zJiXOyIMey8LiZG2BYQzwJHPGHPcBcQz4s6PJ80w/8vEuNCR4xh53UhMcI2j3jmOeIJe/Y8j3iW6/Bc0gz/LyfG+Y4Yw87rfGKEbQ7xzHHEE/bMfA7xrNDh2aQZ/l9BjHMdMYad17nECNss4pnliCfsWf8s4lmpwzNJM/y/khhnO2IMO6+ziRG2GcQzwxFP2BiFGcTzkg5PJ83w/0vEONMRY9h5nUmMsE0jnmmOeMLGVkwjnlU6PJU0w/+riHG6I8aw8zqdGGGbQjxTHPGEjQmZQjyrdXgyaYb/VxPjVEeMYed1KjHCNol4JjnimWDwTDB8K57eOjyRNMP/vYlxsiPGsPM6mRhhm0A8ExzxhI3BmUA8/XR4PGmG//sR40RHjGHndSIxwjaOeMY54gkbOzSOeAbo8FjSDP8PIMbxjhjDzut4YoRtDPGMccQTNuZpDPEM1OFRpBn+H0iMYx0xhp3XscQI2wjiGeGIJ2ys1gjiGazDw0gz/D+YGEc5Ygw7r6OIEbYhxDPEEU/YGLMhxDNUhweRZvh/KDEOc8QYdl6HESNszxHPc454wsbGPUc8w3W4P2mG/4cT4yBHjGHndRAxwtaXePo64gkb09eXeEbqcB/SDP+PJMb+jhjDzmt/YoStF/H0csQTNhaxF/GM1uFa0gz/jybGPo4Yw85rH2KEbQ3x1EbPU5kIDtVMLUXGdorCtcTj4BxmeGrz4OE85eJ8cd7IhacP8bgoFxLkIxceLqcclO1VXN7kwsN1jYsyyVE6M+8MDjLSZKvDEGcLpbOx6ivPHF+7AGUoWLntskYII2z93fJU51unDCIeF+1PR+lM2trZayy6Iw7nVVf3Jua1g20eK+GZ3TOz76P4PmelaVC+h+WgxTALj6t7zTAt+F4TbTqwJiherRBG2LieQdtvPdnQ/uLvkrpqC+fT1uO2sIPyrirftjCX6w7uXZyW6+Y11stIE19jXN40Vv71zPGVE7gmwcplWR8hjDGVrZUJg0ct2cqEYcTjoL840/YclgfPKOJx0cfuKJ1J27OEYUaa+FkCXzuunr+MMniwzeOTPbM85iECmLnM4udMiDdICCNsIxzzJAwetWQrx2yM64nRxfNMfnaaC6PtGec2t4xJxdjK8K/ml2pxXr3f9dH7zXzvewP5SxEH/BVTnP9K1sct1Wyl9D8/31ln2FQa1kafhsw1AV84Nrbhr5TSs4541jniWW/wmL65fbZBqGZlZFtPOsLGz4zNe3tX91LZnp3VEiPSwH2aaxzxrDV4TN9cZ6wTqhn3DfM1A9sYsmEfbpPi3YPy6LgzbUe831Csjw3f/G4wbE30Nph5X8S5XJdZqvy69rz6tNuuRRyHr0UJ54f7eAoxX/G1WB4dT5LbFLbn0UUR+xpjpJXzlO3a4feDImSpKDLSyNcNGPgaSNE18LPzDj8nqSCeupDLx0K8/hy1ybLWKUe69vE/X/sbHDGGndcNxAgbX/sIl0fHk2k/tzZ8qfx9p6X9HKHfKrP9XE4ctvbzZmo/33ve4ecoQraMJm2Mc6L8PtAImrTJosl9pMkjBX5Pwe3jUWTDPtyOMutplb6lho3bVqkg2vTBF46N7RpiRPm3lHgQLo+Op9rRu6rV/J4ulmz3/vzurIv3Ul2ls2X6GCcF9XnKfIe52HIeXdWl0A3HxjbXpbb6Hv/zte2qTVJrMGKb2ySw2ercGuKWWufye84oi7j/AWUR180O+kMyz164PaOWbNcg9884KPuquB7JhYfnIHBVJjhIZ5Lr96MY23HYwvU7mNcZWpVRHG4vu7ouwuZHgD/PHA+z4sG1zvcliLdWCCNsi4nHRR+WSntbfSwcX7VzlzVCGxwctjb4mdQGX2lpg+O8cdlp689JBdGey7A2OPyFtcHBxvcOkvoTSi1piUPHoiw6Fvr9SNQ8Zr9hnL7D2nlLSQuE+Vk58jZfr9CP872rOXfCyl5ui8LGbVHkLx53aT5nkvIsjO9joL0tT0TZx8vtdds9XHkQbZ11tZFWVS+8d97h5yFCv1V8HlBnXW2ch2KK8/2r6uN+9CnqNyqk56q25xz53N+7LrtxbLPsPtL9ve9TT1Zx+cblIM4zzjs/RyrksSAOeJKO2nRVnMcxbse8NvmZ37/p83N8cPhiu142WDQz6z9H9y6Z8VrX6GOtpzT+phHumUwOvmeaSvXP/x0h/5v3I405HoXzP59fhLn+qTVsjVlmc13DdRLC/GzFbBtzm7c8Ym4ei1JOvheTHf3xzXWcxUbaiilOs/Prfm3XapPg8PuilE4f9o+yr08d18G8iZlrDXMiovxCuuaTJoiTyKJJSeBk/skqR2nP5Jm5lEZ13PWWtCPO8efX63SiDqtrE3Nycpl1juV/LNn6uHkuTwfzF2b6jGcRZ4r8sO+ZxBqR70PmTsT4GPiBvZjC5efXx0U86AGtwa7Kmjk6zOzmfguN/coozhxL+lNBtOmfbfDMNpjVOTmZ8hnykWJyNR/unBCNuI2OODyvMMp07gM3x2K5vE8K+z4H9wugnue5j233P67eEQirS/keDbY45j4OmxOd5z5GG4P7rvA/tz8kzH3MbSmwLSHutYbNpbZh7b0FxGgbg+nq/iusH8HW1nyBNFto2FzObbTQYMR2H2I0z39j5r1SCi8jzWoNW2OWKaWkXxzlcB+Dx/TN9wYvkmajDJvLZxph72rxMw3ox/cqruYoDJvXkceqIbycNFtv2BqzD6yU9ItjLG7YMw1+JwbhFaTZUsPm6D4l67OzecQI/eJ4fmWOWzB98z36StJsrmFTjK7myZ9rMGJ7DjFCv7nE42pO/LDvCMwlHoRfIs1mGzbF6Gqe/LD7iFnECP1mE4+rOfHDviPA92cIryLNZho2xehqnnzzXhDbM4gR+s0kHlf3grMMHtN3KYVXk2bTDZtinOaIcbrBiO1pxAj9phPPdEc8Yd8RmE48CPcmzaYaNsU4xRHjVIMR21OIEfpNJR5Xc+KHfUdgKvEg3I80m2zYFOMkR4yTDUZsTyJG6DeZeFzNiR/2HYHJxIPwANJsomFTjBMcMU40GLE9gRih30TimeiIJ+w7AhOJB+GBpNl4w6YYXc2TP95gxPY4YoR+44lnvCOeCQaP6buUwoNJs7GGzdV8NEXkC8fG9ghihH5jicfVnPhh3xEYSzwIDyXNhhk2xehqvj9znipzfr1S0o/nOHI1B1TYnPjDiAfh4aSZbT51V3ODh81J2p8Y45yDPmxO/OeIB+GRpFlfw6YYXc1f3tdgNOdOLyX94piDvr/BY/oupfBo0myTYVOMrr7NuclgxPZmYoR+m4hnkyOesPnd4/Ad1jaMw3dYGysO32FtlTh8h9X5cfgOqzvj8B1WB8XhO6wsj8N3WJnoyxZftkTt25ctvmyJy3djli1hz7bj8B32jDgO32HPWuPwHfbMMg7fYc/+4vAd9gwtDt9hz6Li8B32TCcO32HPRuLwPcPwPSNG377N5NtMcfn2bSaZbaYt0fuu5D42LNnGofO85C764RylMzO+fauRpk1GmsoozkZK51YH6Swivzg2trfSeciHeZEAZj5/5dH5zrznsi36NFWqeblakK7bDH05XdsdaRo29hr+1DnGOGV+9wv/8xjmHY4Y4QvHxvYOYoRtTQyahY3xZ80wTnmtRbMXhGm2IAbN+hia9bFohnHKCy2aLROmWZ8YNBtjaDbGohnGKddaNHtRmGZjYtCsxtCsxqIZximPsmi2XJhmNTFotsHQbINFM4xTXm/RbIUwzTbEoNk8Q7N5Fs0wTnmpRbOVwjSbF4NmcwzN5lg0wzjluRbNXhKm2ZwYNJtlaDbLotkqHZ5t0WyVMM1mxaDZDEOzGRbNVuvwTItmq4VpNiMGzaYZmk2zaIZxytMtmvUWptm0GDSbYmg2xaJZPx2eatGsnzDNpsSg2SRDs0kWzTBOebJFswHCNJsUg2YTDM0mWDTDOOWJFs0GCtNsQgyajTM0G2fRDOOUx1s0GyxMs3ExaDbC0GyERTOMUx5r0WyoMM1GxKDZEEOzIRbNME55mEWz4cI0GxKDZv0NzfpbNMM45ecsmo0Upln/GDTrZWjWy6IZxin3tWg2WphmvciGpUkMOgYGY2DREcttwng2CuNZLoynvTCe8cJ44mhD5MNzhTCehcJ44njGkA/POcJ4ThbG000YTwthPPcK42kljKeLMJ4vCuOZKYwnjn7ZfHguFsYzVBjPmcJ4nhHGc7wwnkeE8TwvjOcOYTzFwnhWCOPpKIxnmDCeOPoe8+EZJYwnjrFA+fCcJ4znVGE83YXxJIXxJITx3C+M52ZhPNcJ47lBGM9UYTxxjOfIh+dSYTzDhfGcJYyntzCeE4XxPCaMp7kwnruE8awUxtNaGE8nYTx9hfH0EsazRBjPUmE8cbzTkA/PBcJ4ThPG01MYz7XCeEqF8TwojOd6YTy3CuOpFMZzlTCedsJ4JgrjmSCM53JhPCOF8awVxhPHPAP58JQL4+knjGeVMJ5qYTxPCOP5nDCeEmE89wjjeUkYTxthPDcJ43lBGM9sYTxxvNufD89FwnjOEMbztDCea4TxtBTG87AwnqbCeG4XxtNBGM9YYTxxvJ+dD89oYTy1wnjimL8tH55zhfEMEMazWhjPKcJ4nhTGc6wwnvuE8XQVxrNMGM+VwnimC+OJY06wfHguEcbzBWE8zwrjWSeM5wRhPI8K42kmjOdOYTw3CuN5ThhPHPM65cOzXhhPHPMs58NzvjCegcJ4Pi+Mp4cwnrbCeI4TxvOAMJ5bhPG8KIwnJYxnsjCeOObuzYfnMmE8g4TxxPFtn3x4zhbGUyGM5yRhPI8L47laGM8xwnjuFsZTJYynszCeOL5Xlw/PXGE8cXwvJh+eC4XxDBbGc7ownqeE8ZQJ43lIGE+RAJ5EcPg3dXle+K1ka2Lsq9oDVa3r/39Z25vQPjt1uKnl2C+TDXPA77Tsyzq9TGlJ6XDy6JaMTuwrRdvwV0ocO4XwPCSMp0wYz1PCeE4XxjNYGM+FwnjmCOOZK4xnqzCezsJ4qoTx3C2M5xhhPFcL43lcGM9JwngqhPGcLYxnjTCeQcJ4LhPGM0kYz2RhPClhPC8K47lFGM8DwniOE8bTVhhPD2E8nxfGM1AYz/nCeDYI41kvjKe/MJ7nhPHcKIznTmE8zYTxPCqM5wRhPOuE8TwrjOcLwnguEcYzTRjPdGE8VwrjWSaMp6swnvuE8RwrjOdJYTynCONZLYxngDCec4XxjBHGUyuMZ7QwnhHCeMYK4+kgjOd2YTxNhfE8LIynpTCea4TxPC2M5wxhPBcJ45kljGe2MJ4XhPHcJIynjTCel4Tx3COMp0QYz+eE8TwhjKdaGM8qYTz9hPGUC+NZIIxnrTCekcJ4LhfGM0EYz0RhPO2E8VwljKdSGM+twniuF8bzoDCeUmE81wrj6SmM5zRhPBcI45knjGepMJ4lwnh6CePpK4ynkzCe1sJ4VgrjuUsYT3NhPI8J4zlRGE9vYTxnCeMZLoznUmE8U4TxTBXGc4MwnuuE8dwsjOd+YTwJYTxJYTzdhfGcKoznPGE8NcJ4RgnjGSKMZ5gwno7CeFYI4ykWxnOHMJ7nhfE8IozneGE8zwjjOVMYz1BhPBcL45khjGemMJ4vCuPpIoynlTCee4XxtBDG000Yz8nCeM4RxtNHGM9CYTxXCOMZJ4xnvDCe9sJ4lgvj2SiM5zZhPE3i4Umq4+6K/rhVKm279bGa6eOCH/6KKc5MPcHH8cHhCx8LnNstmmHO492kmYO0Vajj7nGk2V5DM/DvIc0QZ8ERNNsbotku0gxa7SXNHKStUh13nyPN9huagX8faYY4S4+g2f4QzfaQZtAKcZtQPPxXru34dgL+/0TbEW8HxS8J3Hxrgr/hwGkNjLQGBmsZ7cffB9rviHF7Hoz7iRH78XXvIK9lGPfnwbiPGLEfznsp/Y+5ulS+OGjsW67tB/Q2/kc+QrwDFL+E4pVHl/5WReQHx95ncKk4r+hwcyMO9i2mOLuOcD0iXjPjWHstx9p/SX3cvTqszhnG9nJ9dNDy/1bL/3wNIB7nuXVk22+k09W1onTB/NE4Nrb3x+B7geF7QYy++xi++8Toe4zhe0yMvmsM3zUx+t5g+N4Qo+95hu95MfqeY/ieE6PvWYbvWTH6nmH4nhGj72mG72kx+p5i+J4So+9Jhu9JMfqeYPieEKPvcYbvcTH6HmH4HhGj7yGG7yEx+u5v+O4fo+9ehu9eFt87ovddmW/bfQfxuLgnc5TOpErTPiNN+400lVGcjZROF/dMRcGh954p2t5n8f1JEK0We3PQYq+FZ2/MWnD/C/cJROQ76apfR82b1YJ03WPoy+na6EhT3PugPxXbG2PwvcDwvSBG330M331i9D3G8D0mRt81hu+aGH1vMHxviNH3PMP3vBh9zzF8z4nR9yzD96wYfc8wfM+I0fc0w/e0GH1PMXxPidH3JMP3pBh9TzB8T4jR9zjD97gYfY8wfI+I0fcQw/eQGH33N3z3j9F3L8N3L8N3EwqjT/mTwNlzzapEcGj/Pth4SVF4F2m024FGjtKZ5GfwOPYBI01lFOdaSudOB+ksIr84NrZ5rEA+zOsKkHmjAOYy+r8J8bgYR5DLtcU8y4Xx3CaMZ7wwnnHCeNoL47lCGM9CYTx9hPGcI4znZGE83YTxtBDGc68wnlbCeLoI4/miMJ6ZwnhmCOO5WBjPUGE8ZwrjeUYYzyPCeI4XxvO8MJ47hPGsEMZTLIxnmDCeIcJ4OgrjGSWMp0YYz3nCeE4VxtNdGE9SGE9CGM/9wnhuFsZznTCeqcJ4pgjjuUEYz6XCeIYL4zlLGE9vYTwnCuN5TBjPXmE8zYXx3CWMZ6UwntbCePoK4+kljKeTMJ4lwniWCuOZJ4znAmE8pwnj6SmM51phPKXCeB4UxnO9MJ5bhfFUCuO5ShjPRGE8E4TxtBPGc7kwnpHCeNYK41kgjKdcGE8/YTyrhPFUC+N5QhjP54TxlAjjuUcYz0vCeNoI47lJGM8LwnhmC+OZJYznImE8ZwjjeVoYzzXCeFoK43lYGE9TYTy3C+MZK4xnhDCeDsJ4RgvjqRXGM0YYz7nCeAYI41ktjOcUYTxPCuM5VhjPfcJ4ugrjWSaM50phPNOF8UwTxqOnPBfD8wVhPM8K41knjOcEYTyPCuNpJoznTmE8zwnj6S+M50ZhPOuF8WwQxnO+MJ6Bwng+L4ynhzCetsJ4jhPG84AwnluE8bwojGeyMJ5JwnhSwnguE8YzSBjPGmE8ZwvjqRDGc5IwnseF8VwtjGejMJ5jhPHcLYynShhPZ2E8c4XxzBHGc6EwnsHCeE4XxvOUMJ4yYTwPCeMpEsCTCA7/pkCC/t9LNszJfoBs+N77brI1sfjAWLCdZMN8cDiGqs+vb334sVknV/PQs68UbcNfKXG8LITnIWE8ZcJ4nhLGc7ownsHCeC4UxjNHGM9cYTydhfFUCeO5WxjPMcJ4NgrjuVoYz+PCeE4SxlMhjOdsYTxrhPEMEsZzmTCelDCeScJ4JgvjeVEYzy3CeB4QxnOcMJ62wnh6COP5vDCegcJ4zhfGs0EYz3phPDcK4+kvjOc5YTx3CuNpJoznUWE8JwjjWSeM51lhPF8QxnOJMJ5pwnimC+O5UhjPMmE8XYXx3CeM51hhPE8K4zlFGM9qYTwDhPGcK4xnjDCeWmE8o4XxdBDGM0IYz1hhPLcL42kqjOdhYTwthfFcI4znaWE8ZwjjuUgYzyxhPLOF8bwgjOcmYTxthPG8JIznHmE8JcJ4PieM5wlhPNXCeFYJ4+knjKdcGM8CYTxrhfGMFMZzuTCedsJ4JgjjmSiM5yphPJXCeG4VxnO9MJ4HhfGUCuO5VhhPT2E8pwnjuUAYzzxhPEuF8SwRxtNJGE8vYTx9hfG0FsazUhjPXcJ4mgvj2SuM5zFhPCcK4+ktjOcsYTzDhfFcKoznBmE8U4TxTBXGc50wnpuF8dwvjCchjCcpjKe7MJ5ThfGcJ4ynRhjPKGE8HYXxDBHGM0wYT7EwnhXCeO4QxvO8MJ7jhfE8IoznGWE8ZwrjGSqM52JhPDOE8cwUxvNFYTxdhPG0EsZzrzCeFsJ4ugnjOVkYzznCePoI41kojOcKYTzthfGME8YzXhjPbcJ4lgvjaWLh2eiIZ43Bg234U3OHY/wG5olM0P9LiHGdI0b4wrGxvY4YYeNvTS1xxLPA0GyBoYXiwTtGa0kz/P8CMa5xxAhfOPYSQx8+rwuI5wVHPH0MzfoYWigezNOxkDTD//zN9gWOGOELx37B0IfPax/iWeaIZ4yh2RhDC8WDuS5rSTP8z9817OOIEb5w7GWGPnxexxDPGEc8NYZmNYZvxYPyfhRphv+XE2OtI0b4wrGxXUuMsNUQz3JHPBsMzTYYWige9OGuJ83w/wpirHHECF849nJDHz6v/H3jFY545hmazTO0UDwYJ7aUNMP/K4lxgyNG+MKxVxj68HmdRzwrHfHMMTSbY2ihePCu51zSDP+/RIzzHDHCF4690tCHz+sc4pnjiGeWodksw7fiWaXDs0kz/L+KGOc6YoQvHBvbc4kRtlnEM8sRzwxDsxmGb8WzWodnkmb4fzUxznbECF84NrZnEyNsM4hntSOeaYZm0wwtFA/G5U0nzfB/b2Kc4YgRvnDs1YY+fF6nEU9vRzxTDM2mGFooHrzLOpU0w//9iNHVeYUvHBvbtvM6hXj6OeKZZGg2ydBC8QzQ4cmkGf4fQIyuzit84djYtp1X/jb2AEc8EwzNJhhaKB7MgT2RNMP/A4nR1XmFLxwb27bzOoF4BjriGWdoNs7QQvHgO1vjSTP8z9+0dHVe4QvHxrbtvI4jnsGOeEYYmo0wtFA8eLY7ljTD/0OJ0dV5hS8cG9u28zqCeIY64hliaDbE0ELxYLz2MNIM/w8nRlfnFb5wbGzbzusQ4hnuiKe/oVl/QwvFg3f4nyPN8P9IYnR1XuELx8a27bz2J56Rjnh6GZr1MrRQPJi3sC9phv9HE6Or8wpfODa2becV/KXEdgPZbqDjwIZwO7Ih3J5sCHcgG8IdyYbwjWRDuBPZEO5MNoRvIhvCXciGcFeyIXwz2RC+hWwI30o2hG8jG8K3kw3hO8iG8J1kQ/gusiF8N9kQvodsCN9LNoTvIxvC95MN4QfIhvCDZEP4IbIh/DDZEH6EbAg/SjaEHyMbwo+TDeEnyIZwN7Ih/CTZEO5ONoR7kA3hnmRD+CmyIfw02RB+hmwIP0s2hDHGsITCqcDNPSSOPS1G31MM31Ni9D3J8D0pRt8TDN8TYvQ9zvA9LkbfIwzfI2L0PcTwPSRG3/0N3/1j9N3L8N0rRt++bPlslS2f1eu7MctUX7b4siUu377d4tstcfnOp2z5JDrfSe4PKonwuNwXhr4T7lO8gWzcpwgb+krbkQ19zu3Jhr77DmTDM5CnybZah58hG57JTScbnrVOIxuecfLzMTwDnUK2VTrMz4Tm6PAksuGZ80SyYdzABLLhGf54suEZ/ziyYewG93djzMQIsmFMBffxYqzMELJhjAr3a2IMS3+yYWzSk2TDmKCnyFarw33JhnFfvciGMVjPkw1jtDqSDWPvbiQbxrx1IhvGxHUmG8Y63kQ2jDHsQjaMQexKNowtvZlsG3X4FrJhzOetZNurw7eRDeNpbyfbLh2+g2zbdPhOsm3V4bvItkWH7ybbZh2+h2ybdPhesi3W4fvItkiH7yfbfB1+gGwHdfhBsr2iww+R7VUdfphsr+nwI2R7XYcfJdsbOvwY2d7U4cfJ9pYOP0G2t3W4G9ne0eFnyfauDo8k23s63J1s7+twD7J9YIn3oSXeRzrck2xNdHg42fA9lKFkwzvTg8mG73oOJBvmthpAtmN0uB/ZSnS4N9nwXtJqsuFbZzPIltBhHpuCb2TPIlupDvO4nzIdXkU2fN9kDtmO12EeZ3WCDr9ENswNtZJsJ+nwPLJhznce63ayDq8gG75dtoFsmJ+CxxbiG9PLyYZ5KGvIdroO81hOfB9kDNnwjmwt2fCdyxfJhrmelpHtbB3uQ7ZyHeaxyufo8AtkO1eHF5AN81/w2HB8M3oJ2TDP5RqyXajDPBYf3x/ZSLaLdXgd2fAdzb1kw9xNO8l2mQ7vIhvmsN5Gtit0eCvZrtThLWTD/MWbyZbU4U1kq9DhxWTDXMOLyFalw/PJhjn1D5KtlQ6/QjbMJfgq2fC9i9fIhm/Av062q3X4DbLhWz1vkg3zyb5FNrzT+jbZMO/RO2TD3MHvkg3tuffIltLh98mG9twHZEN77kOyoT2H8lKVS6oswTWJa0m1nXFNqrKwPKhPL+IWU5yZV9XH/YYO83H5+llr2Fy+CwFfODa24a+U0rCWbAjztVZr2BT3UkfctQY3tpcSI9JQSzaER5EN+/AYfFxn5RFz8xh8dWzkmcVkx/XcXMfBf4hbTHFe1HkJdRYvpRSP89cCw6bSi/IiFUSb3gXEk6Lt+cSIegL/NaHwNbSvo7HNVYoTdX0zgxP+iinOuiya87HAuchIXymlf64lzTVGmhfFnOZFljRvzZJmR+Onqxyl/ZB3FIr1cddb0o44O6ns3q3DfG+6gXR8x/I/liJjO0XhuaSlg3HVSR5XjfM92+J7JrFG5PuwsfpF5Af2Ygq/fVV9XMSDHtAa7OpaQtud2c39aoz9yijOHEv6U0G06Z9t8Mw2mNU52Uf5DPlIMS10xDQnRCN+pw9x5pMN9Qbfa0iqU8rItpBsaJfwvQX+5zaLq/e0FhrcCw0dy8jG76KirVJLNrRV0HbhdqVKA8qz8ojTsCGoX9SxUT/DH7cpmwfh7WLE+W6WeiVh2Vel8zf6JlFd+7iH4/bNGsPm8n3FNcSbCuxtTlubGmFuPy81bC7z4lKDG9s1xGhrUyPM7WfzPVLVlkGb9Wry4agsq+IyAXUb/MNfMcX59RHab2b5gry3mNJstukclXdV3FYx0zaf0oY4vzlCO81F+9llWT+X0qiOu9aSdsT5LdWfv6d2GM7ROtKxefLw/7Fka6fxu6Bxt9PYt4R2WrNkfVyzvQWt822nLTD2k9hO+xPlM+SjONtp0GgxaYQ4i8iG+o/7V83+AO7rSEXMvcjgXmThhs3WTuO+XVs7zdVcF2HtNG4Xw8ZtMtSJS8lmm6sA/5dHzM33m+rYVxs83G/W3IiDfYspzuk6b4e1zcx91fXwHrXNUG9ye3udYXPZt7mOeFO0bevbXEc2hAupb7MJhdvSvo7akNWKE9dxM4OT8xLiXJYlL/GxwLnOSB+3PRHXUdlVxdeSmbbFlDbEqciSNkf6V8VRbpt9Y5x2xGmdrNepLbWpkD/5vq2z5X8s2dpcXHY6KPMzba75xJkKDu+L5bZz1G2u+XRcbu9zGxfhTtTmQjzoAa25nxn1FLOb+60x9iujOAst6U8F8fTn8H3PtZTPOlOby9W8agtDNOL6HnG4vjfv9bnu4DpvvSPusLpjPTHCto54wFseMQ/XwerYbQ19bG2StgYft0nuOUKbxNxX5ZdlljYJ9xeZfUhKD5yrVBBPm4SfrebaJjH7kCT3c3F/EfYZQ7allvQttqTP1fMgs/2B7UXEiLoA/3E/Vxva19G9YHW+/Vx9jtDmMstds31l6+diHY70TNnV/XBYfbGQGJca3C77Hs22g+2cIM6wI5yT+UbazDxXGhz+vCMIDu3PtfVNuroHCEt7jSXtY4/QTnbQh1gdx/Mcs2+S0444k6j9MsXS98j11eIG9k3OJy0dPI9Pcl8Uzvdci+/ZxBqR78PmyOO+OtiLKbyI2slmnx60Bru6ptDWZHZzvwXGfmWBvW/W1bxo5riSuQazOifTKZ8tpnay63EUpkbcx4c43E5GPcFjXfF/HO2wsOdfa4kRNm47oy3Cfar4n9spruatXG9wrzd0LAsOH8vCfZP8XNmcW9XlfUAtcatjtzF4bOPe2hh83O+w8Qj3Aea+6np4wHIfkG08J8bD8pyp6yh+SoeTR7ccNs8s3yesp7Qjzst0jf8qeXia/L1Nftwu723UPQLKkdbkg9slUb9XF9czdqTLdu/xzhHaeg768apc3nNwX5w67npL2hHnQ7o+P6a2HOpE7hP9nuV/LNnaety2j7utx74ltPW+m6WtB63zbestNvaT2Nb7MuWz7zVCWw8acbsOcXhMG+oefnfF1tZz1Sca1tbjdh1s3GZC3cPvCeF/rpckPD/ndmsubT1uO8Q5XhB1II8XhL7NA3u7q5ji/McR2n3mviqdd553eDpTQWTprCwy/KnjtjLSye23/6XrtktlPZuDdlkl359gyVav8DMKF89WHKUzaWvHme8tlVGcyyidjfVuVb7MlwtgdpVPWQvzGoK/YopTXFH3G9aPGqYrjsn3S7Y2Pd9D1Rq2xh77AT34vt3VvVFYfoA/rt/XCNWMn3nyvShsfN9ZY9hc1u81Bretr98cl92YY8K5TVQrVLMysvE1Y45R53Zy1Pcu/C4nt+NqLDyjiAf3kuXR8VSZ43nKyfdC4oStSXDoeCzeF3FqdNmryumLKurTtN6isfnNqag0XmdoDD/rg8N5WGMH7/UeMl4MGptjplzmt/WGFmZ+s51fW/8i4nSn81uZ5fzy++2taJ8nK+rT7KC9nXQ57g/aoQ2SbezbNVnaII7uw52O+wt7nslpR5wb6Hy302Hub+a23B2W/7FkuxdZRFo6eDac5D4NnO/5Ft9ziTUi34f0p+C6hR9+Nxnh2yvq45p9Q9Ca36k3n1Xa9ltn7FcW2Pv4XH0byxzrYL4Tr85JR8pnd1C54qoNtCBEI+4rQhx+5oZ2LvcVSZrHg8cmNqQ952qcZVh7jr9fa7bnXL1DYXuHg++tIrz+k2F9ck9Sfl9iqXv5WRM04nF0ZrtS1ffmmJxU4HY8VD5j1HofoQ4t9OdEay1pR5wBdK4HUh2J88R16ATL/1j8c6LcnhONpzrUfN4DrfN9TlRj7CfxOdEQymcTqA6N6zmR7R4dcXhsBa6V8oh5+LmqOrbZx8r9hc0D+/0b9z3OyFJmhc2PgePF0RYIGyPEbQHbGCFbW8D2vMtV2yvseRe3V2Djvj3UdZy/UCfyuMoldB0k6bmLq+eOYW0ybkva+k5tecVV+yssr3D7y7xeGntcni2fmvPRSWlrO26zJnn+RJ4LZiOV8+ui91tlGy8HDn5vB3F+XFkfd6ulfyhCtiTPH8mMOxpBk+uyaDKTNNltaetLnhPSNrYPYb5HwT58j1Loz13Ko+OpdvWuUL7jyfg9TxftQlfpbBnUzblca6SD223meXT1HDKs/WIb987zOdvGQtU6YgyrX2uJETZuAwwydOW+XL5mXbWlwsYWc1sKNtu4d24/oCxyPaYh3/fcuX3l4vkG1yO58NieXUXIU+EonUmu36McW21rL5vPSLi9zO9Xu7ouwt5b5WeCntk9M4/T4vluEG+NEEbzub6jZ+JJnq+d54n570Zog4PD1ga/g9rgvy3wNngc7/ag/zZb+7+Q5k2K470iaJZtPvoxbvVJuhqPwOMGzPeCeOwQ4rTQ11vY8x4Xz6Rc9nUvoDSq466zpP3v8+pQWXO8DvO9L5dbZ1v+x5LrfZyD+XqS/MwB59s2VxA/l4nI9yHPO/C8B354nlCEz6qsj4t40ANag53n5Gf2sDmysZ9tjmxOfypw+2xlnsGszslJlM/Opn5uV/0pYXNW8H0v4tjGTPBzEvMdVpd93xsMbmzzfa8592/YPOK2uWpcPScJa+fxcxJbu9PFu935vG+EZy6F+q5yHM9hUF7ansPY5kyQpBn3wdjG4Q6ycA8SwM35MY5zze/6pwJ7uTPI0FGaZnyu+d23LjE8VzXLbfNdO+ZvbsSxvVN4W5Y2acKyr0pnC/1OIedvfoZre2/K1X3Gkd7ROdLzmkL6BkETCl9P+zpq31TbxoSb86TxmPDHs+Ql2zMC8zkxj+HjPhpX926LQ9LG9y+I0/MI924u+qxd3ruZ491t926I04va1H3o3gz5k+/dRln+x5Jrf3vc493Zt4Tx7iPp3s0c4wat8x3vXmvsJ3G8e3/KZ6PcvhtuHe9ulrc83p3vL8y+LNu4VZd9fWHP8JkbNu4fBW95xDxcB6tjX2/ow8zNjTj8fjPiTD9Cm8Tcl/vWPw1jSAqpDznX74py3c7ps42xdDU+PWyMAs+daj4jakLh62hfR+PzrfOKmnOa8jj6VUdoc4X1T/Hcvkj/fIsOfA3NN2yONMhaX9jm4p3vlsf6HSrbOUGcLUc4J2FzCfE5QZo4Lpf7Cy1pd3UPEJb2xZa07zpCO9lBv3y1y/5d8xnHGkvaEWc/tV8OUjsY54jrq48s/2PJ1k7m9yoc9LMn+T0PnO85Ft+ziDUi34d8gwrtZPiBvZjCH1I7GfGgB7QGu7qm0NZkdnM/8zlIGcWZa0l/Kog2/eYzlzkGszonr1E++4jaya7qzbkhGvFYM8SxzX3G/Xi2b3BJeKfC1v84n7iljvfjb4fl8q1Ul/cB3Keljn2dwcP9Ds2NONiX+x1+dIT7AHNfHudue2+UtTXH7a8nffjdqJQOJ49usc5VAT+2sTm/oGv8zKrD0+TvbfLjrjW4o7y3UfcIKFO+SD64XRL1PLeu2rnmvYf5XWy+9/jdEdp6Lr4J6/Keg/vi1HHXWdKOOH+m6/Ov1JZDfcJ9osdVHf4/lmxtPcdjKrK29di3hLZeoqo+rtlmg9b5tvUWGftJbOsFVfVh5KM423q2NhPi8LgQ1D2Iz32icYxnyWcuDdv3Vnk8i+17q66fw+DYCw0dy8jGY0xyaetx28HRmOPD3qNVxzbfheR2Q/PA3u4qpjjnaOawdp+5L7/zqa79Hdq+ifbZZtiUHlt1OBVEq8c24k3RNvwpxu06vI1sCHOf/eboGTPlPlhQ11Xr7c1kR5wrspwPxRj99z6qk+ZY9hTpw+MYEKfiCIzR36tVJ92k/dDx0zg/2y1pR5zWVEe0pbYGzt8O0rGz5X8s2doifH/kYow2l+Hm83j23ZdYI/J9SP2Btgj88NyGCHeitgjiQQ9ozfcVKKOZ3dxvq7FfGcWptaQ/Fbi7d0/RNvypc3It5bPOVK9sdMRUG6LRNtIIcbaQDWU84oeV/9sdcYeV/9uJETZoF1b+73DEuD2EEf64/G0ekg4uf+/NUv7ynBDbKW0uymTW3yw7ua2BOA9Rnl6qK0FuQ7ysfzkPvUxpcFA/Z81D8HekNsQ6C2N5ZIyV3V2dP/VOe4ug/tpdb6Qb9Z/qc9lopD8VuOr7qstXKGtQP8E/19WI88wR2iO1Dhhd9vtx/6w67nZL2v9eZ9A11Z/aG2YZo/4fa/kfS7b2iOM6MXO+exFnKrDXx7uINSLfFewb7RH4gb2YwmOoPYJ40ANag52fmzO7ud82Y78yilNjSX8qiDb9Zvuor8GcmTeQ8tlYao+4uq+rCdFoI2mEOPyuD+oLxFd5HdcP1yVx1fXY3kGMsG0lnujbR9XJfO87uL2wLXKeunkYHLQDk3w+o56HYaOh1VZDqzKKs4P0c9VOD8tf8OeZPbNn9sye2TN7Zs/smT2zZ/bMntkze2bP7Jk9s2f2zJ7ZM3tmz5zyzJ7ZM3tmz+yZA8+cPLrFM3tmz+yZPbNn9sye2TN7Zs/smQuSWfHY3u9DvE1CGGHjd7Ng43ez8J5AhGPEK5glIL/8TsI6g9mRXknla63hi9+1KyG+CP1mztOOoH5Rx6029Cii89PciIN9+V3BFfrPsHkJzH1VOn91cn06Xby/kAgOTSfSFRhpxwIGxePgPZlq1rQoOLRMqSI73teF7viP5yVAnA1ZdFfpcPUO5hYjHeY7mMq+yUgH/uN3UP9eXmVJh7pOcB7hl99D3UXp3RR9equ5LsD7buDYRGlBnF1Z0mKrV3Za0ma+P9WE/sd/nxhxuezNtp8Z3mHso/TeZcSz+SkJHLzHU5FMmvzmu5Fch2Srr3HdcJ40y7Qq4zhcpr19hDLN3FfljdYn1YWVXjivu2gfW56Nq4zHNvwpRrxjx+2X6Mu+yiS3Q7BkK4v5XTtX77Y5KOMz77ZtIfZojtujp9Jqs6HVdkOrMorDDK7qgK0GD7Y3W3xHp0X3Sq5bsmmxycLjoH7IqsUmi+/otKhoZSv3bFpstPC4ugcI08LWno5QizbK94YctNhg4XE1V1GYFhssvqPTom1r5Xt9Dlqst/C4mrs3TIv1Ft8RapGZu3NdDlqss/C4mpMvTAvbd+ai06Lnk8r32hy0WGvhcfWtmTAtbN+vjk6L1hkt1uSgxRoLj6u5RMK0sH2vMzotqrop37U5aFFr4amNWYtai+/otGiTaWstzUGLpRYeV3M0h2mx1OI7Oi1aZeqRmhy0qLHwuJq7PkyLGovvCNsXGS365qBFXwuPq7npwrToa/EdnRaVmTZ4rxy06GXh6RWzFr0sviOsRzJa7M5Bi90Wnt0xa7Hb4jvCe7PMNbInBy32WHj2xKzFHovvCLV4Svnem4MWey08e2PWYq/Fd4TlRaYNvi8HLfZZePbFrMU+i+8I69Tuyvf+HLTYb+HZH7MW+y2+I7wfyczZdCAHLQ5YeA7ErMUBi+8I2xeZeuRgDloctPAcjFmLgxbfEZadVyvfr+SgxSsWnldi1uIVi+/otOiWuU99NQctXrXwvBqzFq9afEd4jWTKztdy0OI1C89rMWsBf/kybxHAXGKEI/KdeZb6eg5avG7heT1mLV63+I7wmU6m7/6NHLR4w8LzRsxavGHxHWGfSw/l+80ctHjTwvNmzFq8afEdYd3XVvl+Kwct3rLwvBWzFm9ZfEeYLzL3UG/noMXbFp63Y9bibYvvCPsZMvninRy0eMfC807MWrxj8R3hPVTG97s5aPGuhefdmLV41+I7wjo10+fyXg5avGfheS9mLd4j3y7GmbAWGKtVaWhRTHEGtKr7DRurFaYrjsnj0Dht70eetrq20wchaXuf0oY4Q7OkrYTipSJkdJT2TJ76kNKojvuyJe2IM6pVvU5jdDhB52gn6Tjb8j+WbGOUPiAtP44+zZm8/CXiTJEf9v0PxBqR7wr2XaRX+IG9mMKzWtXHRTzoAa3Brq6Zj3SY2c393jP2K6M4H1nSnwqiTf/HBs/HBrM6J+MpnyEfuSnb6pg+CtGokjRCHB7Tt9MRz8sGDzjgj8chNjfiYN9iirM4S5nF41KR7rAxlQ7KtqxjKj8gRtj4HQwzzZlvLNNY0ZS23xDU29rrcDs6zo2GTaW1k6O0wheOje1OxNhBh2+Mn7EyV8aOBqPiuckBT4L8YslWf9xEPJ2j56lwlM5MvdTFSFMnI01lFOcySmcXB+ksIr84Nra70HnIh/lyAcyu8ilrgXbFVYYWxRRn3xHayGG64pjqGrzRkrZbok9bhY0Hx74lBt9dDd8dDN+qjODzDg0DYz8sXYn5ZgfM6ri3Rn/cTBlxmz4W8hj8dKA03U4aRJUm9o22K/zAXkzhf6C2K+JBD9TBYFd5GeeS2c39bjL2K6M4t1jSnwqiTf+tBs+tBrM6J29Re9XB9ZDJA7cYHNjuQNrdGqLdLaQd4nAd3tGRdjcbPNjuSDxop3UhG9o74E/Q/+1i4DbLvS4Wbti6EmNHC2OH6Bkz9U5HgxHbHYgRtpuJp6sjzcxzfZWhD9fTzY042LeY4vw0S12ZsOyrrsNzdAXg7wMatEi7D6jw9wH2NvWllM5PWZu6wtamvtLQgtvUf2xgmxrH9G1q36ZOBXLb1GWt6+N+ltrUTVvXc/g2db12vk392W1TX2noY2tTX2nwcZv6PH1NhbWpzX3VdVisK4Bjg7ryRS0DunXv3W7g00P69uw3eBBXEM0JDIua0KIJbTeh36YEGRjxUnrbPJYCPcbwl6B98V+LoO7kHEvHS+lw8uiWTMO0JDh0yVZRgqFEc0XNo45/oj5W9259+twx5Mk+z3bvNKRf98HP9u9XRIQlBi3/mkpjuznZ+Qw1pXAxhZtRmPc9xmL7RP+Wh2wzn1KdlQy0LaHDLcgGzmPJ1pTCiF9C9ginx6oqoXSmIjyuYmetWaOA/GFpTno1i54nk/Og56DB/Qd2e7rnXT279eDTBtymBq4tyyGOrcAIQv7/hH4TlGT45QKjGdmaGBJxFjELEWyngmhPJV8q0ISXFIXB4ChrZU7lcfpY+lTeP/DZwT35fIH3aM9lEf0fdk6zHVOdl/8PI/SfgozDCQA=", "debug_symbols": "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KDqvRyQwGIui83pEAoOxKDqvRyQwGIui83pEAoOxKDqvRyQwGPuP6bxmG89IVP7RSBpMJAITicJEYjCROEwkARNJh4kkgbHPS2b6koxy6nlJy18i+Us0f4nlL/H8JZG/pOcvyT/9yD/9nn/6Pf/0e/7p9/zT7/mn3/NPv+effs8//Z5/+j3/9Ef+6Y/80x/5pz/yT3/kn/7IP/2Rf/oj//RH/umP/NOf+ac/809/5p/+zD/9mX/6M//0Z/7pz/zTn/mnP9NPv21b/pKWv0Tyl2j+Estf4vlLIn9Jz18y8pfkn37LP/2Wf/ot//Rb/um3/NNv+aff8k+/5Z9+yz/9ln/6kn/6kn/6kn/6kn/6kn/6kn/6kn/6kn/6kn/6kn/6mn/6mn/6mn/6mn/6mn/6mn/6mn/6mn/6mn/6mn/6ln/6ln/6ln/6ln/6ln/6ln/6ln/6ln/6ln/6ln/6nn/6nn/6nn/6nn/6nn/6nn/6nn/6nn/6ea6v5bm+luf6Wp7ra3mur+W5vpbn+lqe62t5rq/lub6W5/panutrea6v5bm+luf6Wp7ra3mur+W5vpbn+lqe62t5rq/lub6W5/panutrea6v5bm+luf6Wp7ra3mur+W5vpbn+lqe62t5rq/lub6W5/panutrea6v5bm+luf6Wp7ra3mur+W5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57m+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zprr0y3N9T0uaflLJH+J5i+x/CWevyTyl/T8JSN/Sf7pt/zTb/mn3/JPv+Wffss//ZZ/+i3/9Fv+6bf802/5py/5py/5py/5py/5py/5py/5py/5py/5py/5py/5p6/5p6/5p6/5p6/5p6/5p6/5p6/5p6/5p6/5p6/5p2/5p2/5p2/5p2/5p2/5p2/5p2/5p2/5p2/5p2/5p+/5p+/5p+/5p+/5p+/5p+/5p+/5p+/5p+/5p+/5px/5px/5px/5px/5px/5px/5px/5px/5px/5px/5p9/zT7/nn37PP/2ef/o9//R7/un3/NPv+aff80+/55/+yD/9kX/6I//0R/7pj/zTH/mnP/JPf+Sf/sg//ZF/+jP/9Gf+6c/805/5pz/zT3/mn/7MP/2Zf/oz//TzXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf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VBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMKqJmVBE1o4qoGVVEzahugIiuiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYNUTNqiJpRQ9SMGqJm1DZARDdEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYN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" }], "outputs": { "structs": { "functions": [{ "kind": "struct", "path": "KeyRegistry::rotate_nullifier_public_key_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "KeyRegistry::rotate_nullifier_public_key_parameters", "fields": [{ "name": "address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "new_nullifier_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "nonce", "type": { "kind": "field" } }] } }] }, { "kind": "struct", "path": "KeyRegistry::register_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "KeyRegistry::register_parameters", "fields": [{ "name": "address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "partial_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::partial_address::PartialAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "nullifier_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "incoming_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "outgoing_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "tagging_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }] } }] }] }, "globals": { "storage": [{ "kind": "struct", "fields": [{ "name": "nullifier_public_key_hash_registry", "value": { "kind": "struct", "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "1" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }] } }] }] } }, "file_map": { "3": { "source": "use crate::cmp::Eq;\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 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\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", "path": "std/collections/bounded_vec.nr" }, "28": { "source": "use crate::hash::Hasher;\nuse crate::default::Default;\n\nglobal RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n\n pub fn hash<N>(input: [Field; N], message_size: u64) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<N>(input: [Field; N], in_len: u64, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n", "path": "std/hash/poseidon2.nr" }, "33": { "source": "use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<N, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n", "path": "std/option.nr" }, "53": { "source": "use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER}, hash::pedersen_hash\n};\nuse dep::aztec::{\n prelude::Deserialize,\n context::{\n PrivateContext, PublicContext, Context, gas::GasOpts,\n interface::{ContextInterface, PublicContextInterface}\n},\n hash::hash_args_array\n};\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n// docs:start:assert_current_call_valid_authwit\n// Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let function_selector = FunctionSelector::from_signature(\"spend_private_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n let result: Field = context.call_private_function(on_behalf_of, function_selector, [inner_hash]).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit\n\n// docs:start:assert_current_call_valid_authwit_public\n// Assert that `on_behalf_of` have authorized the current call in a public context\npub fn assert_current_call_valid_authwit_public<TPublicContext>(\n context: &mut TPublicContext,\n on_behalf_of: AztecAddress\n) where TPublicContext: ContextInterface + PublicContextInterface {\n let function_selector = FunctionSelector::from_signature(\"spend_public_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n let result: Field = PublicContextInterface::call_public_function(\n context,\n on_behalf_of,\n function_selector,\n [inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n// docs:start:compute_call_authwit_hash\n// Compute the message hash to be used by an authentication witness \npub fn compute_call_authwit_hash<N>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_outer_authwit_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_call_authwit_hash\n\npub fn compute_inner_authwit_hash<N>(args: [Field; N]) -> Field {\n pedersen_hash(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\npub fn compute_outer_authwit_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field\n) -> Field {\n pedersen_hash(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n", "path": "/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr" }, "58": { "source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::protocol_types::{hash::pedersen_hash, traits::ToField};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T> Storage<T> for Map<K, T> {}\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = derive_storage_slot_in_map(self.storage_slot, key);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr" }, "64": { "source": "use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\n\n// This data structure is used by SharedMutable to represent a value that changes from `pre` to `post` at some block \n// called the `block_of_change`. The value can only be made to change by scheduling a change event at some future block\n// of change after some minimum delay measured in blocks has elapsed. This means that at any given block number we know \n// both the current value and the smallest block number at which the value might change - this is called the \n// 'block horizon'.\nstruct ScheduledValueChange<T> {\n pre: T,\n post: T,\n block_of_change: u32,\n}\n\nimpl<T> ScheduledValueChange<T> {\n pub fn new(pre: T, post: T, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the value stored in the data structure at a given block. This function can be called both in public \n /// (where `block_number` is simply the current block number, i.e. the number of the block in which the current \n /// transaction will be included) and in private (where `block_number` is the historical block number that is used \n /// to construct the proof).\n /// Reading in private is only safe if the transaction's `max_block_number` property is set to a value lower or \n /// equal to the block horizon (see `get_block_horizon()`).\n pub fn get_current_at(self, block_number: u32) -> T {\n // The post value becomes the current one at the block of change. This means different things in each realm:\n // - in public, any transaction that is included in the block of change will use the post value\n // - in private, any transaction that includes the block of change as part of the historical state will use the\n // post value (barring any follow-up changes)\n\n if block_number < self.block_of_change {\n self.pre\n } else {\n self.post\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change value and the block at which it will become the current \n /// value. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (T, u32) {\n (self.post, self.block_of_change)\n }\n\n /// Returns the largest block number at which the value returned by `get_current_at` is known to remain the current\n /// value. This value is only meaningful in private when constructing a proof at some `historical_block_number`, \n /// since due to its asynchronous nature private execution cannot know about any later scheduled changes.\n /// The caller of this function must know how quickly the value can change due to a scheduled change in the form of \n /// `minimum_delay`. If the delay itself is immutable, then this is just its duration.\n /// The value returned by `get_current_at` in private when called with a historical block number is only safe to use\n /// if the transaction's `max_block_number` property is set to a value lower or equal to the block horizon computed\n /// using the same historical block number.\n pub fn get_block_horizon(self, historical_block_number: u32, minimum_delay: u32) -> u32 {\n // The block horizon is the very last block in which the current value is known. Any block past the horizon \n // (i.e. with a block number larger than the block horizon) may have a different current value. Reading the\n // current value in private typically requires constraining the maximum valid block number to be equal to the\n // block horizon.\n\n if historical_block_number >= self.block_of_change {\n // Once the block of change has been mined, the current value (post) will not change unless a new value\n // change is scheduled. This did not happen at the historical block number (or else it would not be\n // greater or equal to the block of change), and therefore could only happen after the historical block\n // number. The earliest would be the immediate next block, and so the smallest possible next block of change\n // equals `historical_block_number + 1 + minimum_delay`. Our block horizon is simply the previous block to \n // that one.\n //\n // block of historical \n // change block block horizon\n // =======|=============N===================H===========>\n // ^ ^\n // ---------------------\n // minimum delay\n\n historical_block_number + minimum_delay\n } else {\n // If the block of change has not yet been mined however, then there are two possible scenarios.\n // a) It could be so far into the future that the block horizon is actually determined by the minimum \n // delay, because a new change could be scheduled and take place _before_ the currently scheduled one. \n // This is similar to the scenario where the block of change is in the past: the time horizon is the \n // block prior to the earliest one in which a new block of change might land.\n // \n // historical \n // block block horizon block of change\n // =====N=================================H=================|=========>\n // ^ ^\n // | | \n // -----------------------------------\n // minimum delay\n //\n // b) It could be fewer than `minimum_delay` blocks away from the historical block number, in which case \n // the block of change would become the limiting factor for the time horizon, which would equal the \n // block right before the block of change (since by definition the value changes at the block of \n // change).\n //\n // historical block horizon\n // block block of change if not scheduled\n // =======N=============|===================H=================>\n // ^ ^ ^\n // | actual horizon | \n // -----------------------------------\n // minimum delay\n // \n // Note that the current implementation does not allow the caller to set the block of change to an arbitrary\n // value, and therefore scenario a) is not currently possible. However implementing #5501 would allow for \n // this to happen.\n\n // Because historical_block_number < self.block_of_change, then block_of_change > 0 and we can safely\n // subtract 1.\n min(\n self.block_of_change - 1,\n historical_block_number + minimum_delay\n )\n }\n }\n\n /// Mutates a scheduled value change by scheduling a change at the current block number. This function is only\n /// meaningful when called in public with the current block number.\n pub fn schedule_change(\n &mut self,\n new_value: T,\n current_block_number: u32,\n minimum_delay: u32,\n block_of_change: u32\n ) {\n assert(block_of_change >= current_block_number + minimum_delay);\n\n self.pre = self.get_current_at(current_block_number);\n self.post = new_value;\n self.block_of_change = block_of_change;\n }\n}\n\nimpl<T> Serialize<3> for ScheduledValueChange<T> {\n fn serialize(self) -> [Field; 3] where T: ToField {\n [self.pre.to_field(), self.post.to_field(), self.block_of_change.to_field()]\n }\n}\n\nimpl<T> Deserialize<3> for ScheduledValueChange<T> {\n fn deserialize(input: [Field; 3]) -> Self where T: FromField {\n Self { \n pre: FromField::from_field(input[0]), \n post: FromField::from_field(input[1]), \n block_of_change: FromField::from_field(input[2]),\n }\n }\n}\n\nfn min(lhs: u32, rhs: u32) -> u32 {\n if lhs < rhs { lhs } else { rhs }\n}\n\n#[test]\nfn test_min() {\n assert(min(3, 5) == 3);\n assert(min(5, 3) == 3);\n assert(min(3, 3) == 3);\n}\n\nmod test {\n use crate::state_vars::shared_mutable::scheduled_value_change::ScheduledValueChange;\n\n global TEST_DELAY: u32 = 200;\n\n #[test]\n fn test_get_current_at() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value.get_current_at(0), pre);\n assert_eq(value.get_current_at(block_of_change - 1), pre);\n assert_eq(value.get_current_at(block_of_change), post);\n assert_eq(value.get_current_at(block_of_change + 1), post);\n }\n\n #[test]\n fn test_get_scheduled() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value.get_scheduled(), (post, block_of_change));\n }\n\n fn assert_block_horizon_invariants(\n value: &mut ScheduledValueChange<Field>,\n historical_block_number: u32,\n block_horizon: u32\n ) {\n // The current value should not change at the block horizon (but it might later).\n let current_at_historical = value.get_current_at(historical_block_number);\n assert_eq(current_at_historical, value.get_current_at(block_horizon));\n\n // The earliest a new change could be scheduled in would be the immediate next block to the historical one. This\n // should result in the new block of change landing *after* the block horizon, and the current value still not\n // changing at the previously determined block_horizon.\n\n let new = value.pre + value.post; // Make sure it's different to both pre and post\n value.schedule_change(\n new,\n historical_block_number + 1,\n TEST_DELAY,\n historical_block_number + 1 + TEST_DELAY\n );\n\n assert(value.block_of_change > block_horizon);\n assert_eq(current_at_historical, value.get_current_at(block_horizon));\n }\n\n #[test]\n fn test_get_block_horizon_change_in_past() {\n let historical_block_number = 100;\n let block_of_change = 50;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_immediate_past() {\n let historical_block_number = 100;\n let block_of_change = 100;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_near_future() {\n let historical_block_number = 100;\n let block_of_change = 120;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n // Note that this is the only scenario in which the block of change informs the block horizon.\n // This may result in privacy leaks when interacting with applications that have a scheduled change\n // in the near future.\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, block_of_change - 1);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_far_future() {\n let historical_block_number = 100;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_schedule_change_before_prior_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change - 50;\n value.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost.\n assert_eq(value.pre, pre);\n assert_eq(value.post, new);\n assert_eq(value.block_of_change, current_block_number + TEST_DELAY);\n }\n\n #[test]\n fn test_schedule_change_after_prior_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change + 50;\n value.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n assert_eq(value.pre, post);\n assert_eq(value.post, new);\n assert_eq(value.block_of_change, current_block_number + TEST_DELAY);\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_value_change.nr" }, "65": { "source": "use dep::protocol_types::{hash::pedersen_hash, traits::FromField};\n\nuse crate::context::{PrivateContext, PublicContext, Context};\nuse crate::history::public_storage::public_storage_historical_read;\nuse crate::public_storage;\nuse crate::state_vars::{storage::Storage, shared_mutable::scheduled_value_change::ScheduledValueChange};\n\nstruct SharedMutable<T, DELAY> {\n context: Context,\n storage_slot: Field,\n // The _dummy variable forces DELAY to be interpreted as a numberic value. This is a workaround to\n // https://github.com/noir-lang/noir/issues/4633. Remove once resolved.\n _dummy: [Field; DELAY],\n}\n\nimpl<T, DELAY> Storage<T> for SharedMutable<T, DELAY> {}\n\n// SharedMutable<T> stores a value of type T that is:\n// - publicly known (i.e. unencrypted)\n// - mutable in public\n// - readable in private with no contention (i.e. multiple parties can all read the same value without blocking one\n// another nor needing to coordinate)\n// This is famously a hard problem to solve. SharedMutable makes it work by introducing a delay to public mutation:\n// the value is not changed immediately but rather a value change is scheduled to happen in the future after some delay\n// measured in blocks. Reads in private are only valid as long as they are included in a block not too far into the \n// future, so that they can guarantee the value will not have possibly changed by then (because of the delay).\nimpl<T, DELAY> SharedMutable<T, DELAY> {\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot, _dummy: [0; DELAY] }\n }\n\n pub fn schedule_value_change(self, new_value: T) {\n let context = self.context.public.unwrap();\n let mut scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n\n let block_number = context.block_number() as u32;\n // TODO: make this configurable\n // https://github.com/AztecProtocol/aztec-packages/issues/5501\n let block_of_change = block_number + DELAY;\n\n scheduled_value_change.schedule_change(new_value, block_number, DELAY, block_of_change);\n\n public_storage::write(self.get_derived_storage_slot(), scheduled_value_change);\n }\n\n pub fn get_current_value_in_public(self) -> T {\n let scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n\n let block_number = self.context.public.unwrap().block_number() as u32;\n scheduled_value_change.get_current_at(block_number)\n }\n\n pub fn get_scheduled_value_in_public(self) -> (T, u32) {\n let scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n scheduled_value_change.get_scheduled()\n }\n\n pub fn get_current_value_in_private(self) -> T where T: FromField {\n let mut context = self.context.private.unwrap();\n\n let (scheduled_value_change, historical_block_number) = self.historical_read_from_public_storage(*context);\n let block_horizon = scheduled_value_change.get_block_horizon(historical_block_number, DELAY);\n\n // We prevent this transaction from being included in any block after the block horizon, ensuring that the \n // historical public value matches the current one, since it can only change after the horizon.\n context.set_tx_max_block_number(block_horizon);\n scheduled_value_change.get_current_at(historical_block_number)\n }\n\n fn historical_read_from_public_storage(\n self,\n context: PrivateContext\n ) -> (ScheduledValueChange<T>, u32) where T: FromField {\n let derived_slot = self.get_derived_storage_slot();\n\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let mut raw_fields = [0; 3];\n for i in 0..3 {\n raw_fields[i] = public_storage_historical_read(\n context,\n derived_slot + i as Field,\n context.this_address()\n );\n }\n\n let scheduled_value: ScheduledValueChange<T> = ScheduledValueChange::deserialize(raw_fields);\n let historical_block_number = context.historical_header.global_variables.block_number as u32;\n\n (scheduled_value, historical_block_number)\n }\n\n fn get_derived_storage_slot(self) -> Field {\n // Since we're actually storing three values (a ScheduledValueChange struct), we hash the storage slot to get a\n // unique location in which we can safely store as much data as we need. This could be removed if we informed\n // the slot allocator of how much space we need so that proper padding could be added.\n // See https://github.com/AztecProtocol/aztec-packages/issues/5492\n pedersen_hash([self.storage_slot, 0], 0)\n }\n}\n\nmod test {\n use dep::std::{merkle::compute_merkle_root, test::OracleMock};\n\n use crate::{\n context::{PublicContext, PrivateContext, Context},\n state_vars::shared_mutable::shared_mutable::SharedMutable,\n oracle::get_public_data_witness::PublicDataWitness\n };\n\n use dep::protocol_types::{\n constants::{GENERATOR_INDEX__PUBLIC_LEAF_INDEX, PUBLIC_DATA_TREE_HEIGHT}, hash::pedersen_hash,\n address::AztecAddress, public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage\n };\n\n fn setup(private: bool) -> (SharedMutable<Field, TEST_DELAY>, Field) {\n let block_number = 40;\n let context = create_context(block_number, private);\n\n let storage_slot = 57;\n let state_var: SharedMutable<Field, TEST_DELAY> = SharedMutable::new(context, storage_slot);\n\n (state_var, block_number)\n }\n\n fn create_context(block_number: Field, private: bool) -> Context {\n if private {\n let mut private_context = PrivateContext::empty();\n private_context.historical_header.global_variables.block_number = block_number;\n Context::private(&mut private_context)\n } else {\n let mut public_context = PublicContext::empty();\n public_context.inputs.public_global_variables.block_number = block_number;\n Context::public(&mut public_context)\n }\n }\n\n global TEST_DELAY = 20;\n\n global pre = 13;\n global post = 42;\n\n #[test]\n fn test_get_current_value_in_public_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future, current value is pre\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n assert_eq(state_var.get_current_value_in_public(), pre);\n }\n\n #[test]\n fn test_get_current_value_in_public_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block, current value is post\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n assert_eq(state_var.get_current_value_in_public(), post);\n }\n\n #[test]\n fn test_get_current_value_in_public_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past, current value is post\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n assert_eq(state_var.get_current_value_in_public(), post);\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, (block_number + 1) as u32));\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, block_number as u32));\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, (block_number - 1) as u32));\n }\n\n #[test]\n fn test_schedule_value_change_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The new scheduled change replaces the old one\n assert_eq(write_mock.get_last_params(), (slot, [pre, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_schedule_value_change_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The previous 'post' value is the current one and becomes the 'pre' value\n assert_eq(write_mock.get_last_params(), (slot, [post, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_schedule_value_change_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The previous 'post' value is the current one and becomes the 'pre' value\n assert_eq(write_mock.get_last_params(), (slot, [post, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_get_current_value_in_private_before_change() {\n // Here we'd want to test that the private getter returns the correct value and sets max_block_number in the\n // context to the expected block horizon, in all the possible scenarios (long before change, before near change,\n // after change).\n // However, this requires mocking the getPublicDataTreeWitness oracle so that we can convince the circuit that\n // it got a valid historical proof. Because we can set the tree root to whatever we want in the context, this is\n // trivial for a single historical value (we add a leaf and compute the root with any random path), but is quite\n // hard if we're reading more than one value for the same root (as SharedMutable does): we essentially need to\n // create an actual indexed tree and compute the correct path for each of the inserted values.\n // TODO: implement an actual tree and use it here https://github.com/AztecProtocol/aztec-packages/issues/5494\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable.nr" }, "69": { "source": "use dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::oracle::storage::{storage_read, storage_write};\n\npub fn read<T, N>(storage_slot: Field) -> T where T: Deserialize<N> {\n T::deserialize(storage_read(storage_slot))\n}\n\npub fn write<T, N>(storage_slot: Field, value: T) where T: Serialize<N> {\n storage_write(storage_slot, value.serialize());\n}\n\n// Ideally we'd do the following, but we cannot because of https://github.com/noir-lang/noir/issues/4633\n// pub fn read_historical<T, N>(\n// storage_slot: Field,\n// context: PrivateContext\n// ) -> T where T: Deserialize<N> {\n// let mut fields = [0; N];\n// for i in 0..N {\n// fields[i] = public_storage_historical_read(\n// context,\n// storage_slot + i as Field,\n// context.this_address()\n// );\n// }\n// T::deserialize(fields)\n// }\n\nmod tests {\n use dep::std::test::OracleMock;\n use dep::protocol_types::traits::{Deserialize, Serialize};\n use crate::public_storage;\n\n struct TestStruct {\n a: Field,\n b: Field,\n }\n\n impl Deserialize<2> for TestStruct {\n fn deserialize(fields: [Field; 2]) -> TestStruct {\n TestStruct { a: fields[0], b: fields[1] }\n }\n }\n\n impl Serialize<2> for TestStruct {\n fn serialize(self) -> [Field; 2] {\n [self.a, self.b]\n }\n }\n\n #[test]\n fn test_read() {\n let slot = 7;\n let written = TestStruct { a: 13, b: 42 };\n\n OracleMock::mock(\"storageRead\").with_params((slot, 2)).returns(written.serialize());\n\n let read: TestStruct = public_storage::read(slot);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n\n #[test]\n fn test_write() {\n let slot = 7;\n let to_write = TestStruct { a: 13, b: 42 };\n\n let mock = OracleMock::mock(\"storageWrite\").returns([0; 2]); // The return value is unused\n\n public_storage::write(slot, to_write);\n assert_eq(mock.get_last_params(), (slot, to_write.serialize()));\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/public_storage.nr" }, "77": { "source": "use crate::{\n context::{\n inputs::PublicContextInputs, interface::ContextInterface, interface::PublicContextInterface,\n gas::GasOpts\n},\n messaging::process_l1_to_l2_message,\n oracle::{arguments, public_call::call_public_function_internal, returns},\n hash::{hash_args, ArgsHasher}\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables, function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, side_effect::SideEffect\n},\n hash::silo_nullifier, 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_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_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_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest}, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{Deserialize, Empty}\n};\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_hash : Field,\n\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_non_existent_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL>,\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_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 new_l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hashes: BoundedVec<SideEffect, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_preimages_length: Field,\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 prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n PublicContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter,\n args_hash,\n return_hash: 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_preimages_length: 0,\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero() // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn call_public_function_no_args<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &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 ) -> FunctionReturns<RETURNS_COUNT> {\n let side_effect_counter = self.side_effect_counter;\n // TODO get next value from output of `call_public_function_internal`\n self.side_effect_counter += 1;\n\n let raw_returns = call_public_function_internal(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n FunctionReturns::new(raw_returns)\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 // Keep private or ask the AVM team if you want to change it.\n fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n // Keep private or ask the AVM team if you want to change it.\n fn push_nullifier_non_existent_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_non_existent_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_log_preimages_length = 0;\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_non_existent_read_requests: self.nullifier_non_existent_read_requests.storage,\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n returns_hash: self.return_hash,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\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 unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n unencrypted_log_preimages_length,\n historical_header: self.inputs.historical_header,\n global_variables: self.inputs.public_global_variables,\n prover_address: self.prover_address,\n revert_code: 0,\n start_gas_left: self.inputs.gas_left,\n end_gas_left: self.inputs.gas_left, // AVM should decrease this value\n transaction_fee: self.inputs.transaction_fee\n };\n pub_circuit_pub_inputs\n }\n}\n\nimpl ContextInterface for PublicContext {\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.public_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.public_global_variables.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.side_effect_counter });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PublicContextInterface for PublicContext {\n fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> u64 {\n self.inputs.public_global_variables.timestamp\n }\n\n fn coinbase(self) -> EthAddress {\n self.inputs.public_global_variables.coinbase\n }\n\n fn fee_recipient(self) -> AztecAddress {\n self.inputs.public_global_variables.fee_recipient\n }\n\n fn fee_per_da_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_da_gas\n }\n\n fn fee_per_l2_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_l2_gas\n }\n\n fn nullifier_exists(self, unsiloed_nullifier: Field, address: AztecAddress) -> bool {\n // Current public can only check for settled nullifiers, so we always silo.\n let siloed_nullifier = silo_nullifier(address, unsiloed_nullifier);\n nullifier_exists_oracle(siloed_nullifier) == 1\n }\n\n fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n let message = L2ToL1Message { recipient, content };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // We can consume message with a secret in public context because the message cannot be modified and therefore\n // there is no front-running risk (e.g. somebody could front run you to claim your tokens to your address).\n // Leaf index is not used in public context, but it is used in the AVMContext which will replace it.\n fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress, _leaf_index: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n this,\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\n fn emit_unencrypted_log<T>(&mut self, log: T) {\n let event_selector = 5;\n let log_hash = emit_unencrypted_log_oracle(self.this_address(), event_selector, log);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // Once we hash inside circuits, this replaces push_unencrypted_log\n // For now we need an oracle to get the hash\n let side_effect = SideEffect { value: log_hash, counter: self.side_effect_counter };\n self.unencrypted_logs_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n fn static_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n fn delegate_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field]\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n}\n\nimpl Empty for PublicContext {\n fn empty() -> Self {\n PublicContext {\n inputs: PublicContextInputs::empty(),\n side_effect_counter: 0 as u32,\n args_hash : 0,\n return_hash : 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n }\n }\n}\n\n#[oracle(checkNullifierExists)]\nfn nullifier_exists_oracle(nullifier: Field) -> Field {}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T\n) -> Field {}\n\nstruct FunctionReturns<N> {\n values: [Field; N]\n}\n\nimpl<N> FunctionReturns<N> {\n pub fn new(values: [Field; N]) -> FunctionReturns<N> {\n FunctionReturns { values }\n }\n\n pub fn assert_empty(returns: FunctionReturns<0>) {\n assert(returns.values.len() == 0);\n }\n\n pub fn raw(self) -> [Field; N] {\n self.values\n }\n\n pub fn deserialize_into<T>(self) -> T where T: Deserialize<N> {\n Deserialize::deserialize(self.raw())\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/public_context.nr" }, "96": { "source": "#[oracle(packArgumentsArray)]\nfn pack_arguments_array_oracle<N>(_args: [Field; N]) -> Field {}\n\n#[oracle(packArguments)]\nfn pack_arguments_oracle(_args: [Field]) -> Field {}\n\n/// - Pack arguments (array version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments_array<N>(args: [Field; N]) -> Field {\n pack_arguments_array_oracle(args)\n}\n\n/// - Pack arguments (slice version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments(args: [Field]) -> Field {\n pack_arguments_oracle(args)\n}\n\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/arguments.nr" }, "108": { "source": "use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress};\n\n#[oracle(callPublicFunction)]\nfn call_public_function_oracle<RETURNS_COUNT>(\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; RETURNS_COUNT] {}\n\nunconstrained pub fn call_public_function_internal<RETURNS_COUNT>(\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; RETURNS_COUNT] {\n call_public_function_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", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr" }, "110": { "source": "use dep::protocol_types::traits::{Deserialize, Serialize};\n\n#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<N>(storage_slot: Field) -> [Field; N] {\n storage_read_oracle_wrapper(storage_slot)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr" }, "114": { "source": "mod globals;\nmod inputs;\n\nmod private_context;\nmod public_context;\nmod avm_context;\nmod interface;\nmod gas;\n\nuse interface::{\n ContextInterface, PrivateCallInterface, PublicCallInterface, PrivateVoidCallInterface,\n PublicVoidCallInterface, AvmCallInterface, AvmVoidCallInterface\n};\nuse private_context::PrivateContext;\nuse private_context::PackedReturns;\nuse public_context::PublicContext;\nuse public_context::FunctionReturns;\nuse avm_context::AvmContext;\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n avm: Option<&mut AvmContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context { private: Option::some(context), public: Option::none(), avm: Option::none() }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context { public: Option::some(context), private: Option::none(), avm: Option::none() }\n }\n\n pub fn avm(context: &mut AvmContext) -> Context {\n Context { avm: Option::some(context), public: Option::none(), private: Option::none() }\n }\n\n pub fn none() -> Context {\n Context { public: Option::none(), private: Option::none(), avm: Option::none() }\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context.nr" }, "115": { "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, poseidon2_hash, silo_nullifier, sha256_to_field}\n};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\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", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr" }, "133": { "source": "pub fn field_from_bytes<N>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(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..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\n assert_eq(field2, field);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr" }, "149": { "source": "use crate::{\n address::{\n eth_address::EthAddress, salted_initialization_hash::SaltedInitializationHash,\n aztec_address::AztecAddress\n},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, contract_class_id::ContractClassId,\n hash::pedersen_hash, traits::{ToField, FromField, Serialize, Deserialize}\n};\n\nglobal PARTIAL_ADDRESS_LENGTH = 1;\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[0] }\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n deployer: AztecAddress\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, deployer)\n )\n }\n\n pub fn compute_from_salted_initialization_hash(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash\n ) -> Self {\n PartialAddress::from_field(\n pedersen_hash(\n [\n contract_class_id.to_field(),\n salted_initialization_hash.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.to_field() == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr" }, "150": { "source": "use crate::{\n constants::{GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__PUBLIC_KEYS_HASH}, hash::pedersen_hash, grumpkin_point::GrumpkinPoint,\n traits::{ToField, Serialize, Deserialize},\n hash::poseidon2_hash,\n};\n\n// Public keys hash. Used in the computation of an address.\nstruct PublicKeysHash {\n inner: Field\n}\n\nimpl ToField for PublicKeysHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<1> for PublicKeysHash {\n fn serialize(self: Self) -> [Field; 1] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<1> for PublicKeysHash {\n fn deserialize(fields: [Field; 1]) -> Self {\n PublicKeysHash::from_field(fields[0])\n }\n}\n\nimpl Eq for PublicKeysHash {\n fn eq(self, other: Self) -> bool {\n self.inner == other.inner\n }\n}\n\nimpl PublicKeysHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n // TODO(#5830): When we do this refactor, rename compute_new -> compute\n pub fn compute(public_key: GrumpkinPoint) -> Self {\n PublicKeysHash::from_field(\n pedersen_hash(\n [\n public_key.x,\n public_key.y\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n // TODO(#5830): When we do this refactor, rename compute_new -> compute\n pub fn compute_new(\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint\n ) -> Self {\n PublicKeysHash::from_field(\n poseidon2_hash([\n nullifier_public_key.x,\n nullifier_public_key.y,\n incoming_public_key.x,\n incoming_public_key.y,\n outgoing_public_key.x,\n outgoing_public_key.y,\n tagging_public_key.x,\n tagging_public_key.y,\n GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n ])\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\n// TODO(#5830): re-enable this test once the compute function is updated\n// #[test]\n// fn compute_public_keys_hash() {\n// let point = GrumpkinPoint { x: 1, y: 2 };\n// let actual = PublicKeysHash::compute(point);\n// let expected_public_keys_hash = 0x22d83a089d7650514c2de24cd30185a414d943eaa19817c67bffe2c3183006a3;\n// assert(actual.to_field() == expected_public_keys_hash);\n// }\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/public_keys_hash.nr" }, "151": { "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(\n [pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1]\n )\n )\n }\n\n pub fn compute_from_public_keys_and_partial_address(\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint,\n partial_address: PartialAddress,\n ) -> AztecAddress {\n let public_keys_hash = PublicKeysHash::compute_new(\n nullifier_public_key,\n incoming_public_key,\n outgoing_public_key,\n tagging_public_key,\n );\n\n let computed_address = AztecAddress::compute(public_keys_hash, partial_address);\n\n computed_address\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_pubkey() {\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", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr" }, "156": { "source": "use dep::std::cmp::Eq;\nuse crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<N> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<N> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr" }, "185": { "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", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr" }, "205": { "source": "use crate::traits::{Serialize, Deserialize};\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\nglobal U8_SERIALIZED_LEN: Field = 1;\nglobal U32_SERIALIZED_LEN: Field = 1;\nglobal U64_SERIALIZED_LEN: Field = 1;\nglobal U128_SERIALIZED_LEN: Field = 1;\nglobal FIELD_SERIALIZED_LEN: Field = 1;\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U64_SERIALIZED_LEN> for u64 {\n fn serialize(self) -> [Field; U64_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U64_SERIALIZED_LEN> for u64 {\n fn deserialize(fields: [Field; U64_SERIALIZED_LEN]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Serialize<U128_SERIALIZED_LEN> for U128 {\n fn serialize(self) -> [Field; 1] {\n [self.to_integer()]\n }\n\n}\n\nimpl Deserialize<U128_SERIALIZED_LEN> for U128 {\n fn deserialize(fields: [Field; U128_SERIALIZED_LEN]) -> Self {\n U128::from_integer(fields[0])\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr" }, "207": { "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::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::side_effect::SideEffect;\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};\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 silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\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\npub fn compute_tx_logs_hash<MAX_ENCRYPTED_LOGS_PER_TX>(logs: [SideEffect; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // TODO(Miranda): Below is flat hashing which would reduce constraints (we now only hash once in tail) - convert to this?\n\n // // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n // // Ideally we would define a new global here but for now we assert in case MAX_LOGS changes\n // assert(MAX_ENCRYPTED_LOGS_PER_TX * 32 == 256);\n // let mut hash_input_flattened = [0; 256];\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 // // This differs from accumulate_sha256 as we could increase MAX_LOGS and\n // // ideally we would push to a slice then hash, but in practice compilation was very slow\n // // Hardcode to 256 bytes for now\n // sha256_to_field(hash_input_flattened)\n\n // Assuming logs are pre-sorted\n let mut accumulated_logs_hash = 0;\n for i in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n if !is_empty(logs[i]) {\n accumulated_logs_hash = accumulate_sha256([accumulated_logs_hash, logs[i].value]);\n }\n }\n\n accumulated_logs_hash\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\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 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr" }, "216": { "source": "use crate::traits::{Serialize, Deserialize};\nuse dep::std::cmp::Eq;\n\nglobal GRUMPKIN_POINT_SERIALIZED_LEN: Field = 2;\n\n// TODO(https://github.com/noir-lang/noir/issues/4931)\nstruct GrumpkinPoint {\n x: Field,\n y: Field,\n}\n\nimpl Serialize<GRUMPKIN_POINT_SERIALIZED_LEN> for GrumpkinPoint {\n fn serialize(self) -> [Field; GRUMPKIN_POINT_SERIALIZED_LEN] {\n [self.x, self.y]\n }\n}\n\nimpl Deserialize<GRUMPKIN_POINT_SERIALIZED_LEN> for GrumpkinPoint {\n fn deserialize(serialized: [Field; GRUMPKIN_POINT_SERIALIZED_LEN]) -> Self {\n Self {\n x: serialized[0],\n y: serialized[1],\n }\n }\n}\n\nimpl Eq for GrumpkinPoint {\n fn eq(self, point: GrumpkinPoint) -> bool {\n (point.x == self.x) & (point.y == self.y)\n }\n}\n\nimpl GrumpkinPoint {\n pub fn new(x: Field, y: Field) -> Self {\n Self { x, y }\n }\n\n pub fn zero() -> Self {\n Self { x: 0, y: 0 }\n }\n\n pub fn is_zero(self) -> bool {\n (self.x == 0) & (self.y == 0)\n }\n\n // TODO(David): Would be quite careful here as (0,0) is not a point\n // on the curve. A boolean flag may be the better approach here,\n // would also cost less constraints. It seems like we don't need to \n // group arithmetic either. \n fn assert_is_zero(self) {\n assert(self.x == 0);\n assert(self.y == 0);\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 64] {\n let mut result = [0 as u8; 64];\n let x_bytes = self.x.to_be_bytes(32);\n let y_bytes = self.y.to_be_bytes(32);\n for i in 0..32 {\n result[i] = x_bytes[i];\n result[i + 32] = y_bytes[i];\n }\n result\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/grumpkin_point.nr" }, "296": { "source": "contract KeyRegistry {\n use dep::authwit::auth::assert_current_call_valid_authwit_public;\n\n use dep::aztec::{\n state_vars::{\n SharedMutable,\n Map\n }, \n protocol_types::{\n grumpkin_point::GrumpkinPoint,\n address::{\n AztecAddress,\n PublicKeysHash,\n PartialAddress,\n },\n constants::{\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1,\n GENERATOR_INDEX__PUBLIC_KEYS_HASH\n },\n hash::poseidon2_hash,\n },\n };\n\n global KEY_ROTATION_DELAY = 5;\n\n #[aztec(storage)]\n struct Storage {\n //! This should stay at storage slot 1. If you change this, make sure you change the hardcoded value in keys/assert_public_key_freshness.\n //! We use this hardcoded storage slot with derive_storage_slot_in_map and the SharedMutablePrivateGetter to directly read the value at an address in this contract.\n nullifier_public_key_hash_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n\n // We are not supporting rotating / changing keys other than the nullifier public in the registry at the moment, but will in the future.\n // Uncomment lines below to enable that functionality\n // incoming_public_key_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n // outgoing_public_key_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n // tagging_public_key_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n }\n\n #[aztec(public)]\n fn rotate_nullifier_public_key(\n address: AztecAddress,\n new_nullifier_public_key: GrumpkinPoint,\n nonce: Field,\n ) {\n assert(\n !new_nullifier_public_key.is_zero(),\n \"New nullifier public key must be non-zero\"\n );\n\n // TODO: (#6137)\n if (!address.eq(context.msg_sender())) {\n assert_current_call_valid_authwit_public(&mut context, address);\n } else {\n assert(nonce == 0, \"invalid nonce\");\n }\n\n let nullifier_key_registry = storage.nullifier_public_key_hash_registry.at(address);\n\n nullifier_key_registry.schedule_value_change(poseidon2_hash(new_nullifier_public_key.serialize()));\n }\n\n #[aztec(public)]\n fn register(\n address: AztecAddress,\n partial_address: PartialAddress,\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint,\n ) {\n assert(\n !partial_address.is_zero() &\n !nullifier_public_key.is_zero() &\n !incoming_public_key.is_zero() &\n !outgoing_public_key.is_zero() &\n !tagging_public_key.is_zero(),\n \"All public keys must be non-zero\"\n );\n\n // We could also pass in original_public_keys_hash instead of computing it here, if all we need the original one is for being able to prove ownership of address\n let computed_address = AztecAddress::compute_from_public_keys_and_partial_address(\n nullifier_public_key,\n incoming_public_key,\n outgoing_public_key,\n tagging_public_key,\n partial_address,\n );\n\n assert(computed_address.eq(address), \"Computed address does not match supplied address\");\n\n let nullifier_key_hash_registry = storage.nullifier_public_key_hash_registry.at(address);\n // We are not supporting rotating / changing keys other than the nullifier public in the registry at the moment, but will in the future.\n // Uncomment lines below to enable that functionality\n // let incoming_key_registry = storage.incoming_public_key_registry.at(address);\n // let outgoing_key_registry = storage.outgoing_public_key_registry.at(address);\n // let tagging_key_registry = storage.taggin_public_key_registry.at(address);\n\n nullifier_key_hash_registry.schedule_value_change(poseidon2_hash(nullifier_public_key.serialize()));\n // We are not supporting rotating / changing keys other than the nullifier public in the registry at the moment, but will in the future.\n // Uncomment lines below to enable that functionality // incoming_key_registry.schedule_value_change(new_incoming_public_key);\n // outgoing_key_registry.schedule_value_change(new_outgoing_public_key);\n // tagging_key_registry.schedule_value_change(new_tagging_public_key);\n }\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/key_registry_contract/src/main.nr" } } }
1
+ { "transpiled": true, "noir_version": "0.29.0+9edb7f5a94a9b0e3a0a108728fe04cd51e5d0db2", "name": "KeyRegistry", "functions": [{ "name": "register", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "address": [{ "end": 41, "start": 40 }], "incoming_public_key": [{ "end": 46, "start": 44 }], "inputs": [{ "end": 40, "start": 0 }], "nullifier_public_key": [{ "end": 44, "start": 42 }], "outgoing_public_key": [{ "end": 48, "start": 46 }], "partial_address": [{ "end": 42, "start": 41 }], "tagging_public_key": [{ "end": 50, "start": 48 }] }, "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" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header" } }, { "name": "public_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": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "gas_left", "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": "transaction_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::context::inputs::public_context_inputs::PublicContextInputs" }, "visibility": "private" }, { "name": "address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "partial_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::partial_address::PartialAddress" }, "visibility": "private" }, { "name": "nullifier_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" }, "visibility": "private" }, { "name": "incoming_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" }, "visibility": "private" }, { "name": "outgoing_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" }, "visibility": "private" }, { "name": "tagging_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" }, "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": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "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_non_existent_read_requests", "type": { "kind": "array", "length": 2, "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": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest" } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "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": "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" } }], "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": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "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" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header" } }, { "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": "prover_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "revert_code", "type": { "kind": "integer", "sign": "unsigned", "width": 8 } }, { "name": "start_gas_left", "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": "end_gas_left", "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": "transaction_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs" }, "visibility": "public" }, "return_witnesses": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277] }, "bytecode": "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", "debug_symbols": "7P3driTLkpwJvktdFwZupv98lcFgwJlmDwg0yEGTfUXUu7ef7ozIfVBrMUN9e1iIZNpV7ToID1NXdxd1k5Xyxf/4l//lP/1//o//3//7P/+X//W//rd/+Q//z//xL//bf/3//sf//p//6385/7//8S/H/2Pq/L/+5//2//+P/+Uf/8t/++//8X//7//yH45//Zf/9F/+l/P//tu//sv/+p//t//0L/9hlv3b/+tf/68jpH2Eto+w9hHePiLaR2T7iOoeYcfrR/zrv/vcOIb/+Og4ZDw/PWw+vn+8+fvnm79f3vz9+ubvtzd/v7/5++PN359v/v567/f7m59ff/Pz629+fv3Nz6//rftfMsePj57/OX9+vxyP74/3fn/8rftHajy/v1S++v7x5u+fb/5+efP365u/3978/f7m7483f3+++fvrvd+fb35+8836n2/W/3yz/ueb39/yze9v+eb3t3zz+1u++f0t3/z+Vm9+f6s3P79l730/qTe/X9V79VmO483fP978/fPN3y9v/n598/fbm7/f3/z98ebvzzd//5uf3/G3nt/z9fLHJ88Xwedn9fHd443fPd/43fLG79Y3fre98bv9jd8db/zufON31/u+e77xuZz61ncOmfbm73+z5s43a668+Z1J3vzOJG9+Z5I3vzPJm9+Z5M3vTPLmdyZ58zuTvPn5lTfqsr5Rl/WN70v6xvclfeP7kuobv/uN70v6xvclfeP7kr7xfUnf+Fz+vb9j//qd4+/9HfuF73+z5tqbNdfe/M7kb35n8je/M/mb35n8ze9M/uZ3Jn/zO5O/+Z3J3/z8+ht12d+oy/HG96V44/tSvPF9Kd74vvT3/t7+i+9+4/tSvPF9Kd74vhRvfC7/3t+Of/3OkW9+Z8o3a26+WXPzze9M+eZ3pnrzO1O9+Z2p3vzOVG9+Z6o3vzPVm9+Z6s3Pb71Rl+uNulzve1/S43jjd483fvd843fLG79b3/jd9sbv9jd+9/ueS/17fxP+5TuHjvnm73+v5urwN39/vPn7883f/953Jp3Hm79/vPn755u/X978/frm73/z8zvf/PzONz+/b/7bur75b+v65r+t65v/tq5v/tu6vvlv6/rmv62rdJOs+jf/Wm75eJ05/0Zw/FNF//7TOg758enzTSe/qj+Qqvl7f83uVmP1qGZ+Xc2AqmZCVSNQ1ShUNQZV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9L0+6Xt90vf6pO/1Sd/rk77XJ32vT/pen/S9Pul7fdL3+qTv9Unf65O+1yd9r0/6Xp/0vT7pe33S9/qk7/VJ3+uTvtcnfa9P+l6f9L0+6Xt90vf6pO/1Sd/rk77XJ32vT/pen/S9Pul7fdL3+qTv9Unf65O+1yd9r0/6Xp/0vT7pe33S9/qk7/VJ3+uTvtcnfa9P+l6f9L0+6Xt90vf6pO/1Sd/rk77XJ32vT/ten/a9Pu17fdr3+rTv9Wnf69O+16d9r0/7Xp/2vT7te33a9/q07/Vp3+vTvtenfa9P+16f9r0+7Xt92vf6tO/1ad/r077Xp32vT/ten/a9Pu17fdr3+rTv9Wnf69O+16d9r0/7Xp/2vT7te33a9/q07/Vp3+vTvtenfa9P+16f9r0+7Xt92vf6tO/1ad/r077Xp32vT/ten/a9Pu17fdr3+rTv9Wnf69O+16d9r0/7Xp/2vT7te33a9/q07/Vp3+vTvtenfa9P+16f9r0+7Xt92vf6tO/1ad/r077Xp32vT/ten/a9Pu17fdr3+rTv9Wnf69O+16d9r0/7Xp/2vT7te33a9/q07/Vp3+vTvtenfa9P+16f9r0+7Xt92vf6tO/1ad/r077Xp32vT/ten/a9Pu17fdr3+qzv9Vnf67O+12d9r8/6Xp/1vT7re33W9/qs7/VZ3+uzvtdnfa/P+l6f9b0+63t91vf6rO/1Wd/rs77XZ32vz/pen/W9Put7fdb3+qzv9Vnf67O+12d9r8/6Xp/1vT7re33W9/qs7/VZ3+uzvtdnfa/P+l6f9b0+63t91vf6rO/1Wd/rs77XZ32vz/pen/W9Put7fdb3+qzv9Vnf67O+12d9r8/6Xp/1vT7re33W9/qs7/VZ3+uzvtdnfa/P+l6f9b0+63t91vf6rO/1Wd/rs77XZ32vz/pen/W9Put7fdb3+qzv9Vnf67O+12d9r8/6Xp/1vT7re33W9/qs7/VZ3+uzvtdnfa/P+l6f9b0+63t91vf6rO/1Wd/rs77XZ32vz/pen/W9Put7fdb3+qzv9Vnf67O+12d9r8/7Xp/3vT7ve33e9/q87/V53+vzvtfnfa/P+16f970+73t93vf6vO/1ed/r877X532vz/ten/e9Pu97fd73+rzv9Xnf6/O+1+d9r8/7Xp/3vT7ve33e9/q87/V53+vzvtfnfa/P+16f970+73t93vf6vO/1ed/r877X532vz/ten/e9Pu97fd73+rzv9Xnf6/O+1+d9r8/7Xp/3vT7ve33e9/q87/V53+vzvtfnfa/P+16f970+73t93vf6vO/1ed/r877X532vz/ten/e9Pu97fd73+rzv9Xnf6/O+1+d9r8/7Xp/3vT7ve33e9/q87/V53+vzvtfnfa/P+16f970+73t93vf6vO/1ed/r877X532vz/ten/e9Pu97fd73+rzv9Xnf6/O+1+d9r8/7Xp/3vT7ve33e9/qi7/VF3+uLvtcXfa8v+l5f9L2+6Ht90ff6ou/1Rd/ri77XF32vL/peX/S9vuh7fdH3+qLv9UXf64u+1xd9ry/6Xl/0vb7oe33R9/qi7/VF3+uLvtcXfa8v+l5f9L2+6Ht90ff6ou/1Rd/ri77XF32vL/peX/S9vuh7fdH3+qLv9UXf64u+1xd9ry/6Xl/0vb7oe33R9/qi7/VF3+uLvtcXfa8v+l5f9L2+6Ht90ff6ou/1Rd/ri77XF32vL/peX/S9vuh7fdH3+qLv9UXf64u+1xd9ry/6Xl/0vb7oe33R9/qi7/VF3+uLvtcXfa8v+l5f9L2+6Ht90ff6ou/1Rd/ri77XF32vL/peX/S9vuh7fdH3+qLv9UXf64u+1xd9ry/6Xl/0vb7oe33R9/qi7/VF3+uLvtcXfa8v+15f9r2+7Ht92ff6su/1Zd/ry77Xl32vL/teX/a9vux7fdn3+rLv9WXf68u+15d9ry/7Xl/2vb7se33Z9/qy7/Vl3+vLvteXfa8v+15f9r2+7Ht92ff6su/1Zd/ry77Xl32vL/teX/a9vux7fdn3+rLv9WXf68u+15d9ry/7Xl/2vb7se33Z9/qy7/Vl3+vLvteXfa8v+15f9r2+7Ht92ff6su/1Zd/ry77Xl32vL/teX/a9vux7fdn3+rLv9WXf68u+15d9ry/7Xl/2vb7se33Z9/qy7/Vl3+vLvteXfa8v+15f9r2+7Ht92ff6su/1Zd/ry77Xl32vL/teX/a9vux7fdn3+rLv9WXf68u+15d9ry/7Xl/2vb7se33Z9/qy7/Vl3+vLvteXfa8v+15f9r2+7Ht92ff6qu/1Vd/rq77XV32vr/peX/W9vup7fdX3+qrv9VXf66u+11d9r6/6Xl/1vb7qe33V9/qq7/VV3+urvtdXfa+v+l5f9b2+6nt91ff6qu/1Vd/rq77XV32vr/peX/W9vup7fdX3+qrv9VXf66u+11d9r6/6Xl/1vb7qe33V9/qq7/VV3+urvtdXfa+v+l5f9b2+6nt91ff6qu/1Vd/rq77XV32vr/peX/W9vup7fdX3+qrv9VXf66u+11d9r6/6Xl/1vb7qe33V9/qq7/VV3+urvtdXfa+v+l5f9b2+6nt91ff6qu/1Vd/rq77XV32vr/peX/W9vup7fdX3+qrv9VXf66u+11d9r6/6Xl/1vb7qe33V9/qq7/VV3+urvtdXfa+v+l5f9b2+6nt91ff6qu/1Vd/rq77XV22vT46213ceMvqHzP4h0j9E+4dY/xDvHxL9Q7J/SP/qj/7VH/2rP/pXf/Sv/uhf/dG/+qN/9Uf/6o/+1R/9qz/7V3/2r/7sX/3Zv/qzf/Vn/+rP/tWf/as/+1d/9q++9K++9K++9K++9K++9K++9K++9K++9K++9K++9K++9q++9q++9q++9q++9q++9q++9q++9q++9q++9q++9a++9a++9a++9a++9a++9a++9a++9a++9a++9a++96++96++96++96++96++96++96++96++96++969+9K9+9K9+9K9+9K9+9K9+9K9+9K9+9K9+9K9+9K9+9q9+9q9+9q9+9q9+9q9+9q9+9q9+9q9+9q9+9q9+9a9+9a9+9a9+9a9+9a9+9a9+9a9+9a9+9a9+3+sbfa9v9L2+0ff6Rt/rG32vb/S9vtH3+kbf6xt9r2/0vb7R9/pG3+sbfa9v9L2+0ff6Rt/rG32vb/S9vtH3+kbf6xt9r2/0vb7R9/pG3+sbfa9v9L2+0ff6Rt/rG32vb/S9vtH3+kbf6xt9r2/0vb7R9/pG3+sbfa9v9L2+0ff6Rt/rG32vb/S9vtH3+kbf6xt9r2/0vb7R9/pG3+sbfa9v9L2+0ff6Rt/rG32vb/S9vtH3+kbf6xt9r2/0vb7R9/pG3+sbfa9v9L2+0ff6Rt/rG32vb/S9vtH3+kbf6xt9r2/0vb7R9/pG3+sbfa9v9L2+0ff6Rt/rG32vb/S9vtH3+kbf6xt9r2/0vb7R9/pG3+sbfa9v9L2+0ff6Rt/rG32vb/S9vtH3+kbf6xt9r2/0vb7R9/pG3+sbfa9v9L2+0ff6Rt/rm32vb/a9vtn3+mbf65t9r2/2vb7Z9/pm3+ubfa9v9r2+2ff6Zt/rm32vb/a9vtn3+mbf65t9r2/2vb7Z9/pm3+ubfa9v9r2+2ff6Zt/rm32vb/a9vtn3+mbf65t9r2/2vb7Z9/pm3+ubfa9v9r2+2ff6Zt/rm32vb/a9vtn3+mbf65t9r2/2vb7Z9/pm3+ubfa9v9r2+2ff6Zt/rm32vb/a9vtn3+mbf65t9r2/2vb7Z9/pm3+ubfa9v9r2+2ff6Zt/rm32vb/a9vtn3+mbf65t9r2/2vb7Z9/pm3+ubfa9v9r2+2ff6Zt/rm32vb/a9vtn3+mbf65t9r2/2vb7Z9/pm3+ubfa9v9r2+2ff6Zt/rm32vb/a9vtn3+mbf65t9r2/2vb7Z9/pm3+ubfa9v9r2+2ff6Zt/rm32vb/a9vtn3+mbf65O+1yd9r0/6Xp/0vT7pe33S9/qk7/VJ3+uTvtcnfa9P+l6f9L0+6Xt90vf6pO/1Sd/rk77XJ32vT/pen/S9Pul7fdL3+qTv9Unf65O+1yd9r0/6Xp/0vT7pe33S9/qk7/VJ3+uTvtcnfa9P+l6f9L0+6Xt90vf6pO/1Sd/rk77XJ32vT/pen/S9Pul7fdL3+qTv9Unf65O+1yd9r0/6Xp/0vT7pe33S9/qk7/VJ3+uTvtcnfa9P+l6f9L0+6Xt90vf6pO/1Sd/rk77XJ32vT/pen/S9Pul7fdL3+qTv9Unf65O+1yd9r0/6Xp/0vT7pe33S9/qk7/VJ3+uTvtcnfa9P+l6f9L0+6Xt90vf6pO/1Sd/rk77XJ32vT/pen/S9Pul7fdL3+qTv9Unf65O+1yd9r0/6Xp/0vT7te33a9/q07/Vp3+vTvtenfa9P+16f9r0+7Xt92vf6tO/1ad/r077Xp32vT/ten/a9Pu17fdr3+rTv9Wnf69O+16d9r0/7Xp/2vT7te33a9/q07/Vp3+vTvtenfa9P+16f9r0+7Xt92vf6tO/1ad/r077Xp32vT/ten/a9Pu17fdr3+rTv9Wnf69O+16d9r0/7Xp/2vT7te33a9/q07/Vp3+vTvtenfa9P+16f9r0+7Xt92vf6tO/1ad/r077Xp32vT/ten/a9Pu17fdr3+rTv9Wnf69O+16d9r0/7Xp/2vT7te33a9/q07/Vp3+vTvtenfa9P+16f9r0+7Xt92vf6tO/1ad/r077Xp32vT/ten/a9Pu17fdr3+rTv9Wnf69O+16d9r0/7Xp/2vT7te33a9/q07/Vp3+uzvtdnfa/P+l6f9b0+63t91vf6rO/1Wd/rs77XZ32vz/pen/W9Put7fdb3+qzv9Vnf67O+12d9r8/6Xp/1vT7re33W9/qs7/VZ3+uzvtdnfa/P+l6f9b0+63t91vf6rO/1Wd/rs77XZ32vz/pen/W9Put7fdb3+qzv9Vnf67O+12d9r8/6Xp/1vT7re33W9/qs7/VZ3+uzvtdnfa/P+l6f9b0+63t91vf6rO/1Wd/rs77XZ32vz/pen/W9Put7fdb3+qzv9Vnf67O+12d9r8/6Xp/1vT7re33W9/qs7/VZ3+uzvtdnfa/P+l6f9b0+63t91vf6rO/1Wd/rs77XZ32vz/pen/W9Put7fdb3+qzv9Vnf67O+12d9r8/6Xp/1vT7re33W9/qs7/VZ3+uzvtdnfa/P+l6f9b0+73t93vf6vO/1ed/r877X532vz/ten/e9Pu97fd73+rzv9Xnf6/O+1+d9r8/7Xp/3vT7ve33e9/q87/V53+vzvtfnfa/P+16f970+73t93vf6vO/1ed/r877X532vz/ten/e9Pu97fd73+rzv9Xnf6/O+1+d9r8/7Xp/3vT7ve33e9/q87/V53+vzvtfnfa/P+16f970+73t93vf6vO/1ed/r877X532vz/ten/e9Pu97fd73+rzv9Xnf6/O+1+d9r8/7Xp/3vT7ve33e9/q87/V53+vzvtfnfa/P+16f970+73t93vf6vO/1ed/r877X532vz/ten/e9Pu97fd73+rzv9Xnf6/O+1+d9r8/7Xp/3vT7ve33e9/q87/V53+vzvtfnfa/P+16f970+73t93vf6vO/1ed/ri77XF32vL/peX/S9vuh7fdH3+qLv9UXf64u+1xd9ry/6Xl/0vb7oe33R9/qi7/VF3+uLvtcXfa8v+l5f9L2+6Ht90ff6ou/1Rd/ri77XF32vL/peX/S9vuh7fdH3+qLv9UXf64u+1xd9ry/6Xl/0vb7oe33R9/qi7/VF3+uLvtcXfa8v+l5f9L2+6Ht90ff6ou/1Rd/ri77XF32vL/peX/S9vuh7fdH3+qLv9UXf64u+1xd9ry/6Xl/0vb7oe33R9/qi7/VF3+uLvtcXfa8v+l5f9L2+6Ht90ff6ou/1Rd/ri77XF32vL/peX/S9vuh7fdH3+qLv9UXf64u+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fn+8p4+6+3hLH7dvdk8ft292Tx/3fuaePu79zD193PuZV/r4ly8W/6qPuvcz9/Rx72fu6ePez9zTx72fuaePuvv4Qh/1eH6xHl/9fWb/VOlr92P8pY9f/V1h//roTX3c+5l7+rj3M/f0ce9nbunj/iXPm/q49zP39HHvZ+7p497P3NNH3X28pY97P3NPH/d+5p4+7v3MPX3c+5l7+rj3M7f0cf8O5E193PuZe/q49zP39HHvZ+7po+4+3tLHvZ+5p497P3NPH/d+5p4+7v3MPX3c+5lb+rh/B/KmPu79zD193PuZe/q49zP39FF3H2/p497P3NPHvZ+5p497P3NPH/d+5p4+7v3MLX3cv+96Ux/3fuaePu79zD193PuZe/qou4+39HHvZ+7p497P3NPHvZ+5p497P3NPH/d+5pY+7t8bvqmPX+9nrB6LTJ/xT318HDivHihXD9SrB9rVA/3qgXH1wLx6YF07ML75obsXDhxXD5xXD5SrB+rVA+3qgX71wLh6YF498OqdM67eOePqnTOu3jnj6p0zrt454+qdM67eOePqnTOu3jnj6p0zr9458+qdM6/eOfPqnTOv3jnz6p0zr9458+qdM6/eOfPqnSNX7xy5eufI1TtHrt45cvXOkat3jly9c+TqnSNX7xy5eufo1TtHr945evXO0at3jl69c/TqnaNX7xy9eufo1TtHr945dvXOsat3jl29c+zqnWNX7xy7eufY1TvHrt45dvXOsat3jl+9c/zqneNX7xy/euf41TvHr945fvXO8at3jl+9c/zqnRNX75y4eufE1Tsnrt45cfXOiat3Tly9c+LqnRNX75y4eufk1Tsnr945efXOyat3Tl69c/LqnZNX75y8eufk1Tsnr945dfXOueohx1UPOa56yHHVQ46rHnJc9ZDjqoccVz3kuOoh51UPOa96yHnVQ86rHnJe9ZDzqoecVz3kvOoh51UPOa96yHnVQ86rHnJe9ZDzqoecVz3kvOoh51UPOa96yHnVQ86rHnJe9ZDzqoecVz3kvOoh51UPOa96yHnVQ86rHnJe9ZDzqoecVz3kvOoh51UPOa96yHnVQ86rHnJe9ZDzqoecVz3kvOoh51UPOa96yHnVQ86rHnJe9ZDzqoecVz3kvOoh51UPOa96yHnVQ86rHnJe9ZDzqoecVz3kvOoh51UPOa96yHnVQ86r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NueUnJxTcsJOyV//BHJO2Fn5SvGwE/OF4gV2br5SPOz0fKV42Bn6SvGwk/SV4mHn6SvFw07VV4qHna2vFM88YYV5wgrzhFXmCavME1aZJ6wyT9g7uBGfK555wirzhFXmCavME1aZJ6wxT1gUNsS14pknLAp34lrxzBMWhWlxrXjmCYvCy7hWPPOERWFxXCoehdxxrXjmCYtCBblWPPOERSGOXCueecKi0EyuFc88YVFIKdeKZ56wKBSWa8UzT1gUwsu14pknLAo95lrxzBMWhUxzrXjmCYtCvblWPPOERSHqXCueecKi0HquFc88YVFIQNeKZ56wKJSha8UzT1gUgtG14pknLC716JXimScsLgHpleKZJywuDemV4pknLC4Z6ZXimScsLiXpleKJJ2zhEpNeKZ54whYuPemV4oknbB3EE7ZweUqvFE88YQuXrfRK8cQTtnA5Sy8Uj0tbeqV45gmLS156pXjmCYtLYXqleOYJi0tkeqV45gmLS2d6pXjmCYtLanqleOYJi0tteqV45gmLS3B6pXjmCYtLc3qleOYJy8x0KmamUzEznYqZ6VTMTKdiZjoVM9OpmJlOxcx0KmamUzEznYqZ6VTMTKdiZjoVM9OpmJlOxcx0KmamUzEznYqZ6VTMTKdiZjoVM9OpmJlOxcx0KmamUzEznYqZ6VTMTKdiZjoVM9OpmJlOxcx0KmamUzEznYqZ6VTMTKdiZjoVM9OpmJlOxcx0KmamUzEznYqZ6VTMTKdiZjoVM9OpmJlOxcx0KmamUzEznYqZ6VTMTKdiZjoVM9OpmJlOxcx0KmamUzEznYqZ6VTMTKdiZjoVM9OpmJlOxcx0KmamUzEznYqZ6VTMTKdiZjoVM9OpiJlOcRAznc7ieSfsWTzvhD2L552wZ/G8E/YsnnfCnsXzTtizeN4JexbPO2HP4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pknLDHT6SyeecISM53O4pkn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Zy0zN+qsnnrWMnOjzuqpZy0zN+qsnnrWMnOjzuqpZy0zN+qsnnrWMnOjzuqpZy0zN+qsnnrWMnOjzuqpZy0zN+qsnnrWMnOjzuqpZy0zN+qsnnrWMnOjzuqZZ+2g5kYNam7UoOZGDWpu1DiYZ+2g5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRg1qbtSg5kYNam7UoOZGDWpu1KDmRk1qbtSk5kZNam7UpOZGzYN51k5qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpu1KTmRk1qbtSk5kZNam7UpOZGTWpulFBzo4SaGyXU3Cih5kbJwTxrhZobJdTcKKHmRgk1N0qouVFCzY0Sam6UUHOjhJobJdTcKKHmRgk1N0qouVFCzY0Sam6UUHOjhJobJdTcKKHmRgk1N0qouVFCzY0Sam6UUHOjhJobJdTcKKHm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W9xsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVcbOpiptNVdxsquJmUxU3m6q42VTFzaYqbjZVUbOpxkHNpjrLZ566Z/nMU/csn3nqnuUzT92zfOape5bPPHXP8pmn7lk+89Q9y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzaY6y+eeutRsqrN87qlLzab6x89ccpfPPXWp2VT/INhzl889danZVP+AUzGXP7jZVIObTTW42VSDm001DuqpO7jZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUg5tNNbjZVIObTTW42VSDm001uNlUk5tNNbnZVJObTTW52VTzoJ66k5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm001udlUk5tNNbnZVJObTTW52VSTm00l3Gwq4WZTCTebSrjZVHJQT13hZlMJN5tKuNlUws2mEm42lXCzqYSbTSXcbCrhZlMJN5tKuNlUws2mEm42lXCzqYSbTSXcbCrhZlMJN5tKuNlUws2mEm42lXCzqYSbTSXcbCrhZlMJN5tKuNlUws2mEm42lXCzqYSbTSXcbCrhZlMJN5tKuNlUws2mEm42lXCzqYSbTSXcbCrhZlMJN5tKuNlUws2mEm42lXCzqYSbTSXcbCrhZlMJN5tKuNlUws2mEm42lXCzqYSbTSXcbCrhZlMJN5tKuNlUsp5NNUqe5dsvyk8Zjzry/BP0X75Zf56B0Z+B059B0J9B0p9BsZ/BelrV7WcwsM/A9XkGMb8+g0l/BkJ/BuAz+YUzAJ/JL5wB+Ex+4QzAZ/ILZ4A9k3U+Ppwq4+szwJ7JL5xBYs/kV84Aeya/cgbYM/mVM8Ceya+cAfZMfuUMsGeyHuPnGfzzPPjCAlF/fHpq/DQ2hsvP88We4PefL/a8v/983/x28Fyn1qzzbn7Vc52xaJ25aB1ZtI4uWscWreOL1olF6yzSg1qjB3oci9a5Qw9K7blO6NfrzEXryKJ1btCDOUY85ty5W/x6HVu0ji9aJxatk4vWqTvW0eff9P7pXerL967I8fh0pNUv3qXG+er1uJcz7Ku9gQ5HOodnVQFZVUJWdcddOP1nVVW/evt/4b66IzH/hqoGZFUTsiqBrEohqzLIqhyyqoCsKiGrgtR2gdR2gdR2gdR2gdR2gdR2gdR2gdR2gdR2gdR2gdR2hdR2hdR2hdR2hdR2hdR2hdR2hdR2hdR2hdR2hdR2g9R2g9R2g9R2g9R2g9R2g9R2g9R2W67tWkf9+LSW/urTVs9/FeLH/HkO/4hBPc8hf4NzKP5z8OM3OIfxG5zD/A3OQX6Dc9Df4BzsNzgH/w3O4TeY0/4bzGn/DeZ0/AZzOn6DOR2/wZyO32BO35G9vO8cnlVBTd5nVVCz9FkV1HR8VgU1755VQU2wR1UJNZOeVUFNmWdVUHPjWRXUJHhWBantCantCantCantCantCantBantBantBantBantBantBantBantBantBanthajtdiBqux2I2m4HorbbgajtdiBqux2I2m4HorbbgajtdiBqux2Q2j4gtX1Aavu4Rdv18en5z7TJr6qSZ1xd/C9sla9JLOPJD84hfz2DL9PD/kxAD5fj56d/klhsyPLzfRYlLv90vs+aFLAmA6zJAWsKwJoSsKbCq+mexPfNNQ3AmiZgTYA6PgF1fALq+ATU8Qmo4xNQxyegjgugjgugjgugjgugjgugjgugjgugjgugjgugjgugjiugjiugjiugjiugjiugjiugjiugjiugjiugjiugjhugjhugjhugjhugjhugjhugjhugjhugjhugjhugjjugjjugjjugjjugjjugjjugjjugjjugjjugjjugjgegjgegjgegjgegjgegjgegjgegjgegjgegjgegjiegjiegjiegjiegjiegjiegjiegjiegjiegjiegjhegjhegjhegjhegjhegjhegjhegjhegjhegjheejvuBp+N+4Om4H3g67geejvuBp+N+4Om4H3g67geejvuBp+N+AOr4ANTxAajjA1DHAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHM6YJ7TAfOcDpjndMA8pwPmOR0wz+mAeU4HzHMGYJ4zAPOcAZjnDMA8Zxx4Oh6Aec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmOQMwzxmAec4AzHMGYJ4zAPOcAZjnDMA8ZwDmORMwz5mAec4EzHMmYJ4zDzwdT8A8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4zAfOcCZjnTMA8ZwLmORMwz5mAec4EzHMmYJ4z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Uyk3m0q52VTKzaZSbjaVcrOplJtNpdxsKuVmUyk3m0q52VTKzaZSbjaVcrOplJtNpdxsKuVmUyk3m0q52VTKzaZSbjaVcrOplJtNpdxsKuVmUyk3m0q52VTKzaZSbjaVcrOplJtNpdxsKuVmUyk3m0q52VTKzaZSbjaVcrOplJtNpdxsKuVmUyk3m0q52VTKzaZSbjaVcrOplJtNpdxsKuVmUyk3m0q52VTKzaZSbjaVcrOplJtNpdxsKuVmUyk3m0q52VTKzaZSbjaVcrOplJtNpdxsKuVmUxk3m8q42VTGzaYybjaVHdRT17jZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTGTebyrjZVMbNpjJuNpVxs6mMm01l3Gwq42ZTOTebyrnZVM7NpnJuNpUf1FPXudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlM5N5vKudlUzs2mcm42lXOzqZybTeXcbCrnZlMFN5squNlU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BPqcE+hzTqDPOYE+5wT6nBPoc06gzzmBPucE+pwT6HNOoM85gT7nBPqcE+hzTqDPOYE+5wT6nBPoc06gzzmBPucE+pwT6HNOoM85gT7nBPqcE+hzTqDPOYE+5wT6nBPoc06gzzmBPucE+pwT6HNOoM85gT7nBPqcE+hzTqDPOYE+5wT6nBPoc06gzzmBPucE+pwT6HNOoM85gT7nBPqcE+hzTqDPOYE+5wT6nBPoc06gzzmBPucE+pwT6HNOoM85gT7nBPqcE+hzTqDPOYE+5wT6nBPoc06gzzmBPucE+pwT6HNOoM85gT7nBPqcE+hzTqDPOYE+5wT6nBPoc06gzzmBPucE+pwT6HNOoM85gT7nBPqcE+hzTqDPOYE+5wT6nBPoc06gzzmBPucE+pwL6HMuoM+5gD7nAvqc68Wb4wvocy6gz7mAPucC+pwL6HMuoM+5gD7nAvqcC+hzLqDPuYA+5wL6nAvocy6gz7mAPucC+pwL6HMuoM+5gD7nAvqcC+hzLqDPuYA+5wL6nAvocy6gz7mAPucC+pwL6HMuoM+5gD7nAvqcC+hzLqDPuYA+5wL6nAvocy6gz7mAPucC+pwL6HMuoM+5gD7nAvqcC+hzLqDPuYA+5wL6nAvocy6gz7mAPucC+pwL6HMuoM+5gD7nAvqcC+hzLqDPuYA+5wL6nAvocy6gz7mAPucC+pwL6HMuoM+5gD7nAvqcC+hzLqDPuYA+5wL6nAvocy6gz7mAPucC+pwL6HMuoM+5gD7nAvqcC+hzLqDPuYA+5wL6nAvocy6gz7mAPucC+pwL6HMuoM+5gD7nAvqcC+hzLqDPuYA+5wb6nBvoc26gz7mBPud+8eb4BvqcG+hzbqDPuYE+5wb6nBvoc26gz7mBPucG+pwb6HNuoM+5gT7nBvqcG+hzbqDPuYE+5wb6nBvoc26gz7mBPucG+pwb6HNuoM+5gT7nBvqcG+hzbqDPuYE+5wb6nBvoc26gz7mBPucG+pwb6HNuoM+5gT7nBvqcG+hzbqDPuYE+5wb6nBvoc26gz7mBPucG+pwb6HNuoM+5gT7nBvqcG+hzbqDPuYE+5wb6nBvoc26gz7mBPucG+pwb6HNuoM+5gT7nBvqcG+hzbqDPuYE+5wb6nBvoc26gz7mBPucG+pwb6HNuoM+5gT7nBvqcG+hzbqDPuYE+5wb6nBvoc26g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y73rtty7ruXedS33rmu5d13Lvev61OfcW37uXddy77qWe9e13Luu5d51e+5dt+fedXvuXbfn3nV9io3uLT/3rttz77o9967bc++6PfeuO3LvuiP3rjty77oj967rUzl1b/m5d93c3VQzdzfVzN1NNXN3U83c3VQzdzfVzN1NNXN3U83c3VQzdzfVzN1NNXN3U83c3VQzdzfVzN1NNXN3U83c3VQzdzfVzN1NNXN3U83c3VQzdzfVzN1NNXN3U83c3VQzdzfVzN1NNXN3U83c3VQzdzfVzN1NNXN3U83c3VQzdzfVyt1NtXJ3U63c3VQrdzfVeqXedVfubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6mWrm7qVbubqqVu5tq5e6m2rm7qXbubqqdu5tq5+6m2q/Uu+7O3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dzdVDt3N9XO3U21c3dT7dTdVOOVupvqWX7mXfdZfuZd91l+5l33WX7mXfdZfuZd91l+5l33WX7mXfdZfuZd91l+7l03dTfVs/zcu27qbqpn+bl33dTdVM/yc++6qbupnuXn3nVTd1M9y8+966bupnqWn3vXTd1N9Sw/966bupvqWX7uXTd1N9Wz/Ny7bupuqmf5uXfd1N1Uz/Jz77qpu6me5efedVN3Uz3Lz73rpu6mepafe9dN3U31LD/3rpu6m+pZfu5dN3U31bP83Ltu6m6qZ/m5d93U3VTP8nPvuqm7qZ7l5951U3dTPcvPveum7qZ6lp97103dTfUsP/eum7qb6ll+7l03dTfVs/zcu27qbqpn+bl33dTdVM/yc++6qbupnuXn3nVTd1M9y8+966bupnqWn3vXTd1N9Sw/966bupvqWX7uXTd1N9Wz/Ny7bupuqmf5uXfd1N1Uz/Jz77qpu6me5efedVN3Uz3Lz73rpu6mepafe9dN3U31LD/3rpu6m+pZfu5dN3U31bP83Ltu6m6qZ/m5d93U3VTP8nPvuqm7qZ7l5951U3dTPctPveuW3N1UJXc3VcndTVVyd1OVV+pdt+Tupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qkrubquTupiq5u6lK7m6qmrubqubupqq5u6lq7m6q+kq969bc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1NVXN3U9Xc3VQ1dzdVzd1N1XJ3U7Xc3VQtdzdVy91N1V6pd92Wu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qVrubqqWu5uq5e6marm7qSx3N5Xl7qay3N1Ulrubyl6pd13L3U1lubupLHc3leXuprLc3VSWu5vKcndTWe5uKsvdTWW5u6ksdzeV5e6mstzdVJa7m8pyd1NZ7m4qy91NZbm7qSx3N5Xl7qay3N1UlrubynJ3U1nubirL3U1lubupLHc3leXuprLc3VSWu5vKcndTWe5uKsvdTWW5u6ksdzeV5e6mstzdVJa7m8pyd1NZ7m4qy91NZbm7qSx3N5Xl7qay3N1UlrubynJ3U1nubirL3U1lubupLHc3leXuprLc3VSWu5vKcndTWe5uKsvdTWW5u6ksdzeV5e6mstzdVJa7m8pyd1NZ7m4qy91NZbm7qSx3N5Xl7qay3N1UlrubynJ3U1nubirL3U1lubupLHc3leXuprLc3VSWu5vKcndTWe5uKsvdTWW5u6ksdzeV5e6mstzdVJa7m8pyd1NZ7m4qy91NZbm7qSx3N5Xl7qay3N1UlrubynJ3U/Xc3VQ9dzdVz91N1XN3U/VX6l235+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqeu5uq5+6m6rm7qXrubqqRu5tq5O6mGrm7qUbubqrxSr3rjtzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3N9XI3U01cndTjdzdVCN3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n3MCfc4J9DnnizfHJ9DnnECfcwJ9zgn0OSfQ55xAn3MCfc4J9Dkn0OecQJ9zAn3OCfQ5J9DnnECfcwJ9zgn0OSfQ55xAn3MCfc4J9Dkn0OecQJ9zAn3OCfQ5J9DnnECfcwJ9zgn0OSfQ55xAn3MCfc4J9Dkn0OecQJ9zAn3OCfQ5J9DnnECfcwJ9zgn0OSfQ55xAn3MCfc4J9Dkn0OecQJ9zAn3OCfQ5J9DnnECfcwJ9zgn0OSfQ55xAn3MCfc4J9Dkn0OecQJ9zAn3OCfQ5J9DnnECfcwJ9zgn0OSfQ55xAn3MCfc4J9Dkn0OecQJ9zAn3OCfQ5J9DnnECfcwJ9zgn0OSfQ55xAn3MCfc4J9Dkn0OecQJ9zAn3OCfQ5J9DnnECfcwJ9zgn0OSfQ55xAn3MCfc4J9Dkn0OecQJ9zAn3OBfQ5F9DnXECfcwF9zvXizfEF9DkX0OdcQJ9zAX3OBfQ5F9DnXECfcwF9zgX0ORfQ51xAn3MBfc4F9DkX0OdcQJ9zAX3OBfQ5F9DnXECfcwF9zgX0ORfQ51xAn3MBfc4F9DkX0OdcQJ9zAX3OBfQ5F9DnXECfcwF9zgX0ORfQ51xAn3MBfc4F9DkX0OdcQJ9zAX3OBfQ5F9DnXECfcwF9zgX0ORfQ51xAn3MBfc4F9DkX0OdcQJ9zAX3OBfQ5F9DnXECfcwF9zgX0ORfQ51xAn3MBfc4F9DkX0OdcQJ9zAX3OBfQ5F9DnXECfcwF9zgX0ORfQ51xAn3MBfc4F9DkX0OdcQJ9zAX3OBfQ5F9DnXECfcwF9zgX0ORfQ51xAn3MBfc4F9DkX0OdcQJ9zAX3OBfQ5F9DnXECfcwF9zgX0ORfQ51xAn3MDfc4N9Dk30OfcQJ9zv3hzfAN9zg30OTfQ59xAn3MDfc4N9Dk30OfcQJ9zA33ODfQ5N9Dn3ECfcwN9zg30OTfQ59xAn3MDfc4N9Dk30OfcQJ9zA33ODfQ5N9Dn3ECfcwN9zg30OTfQ59xAn3MDfc4N9Dk30OfcQJ9zA33ODfQ5N9Dn3ECfcwN9zg30OTfQ59xAn3MDfc4N9Dk30OfcQJ9zA33ODfQ5N9Dn3ECfcwN9zg30OTfQ59xAn3MDfc4N9Dk30OfcQJ9zA33ODfQ5N9Dn3ECfcwN9zg30OTfQ59xAn3MDfc4N9Dk30OfcQJ9zA33ODfQ5N9Dn3ECfcwN9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" }, { "name": "rotate_nullifier_public_key", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "address": [{ "end": 41, "start": 40 }], "inputs": [{ "end": 40, "start": 0 }], "new_nullifier_public_key": [{ "end": 43, "start": 41 }], "nonce": [{ "end": 44, "start": 43 }] }, "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" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header" } }, { "name": "public_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": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "gas_left", "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": "transaction_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "aztec::context::inputs::public_context_inputs::PublicContextInputs" }, "visibility": "private" }, { "name": "address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "new_nullifier_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" }, "visibility": "private" }, { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" }], "return_type": { "abi_type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "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": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "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_non_existent_read_requests", "type": { "kind": "array", "length": 2, "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": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest" } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "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": "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" } }], "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": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "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" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header" } }, { "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": "prover_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "revert_code", "type": { "kind": "integer", "sign": "unsigned", "width": 8 } }, { "name": "start_gas_left", "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": "end_gas_left", "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": "transaction_fee", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs" }, "visibility": "public" }, "return_witnesses": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271] }, "bytecode": "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", "debug_symbols": "3P3RjmxLsl2J/ct9JoRwM3dzc/6KIAiUmi0QaJCCSD0R/Pdeu3Ey9ykwixkWlWF7zPXUtxuZucw7Yk3bNcvHqP/+b//bf/x//f//P//P//Sf//f/8l//7d//3//7v/0f/+X//R/+23/6L//5+n/77//2+L+Zx//1//m//n//w3/+9f/lv/63//D/+2//9u8f/+7f/uN//t+u/+f/+Hf/9r//p//jP/7bv7ez/sf/49/9X7+xy7+R5d841d+Yj/JvjPJvWPk3vPwb8/nf+Hf/08+Nx4i/fnQ8fHz+9Fj28ffXm/9+vPnv7zf//Xzz3z/v/fvr8ea/P9789+3Nf9/f/Pff/P6uN7+/683v73rz+xv/0vffM8dfP3r9n/b77/vj4++PN//9f+n742d8/v0z/au/v9789+PNf3+/+e/nm//+ee/f3483//3x5r9vb/77/ua//+b3d/9r7++O+fH39/kqf3a8+e/vN//9fPPfP+/9+/l4898fb/779ua/72/++/PNf//N72+e9/775Lz531fnzfl83pzP583/vjpv/vfVefO/r86b/3113vvvK3883vz3x5v/vr357/ub//6/9P5e/zz46yevRf75s/Pjb683/u14499+77+p/JFv/vvv/TeVj8eb//5489+3N/99f/Pfn2/+++vNfz/e/Pff/P6ON7+/483vr735/bU3v7/25vfX3vz+2pvfX3vz+2tvfn/tze+vvfn9tTe/v/7m99ff/P76m99ff/P7629+f/3N76+/+f31N7+//ub319/8/s43v7/zze/vfPP7O9/8/v5rd0J85cd/ePQYj3/4+//zT8/rv1f966fnGPnVNAs1TXZOs87HNPb1NIc0zb92F+THpxmoaQw1jaOm6cwbW/NzmrW+mmahpgnUNBs1TaKmOaRp4oGaZqCmMdQ0jpoGlcWByuJAZXGgsjhQWRyoLN6oLN6oLN6oLN6oLN6oLN6oLN6oLN6oLN6oLN6oLE5UFicqixOVxYnK4kRlcaKyOFFZnKgsTlQWJyqLDyqLDyqLDyqLDyqLDyqLDyqLDyqLDyqLDyqLDymL54OUxfNByuL5IGXxfJCyeD5IWTwfpCyeD1IWzwcpi+eDlMXzgcrigcrigcrigcrigcrigcrigcrigcrigcrigcrigcpiQ2WxobLYUFlsqCw2VBYbKosNlcWGymJD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P+ufftY//VP/9E/90z/1T//UP/1T//RP/dM/9U//1D/9U//0T/nTH49H/VdG/Ves/ite/5VZ/5VV/5Wo/8qu/0rWf6X+6Y/6pz/qn/6of/qj/umP+qc/6p/+qH/6o/7pj/qnP+qfvtU/fat/+lb/9K3+6Vv907f6p2/1T9/qn77VP32rf/pe//S9/ul7/dP3+qfv9U/f65++1z99r3/6Xv/0vf7pz/qnP+uf/qx/+rP+6c/6pz/rn/6sf/qz/unP+qc/65/+qn/6q/7pr/qnv+qf/qp/+qv+6a/6p7/qn/6qf/qr/ulH/dOP+qcf9U8/6p9+1D/9qH/6Uf/0o/7pR/3Tj/qnX+/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka967N612f1rs/qXZ/Vuz6rd31W7/qs3vVZveuzetdn9a7P6l2f1bs+q3d9Vu/6rN71Wb3rs3rXZ/Wuz+pdn9W7Pqt3fVbv+qze9Vm967N612f1rs/qXZ/Vuz6rd31W7/qs3vVZveuzetdn9a7P6l2f1bs+q3d9Vu/6rN71Wb3rs3rXZ/Wuz+pdn9W7Pqt3fVbv+qze9Vm967N612f1rs/qXZ/Vuz6rd31W7/qs3vVZveuzetdn9a7P6l2f1bs+q3d9Vu/6rN71Wb3rs3rXZ/Wuz+pdn9W7Pqt3fVbv+qze9Vm967N612f1rs/qXZ/Vuz6rd31W7/qs3vVZveuzetdn9a7P6l2f1bs+q3d9Vu/6rN71Wb3rs3rXZ/Wuz+pdn9W7Pqt3fVbv+qze9Vm967N612f1rs/qXZ/Vuz6vd31e7/q83vV5vevzetfn9a7P612f17s+r3d9Xu/6vN71eb3r83rX5/Wuz+tdn9e7Pq93fV7v+rze9Xm96/N61+f1rs/rXZ/Xuz6vd31e7/q83vV5vevzetfn9a7P612f17s+r3d9Xu/6vN71eb3r83rX5/Wuz+tdn9e7Pq93fV7v+rze9Xm96/N61+f1rs/rXZ/Xuz6vd31e7/q83vV5vevzetfn9a7P612f17s+r3d9Xu/6vN71eb3r83rX5/Wuz+tdn9e7Pq93fV7v+rze9Xm96/N61+f1rs/rXZ/Xuz6vd31e7/q83vV5vevzetfn9a7P612f17s+r3d9Xu/6vN71eb3r83rX5/Wuz+tdn9e7Pq93fV7v+rze9Xm96/N61+f1rs/rXZ/Xuz6vd31e7/q83vV5veub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rW/Wub9W7vlXv+la961v1rm/Vu75V7/pWvetb9a5v1bu+Ve/6Vr3rW/Wub9W7vlXv+la961v1rm/Vu75V7/pWvetb9a5v1bu+Ve/6Vr3rW/Wub9W7vlXv+la961v1rm/Vu75V7/pWvetb9a5v1bu+Ve/6Vr3rW/Wub9W7vlXv+la961v1rm/Vu75V7/pWvetb9a5v1bu+Ve/6Vr3rW/Wub9W7vlXv+la961v1rm/Vu75V7/pWvetb9a5v1bu+Ve/6Vr3rW/Wub9W7vlXv+la961v1rm/Vu75V7/pWvetb9a5v1bu+Ve/6Vr3rW/Wub9W7vlXv+la961v1rm/Vu75V7/pWvetb9a5v1bu+Ve/6Vr3rW/Wub9W7vlXv+la961v1rm/Vu75V7/pWvetb9a5v1bu+Ve/6Vr3rW/Wub9W7vlXv+la964t61xf1ri/qXV/Uu76od31R7/qi3vVFveuLetcX9a4v6l1f1Lu+qHd9Ue/6ot71Rb3ri3rXF/WuL+pdX9S7vqh3fVHv+qLe9UW964t61xf1ri/qXV/Uu76od31R7/qi3vVFveuLetcX9a4v6l1f1Lu+qHd9Ue/6ot71Rb3ri3rXF/WuL+pdX9S7vqh3fVHv+qLe9UW964t61xf1ri/qXV/Uu76od31R7/qi3vVFveuLetcX9a4v6l1f1Lu+qHd9Ue/6ot71Rb3ri3rXF/WuL+pdX9S7vqh3fVHv+qLe9UW964t61xf1ri/qXV/Uu76od31R7/qi3vVFveuLetcX9a4v6l1f1Lu+qHd9Ue/6ot71Rb3ri3rXF/WuL+pdX9S7vqh3fVHv+qLe9UW964t61xf1ri/qXV/Uu75d7/p2vevb9a5v17u+Xe/6dr3r2/Wub9e7vl3v+na969v1rm/Xu75d7/p2vevb9a5v17u+Xe/6dr3r2/Wub9e7vl3v+na969v1rm/Xu75d7/p2vevb9a5v17u+Xe/6dr3r2/Wub9e7vl3v+na969v1rm/Xu75d7/p2vevb9a5v17u+Xe/6dr3r2/Wub9e7vl3v+na969v1rm/Xu75d7/p2vevb9a5v17u+Xe/6dr3r2/Wub9e7vl3v+na969v1rm/Xu75d7/p2vevb9a5v17u+Xe/6dr3r2/Wub9e7vl3v+na969v1rm/Xu75d7/p2vevb9a5v17u+Xe/6dr3r2/Wub9e7vl3v+na969v1rm/Xu75d7/p2vevb9a5v17u+Xe/6dr3r2/Wub9e7vl3v+na969v1rm/Xu75d7/p2vevb9a5v17u+rHd9We/6st71Zb3ry3rXl/WuL+tdX9a7vqx3fVnv+rLe9WW968t615f1ri/rXV/Wu76sd31Z7/qy3vVlvevLeteX9a4v611f1ru+rHd9We/6st71Zb3ry3rXl/WuL+tdX9a7vqx3fVnv+rLe9WW968t615f1ri/rXV/Wu76sd31Z7/qy3vVlvevLeteX9a4v611f1ru+rHd9We/6st71Zb3ry3rXl/WuL+tdX9a7vqx3fVnv+rLe9WW968t615f1ri/rXV/Wu76sd31Z7/qy3vVlvevLeteX9a4v611f1ru+rHd9We/6st71Zb3ry3rXl/WuL+tdX9a7vqx3fVnv+rLe9WW968t615f1ri/rXV/Wu76sd31Z7/qy3vVlvevLeteX9a4v611f1ru+rHd9We/6st71Zb3rO/Wu79S7vlPv+k696zv1ru/Uu75T7/pOves79a7v1Lu+U+/6Tr3rO/Wu79S7vlPv+k696zv1ru/Uu75T7/pOves79a7v1Lu+U+/6Tr3rO/Wu79S7vlPv+k696zv1ru/Uu75T7/pOves79a7v1Lu+U+/6Tr3rO/Wu79S7vlPv+k696zv1ru/Uu75T7/pOves79a7v1Lu+U+/6Tr3rO/Wu79S7vlPv+k696zv1ru/Uu75T7/pOves79a7v1Lu+U+/6Tr3rO/Wu79S7vlPv+k696zv1ru/Uu75T7/pOves79a7v1Lu+U+/6Tr3rO/Wu79S7vlPv+k696zv1ru/Uu75T7/pOves79a7v1Lu+U+/6Tr3rO/Wu79S7vlPv+k696zv1ru/Uu75T7/pOves79a7v1Lu+U+/6Tr3rO/Wu79S7vlPv+k656/NHueu7fmXUf8Xqv+L1X5n1X1n1X4n6r+z6r2T9V+qf/qh/+qP+6Y/6pz/qn/6of/qj/umP+qc/6p/+qH/6o/7pW/3Tt/qnb/VP3+qfvtU/fat/+lb/9K3+6Vv907f6p+/1T9/rn77XP32vf/pe//S9/ul7/dP3+qfv9U/f65/+rH/6s/7pz/qnP+uf/qx/+rP+6c/6pz/rn/6sf/qz/umv+qe/6p/+qn/6q/7pr/qnv+qf/qp/+qv+6a/6p7/qn37UP/2of/pR//Sj/ulH/dOP+qcf9U8/6p9+1D/9qH/6u/7p7/qnv+uf/q5/+rv+6e/6p7/rn/6uf/q7/unv+qef9U8/659+1j/9rH/6Wf/0s/7pZ/3Tz/qnn/VPP+uf/ql/+qf+6Z/6p3/qn/6pf/qn/umf+qd/6p/+qX/69a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wub9S7vlHv+ka96xv1rm/Uu75R7/pGvesb9a5v1Lu+Ue/6Rr3rG/Wuz+pdn9W7Pqt3fVbv+qze9Vm967N612f1rs/qXZ/Vuz6rd31W7/qs3vVZveuzetdn9a7P6l2f1bs+q3d9Vu/6rN71Wb3rs3rXZ/Wuz+pdn9W7Pqt3fVbv+qze9Vm967N612f1rs/qXZ/Vuz6rd31W7/qs3vVZveuzetdn9a7P6l2f1bs+q3d9Vu/6rN71Wb3rs3rXZ/Wuz+pdn9W7Pqt3fVbv+qze9Vm967N612f1rs/qXZ/Vuz6rd31W7/qs3vVZveuzetdn9a7P6l2f1bs+q3d9Vu/6rN71Wb3rs3rXZ/Wuz+pdn9W7Pqt3fVbv+qze9Vm967N612f1rs/qXZ/Vuz6rd31W7/qs3vVZveuzetdn9a7P6l2f1bs+q3d9Vu/6rN71Wb3rs3rXZ/Wuz+pdn9W7Pqt3fVbv+rze9Xm96/N61+f1rs/rXZ/Xuz6vd31e7/q83vV5vevzetfn9a7P612f17s+r3d9Xu/6vN71eb3r83rX5/Wuz+tdn9e7Pq93fV7v+rze9Xm96/N61+f1rs/rXZ/Xuz6vd31e7/q83vV5vevzetfn9a7P612f17s+r3d9Xu/6vN71eb3r83rX5/Wuz+tdn9e7Pq93fV7v+rze9Xm96/N61+f1rs/rXZ/Xuz6vd31e7/q83vV5vevzetfn9a7P612f17s+r3d9Xu/6vN71eb3r83rX5/Wuz+tdn9e7Pq93fV7v+rze9Xm96/N61+f1rs/rXZ/Xuz6vd31e7/q83vV5vevzetfn9a7P612f17s+r3d9Xu/6vN71eb3r83rX5/Wuz+tdn9e7Pq93fV7v+rze9Xm96/N61+f1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub9a5v1ru+We/6Zr3rm/Wub9a7vlnv+ma965v1rm/Wu75Z7/pmveub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KzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stNpKzudtrLTaSs7nbay02krO522stMplZ1Oqex0SmWnUyo7nfIhvGFT2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKZWdTqnsdEplp1MqO51S2emUyk6nVHY6pbLTKSlOp7/GoViaPsaBbMGPcSB77WMcyKb6GAeyez7GgWyTj3Eg++FjHEjif4wDyfCPcVCpfChmn49xUKl8KPadj3FQqXweqFQ+FOfNxzioVD4UL83HOKhUPhR3zF/jUGwwH+OwUplibPkYh5XKFKvKxzisVKaYTz7GYaUyxU7yMQ4rlSkGkY9xWKlMsXx8jMNKZYqJ42McVipTbBkf47w5lT8ekz2POS2Pebf94eMxo+cx1vMY73nM7HnM6nlM9DymJwW8JwW8JwVmTwrMnhSYPSkwe1Jg9qTA7EmB2ZMCsycFZk8KzJ4UWD0psHpSYPWkwOpJgdWTAqsnBVZPCqyeFFg9KbB6UiB6UiB6UiB6UiB6UiB6UqDOjn38Yrz6i/vVX8xXf/G8+It1TufjF8erv2iv/qK/+ovz1V989ZuzX/3m7Fe/OfvVb85+9ZuTr35z8tVvTr76zclXvzn56jcnX/3m5KvfnHz1m5OvfnPy1W/O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jS+8cn+NL7xzf40vvHR/ja+9dZUVUr/G1966yhKpX+Nrb11ljdSv8bW3rrJI6tf42ltXWSX1a3ztrassk/o1vvbWVdZJ/Rpfe+sqC6V+ja+9dZWVUr/G1966ylKpX+Nrb11lrdSv8bW3rrJY6tf42ltXWS31a3ztrassl/o1vvbWVdZL/Rpfe+sqC6Z+ja+9dZUVU7/G1966ypKpX+Nrb11lzdSv8bW3rrJo6tf42ltXWTX1a3ztrassm/o1vvbWVdZN/Rpfe+sqC6d+ja+9dZWVU7/G1966ytKpX+Nrb11l7dSv8bW3rrJ46tf42ltXWT31a3ztrassn/o1vvbWVdZP/Rpfe+sqC6h+ja+9dZUVVL/G1966yhKqX+Nrb11lDdWv8bW3rrKI6tf42ltXWUX1a3ztrasso/o1vvbWVdZR/Rpfe+sqC6l+ja+9dZWVVL/G1966ylKqX+Nrb11lLdWv8bW3rrKY6tf42ltXWU31a3zprTu03VRD2001tN1UQ9tNNR7SW3dou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qYa2m2pou6mGtptqaLuphrabami7qUzbTWXabirTdlOZtpvKHtJb17TdVKbtpjJtN5Vpu6lM201l2m4q03ZTmbabyrTdVKbtpjJtN5Vpu6lM201l2m4q03ZTWb+b6uolP8df34yfPuKvH063vx12zN8nGPInMPkTuPwJpvwJlvwJQv4Em32CmJ8n2Pb1CVL+BEf9BA7fyU+cAL6TnzgBfCc/cQL4Tn7iBOydPO3jh3P6+PoE7J38zAnYO/mZE7B38jMnYO/k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IbN9IbN9IbN9IbM9kNkeyGwPZLYHMtsDme2BzPZAZnsgsz2Q2R7IbN/IbN/IbN/IbN/IbN/IbN/IbN/IbN/IbN/IbN/IbE9kticy2xOZ7YnM9kRmeyKzPZHZnshsT2S2JzLbDzLbDzLbDzLbDzLbDzLbDzLbDzLbDzLbDzLbWZT2X1MFi7v+nIqY7cFioz+nImZ7PIjZHiwi+XMqYrYHixr+nIqY7cEiez+mYrG6n1Mhs53F035Ohcx2FvP6ORUy25FcaiC51EByqYHkUgPJpQaSSw0klxpILjWQXGogudRAcqmB5FIDyaUGkksNJJcaSC41kFxqILnUQHKpgeRSA8mlBpJLDSSXGkguNZBcaiC51EByqYHkUgPJpQaSSw0klxpILjWQXGr8DJca9nuq9c1U9siPP+1/O4HZFz/r++MPz/H7f0X57M/xfwZg/XPjD+3xTXt81x5/ao+/tMcP7fG39vipPb721g3trRvaWze0t25ob92fwZ//3PjaWze0t25ob93Q3rqhvXW39tbd2lt3a2/drb11fwZM/3Pja2/drb11t/bW3dpbd2tv3dTeuqm9dVN766b21v0ZZcCfG19766b21k3trZvaWze1t+7R3rpHe+se7a17tLfuz8gc/tz42lv3aG/do711j/bWPdJbdz+kt+5+SG/d/ZDeuvshvXX3Q3rr7of01t0P6a27H9Jbdz+kt+5+aG/dob11h/bWHdpbd2hv3Z8RoPy58bW37tDeukN76w7trTu0t65pb13T3rqmvXVNe+v+jJrmz42vvXVNe+ua9tY17a1r2lvXtbeua29d1966rr11f0Ya9OfG1966rr11XXvruvbWde2tO7W37tTeulN7607trfszOqc/N7721p3aW3dqb92pvXW13VRb2021td1UW9tNtbXdVFvbTbW13VRb2021td1UW9tNtbXdVFvbTbW13VRb2021td1UW9tNtbXdVFvbTbW13VRb2021td1UW9tNtbXdVFvbTbW13VRb2021td1UW9tNtbXdVFvbTbW13VRb2021td1UW9tNtbXdVFvbTbW13VRb2021td1UW9tNtbXdVFvbTbW13VRb2021td1UW9tNtbXdVFvbTbW13VRb2021td1Uqe2mSm03VWq7qVLbTZUP6a2b2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6lS202V2m6q1HZTpbabKrXdVKntpkptN1Vqu6mOtpvqaLupjrab6mi7qc5DeusebTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1tN9XRdlMdbTfV0XZTHW031dF2Ux1pN5U9pN1U1/jKW/caX3nrXuMrb91rfOWte42vvHWv8ZW37jW+8ta9xlfeutf42ltX2k11ja+9daXdVNf42ltX2k11ja+9daXdVNf42ltX2k11ja+9daXdVL9m0x5fe+tKu6mu2bS3rrSb6ppNe+tKu6mu2bS3rrSbyh7SbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2musbX3rrSbqprfO2tK+2muv6U9taVdlNdf0p760q7qa4/pb11pd1U15/S3rrSbqrrT2lvXWk31TW+9taVdlNd42tvXWk31TW+9taVdlNd42tvXWk31TW+9NYd2m6qoe2mGtpuqqHtphoP6a07tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VRD2001tN1UQ9tNNbTdVEPbTTW03VSm7aYybTeVabupTNtNZQ/prWvabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qUzbTWXabirTdlOZtpvKtN1Upu2mMm03lWm7qVzbTeXabirXdlO5tpvKH9Jb17XdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTubabyrXdVK7tpnJtN5Vru6lc203l2m4q13ZTTW031dR2U01tN9XUdlPNh/TWndpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qpe2mWtpuqqXtplrabqr1kN66S9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTdVEvbTbW03VRL2021tN1US9tNtbTd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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/+2byW7bMBCGJa9yVC+SZXlf4uTSm+w6tnPzy7Rv3XuBvkPRjMKpx8QkoNARIQImYGhMUfy/+blECRjfey/tt4+v4qZ2pQXbXNQ1+7+yE+wrK5PTd4Sz5ghnXZDTZzjh2lAxXGEut7zbef6vXAQnCRWlUDAwdVL3EdzNQ1BaKgg04IsE9CE7twgNhYYSKnB6MySJ+KQOn62ROtxB6o1rDi35HA4BMU+s37cBDb2r7y3iCcZ4D7RnpK5RUo5N+RzL8i5flehPU/XbJt/Rq46KBXfYHdX21adDND01RhhPSVtsh37UyBhD6XrX8e988lxDe65H2rSY/C+ebP5tjaetMTcVE5QIeLU9oKSxyaDfB/l+b8a8oY3JA8mpK+73/gx7QujdFv2nzIXEXcLzRZwn25WT5/vY9Qi7TL8vB/Cqr3kVal71SBvK0C/BP5/oYt/4vc9oy3lxPIP2wMCLAcMzsOzFgNEW9OIVtCMDLyKGJ7LsRcRoy3lx+gbasYEXMcMTW/YiZrTlvNjn7xZDAy+GDM/QshdDRltwjeTzIjHwImF4EsteJIy2oBc/QHtk4MWI4RlZ9mLEaAt68R20UwMvUoYntexFymgL7p35+8XYwIsxwzO27MWY0Rb0Yg/aEwMvJgzPxLIXE0ZbcI3k2lMDL6YMz9SyF/R31CLMQweZUweZ4wowB1oso33M98+ZgRczhmdm2QvUK8qcVIA50GIZ7eMLaM8NvJgzPHPLXqBeUebIQebYQeaRg8yJg8ypg8xVmM+BFston/I9dGHgxYLhWVj2AvWKMkcOMs8cZI4rwBxosYz2Kf/b3NLAiyXDs7TsBeoVZR47yDyoAHOgxTLapyNorwy8WDE8K8teoF5R5omDzKmDzDMHmWMHmUcOMicOMt/XoB3mqALM9EzT71J59q+hxoOeeRqjpzGGJKbnYNbijFlGx2dNtDbyWjtuvuD3Tana+zP0u5XPKX+Xf1J94Rm+LZPTs4qlz3M9kX59ooP1DRL/Im2xHfqB6xbZYd49qvj5k+dW2nM90uaRyf/iyea/1Xi2GjOMyU/CsRHn2J9N5vXAu67lr4SnhH3wQM/kYjHZd0raY3Yl5ZnRM3x/PNk1vdG8CjSveqQN3aM3JfhnMr/uzHfmj5jp+0RA6vD+mtTVtFzo/zJgezgz/BdsuDj5FjUAAA==", "debug_symbols": "ndpBattQGIXRvWgciu8vvScpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/3l7ftse7y/Ol+37ZXgcKw/D7vhyf+qfD8Pr/rAbHmttn98e7qNZRouMVhiNGxlFRiWjUUaTjJqMpIhRihiliFGKmKSISYqYpIhJipikiEmKmKSISYqYpIhJimhSRJMimhTRpIgmRTQpokkRTYpoUkSTIroU0aWILkV0KaJLEV2K6FJElyK6FNGliFmKmKWIWYqYpYhZipiliFmKmKWIWYqYpYhFilikiEWKWKSIRYpYpIhFilikiEWKWKSIVYpYpYhVililiFWKWKWIVYpYpYhVililiGw2tAqtilYjrSZaNVp1Ws20WmhFbYTaCLURaiPURqiNUBuhNkJthNoItVHURlEbRW0UtVHURlEbxJkhzwyBZkg0Q6QZMs0QaoZUM8SaIdcMwWZINkO0GbLNEG6GdDPEmyHfDAFnSDhDxBkyzhByhpQzxJwh5wxBZ0g6Q9QZss4Qdoa0M8SdIe8MgWdIPEPkGTLPEHqG1DPEniH3DMFnSD5D9BmyzxB+hvQzxJ8h/wwBaEhAQwQaMtAQgoYUNMSgIQcNQWhIQkMUGrLQEIaGNDTEoSEPDYFoSERDJBoy0RCKhlQ0xKIhFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLbvmafc87aInuWiRixa5aJGLFrlo/beL3k4/t+/77dNhd7/Ze//4cXz+d9H3drz8evv75fbvbw==" }], "outputs": { "globals": { "storage": [{ "fields": [{ "name": "npk_m_x_registry", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "1" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }], "kind": "struct" } }, { "name": "npk_m_y_registry", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "2" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }], "kind": "struct" } }, { "name": "ivpk_m_x_registry", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "3" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }], "kind": "struct" } }, { "name": "ivpk_m_y_registry", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "4" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }], "kind": "struct" } }, { "name": "ovpk_m_x_registry", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "5" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }], "kind": "struct" } }, { "name": "ovpk_m_y_registry", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "6" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }], "kind": "struct" } }, { "name": "tpk_m_x_registry", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "7" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }], "kind": "struct" } }, { "name": "tpk_m_y_registry", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "8" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>" } }], "kind": "struct" } }], "kind": "struct" }] }, "structs": { "functions": [{ "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "new_nullifier_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "nonce", "type": { "kind": "field" } }], "kind": "struct", "path": "KeyRegistry::rotate_nullifier_public_key_parameters" } }], "kind": "struct", "path": "KeyRegistry::rotate_nullifier_public_key_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "partial_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::partial_address::PartialAddress" } }, { "name": "nullifier_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "incoming_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "outgoing_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "name": "tagging_public_key", "type": { "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }], "kind": "struct", "path": "KeyRegistry::register_parameters" } }], "kind": "struct", "path": "KeyRegistry::register_abi" }] } }, "file_map": { "104": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr", "source": "use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress};\n// TODO(6052): get new side effect counter from this call\n#[oracle(callPublicFunction)]\nfn call_public_function_oracle<RETURNS_COUNT>(\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; RETURNS_COUNT] {}\n\nunconstrained pub fn call_public_function_internal<RETURNS_COUNT>(\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; RETURNS_COUNT] {\n call_public_function_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" }, "111": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr", "source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::protocol_types::{hash::pedersen_hash, traits::ToField};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T> Storage<T> for Map<K, T> {}\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = derive_storage_slot_in_map(self.storage_slot, key);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n" }, "114": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_value_change.nr", "source": "use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\n\n// This data structure is used by SharedMutable to represent a value that changes from `pre` to `post` at some block \n// called the `block_of_change`. The value can only be made to change by scheduling a change event at some future block\n// of change after some minimum delay measured in blocks has elapsed. This means that at any given block number we know \n// both the current value and the smallest block number at which the value might change - this is called the \n// 'block horizon'.\nstruct ScheduledValueChange<T> {\n pre: T,\n post: T,\n block_of_change: u32,\n}\n\nimpl<T> ScheduledValueChange<T> {\n pub fn new(pre: T, post: T, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the value stored in the data structure at a given block. This function can be called both in public \n /// (where `block_number` is simply the current block number, i.e. the number of the block in which the current \n /// transaction will be included) and in private (where `block_number` is the historical block number that is used \n /// to construct the proof).\n /// Reading in private is only safe if the transaction's `max_block_number` property is set to a value lower or \n /// equal to the block horizon (see `get_block_horizon()`).\n pub fn get_current_at(self, block_number: u32) -> T {\n // The post value becomes the current one at the block of change. This means different things in each realm:\n // - in public, any transaction that is included in the block of change will use the post value\n // - in private, any transaction that includes the block of change as part of the historical state will use the\n // post value (barring any follow-up changes)\n\n if block_number < self.block_of_change {\n self.pre\n } else {\n self.post\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change value and the block at which it will become the current \n /// value. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (T, u32) {\n (self.post, self.block_of_change)\n }\n\n /// Returns the largest block number at which the value returned by `get_current_at` is known to remain the current\n /// value. This value is only meaningful in private when constructing a proof at some `historical_block_number`, \n /// since due to its asynchronous nature private execution cannot know about any later scheduled changes.\n /// The caller of this function must know how quickly the value can change due to a scheduled change in the form of \n /// `minimum_delay`. If the delay itself is immutable, then this is just its duration.\n /// The value returned by `get_current_at` in private when called with a historical block number is only safe to use\n /// if the transaction's `max_block_number` property is set to a value lower or equal to the block horizon computed\n /// using the same historical block number.\n pub fn get_block_horizon(self, historical_block_number: u32, minimum_delay: u32) -> u32 {\n // The block horizon is the very last block in which the current value is known. Any block past the horizon \n // (i.e. with a block number larger than the block horizon) may have a different current value. Reading the\n // current value in private typically requires constraining the maximum valid block number to be equal to the\n // block horizon.\n\n if historical_block_number >= self.block_of_change {\n // Once the block of change has been mined, the current value (post) will not change unless a new value\n // change is scheduled. This did not happen at the historical block number (or else it would not be\n // greater or equal to the block of change), and therefore could only happen after the historical block\n // number. The earliest would be the immediate next block, and so the smallest possible next block of change\n // equals `historical_block_number + 1 + minimum_delay`. Our block horizon is simply the previous block to \n // that one.\n //\n // block of historical \n // change block block horizon\n // =======|=============N===================H===========>\n // ^ ^\n // ---------------------\n // minimum delay\n\n historical_block_number + minimum_delay\n } else {\n // If the block of change has not yet been mined however, then there are two possible scenarios.\n // a) It could be so far into the future that the block horizon is actually determined by the minimum \n // delay, because a new change could be scheduled and take place _before_ the currently scheduled one. \n // This is similar to the scenario where the block of change is in the past: the time horizon is the \n // block prior to the earliest one in which a new block of change might land.\n // \n // historical \n // block block horizon block of change\n // =====N=================================H=================|=========>\n // ^ ^\n // | | \n // -----------------------------------\n // minimum delay\n //\n // b) It could be fewer than `minimum_delay` blocks away from the historical block number, in which case \n // the block of change would become the limiting factor for the time horizon, which would equal the \n // block right before the block of change (since by definition the value changes at the block of \n // change).\n //\n // historical block horizon\n // block block of change if not scheduled\n // =======N=============|===================H=================>\n // ^ ^ ^\n // | actual horizon | \n // -----------------------------------\n // minimum delay\n // \n // Note that the current implementation does not allow the caller to set the block of change to an arbitrary\n // value, and therefore scenario a) is not currently possible. However implementing #5501 would allow for \n // this to happen.\n\n // Because historical_block_number < self.block_of_change, then block_of_change > 0 and we can safely\n // subtract 1.\n min(\n self.block_of_change - 1,\n historical_block_number + minimum_delay\n )\n }\n }\n\n /// Mutates a scheduled value change by scheduling a change at the current block number. This function is only\n /// meaningful when called in public with the current block number.\n pub fn schedule_change(\n &mut self,\n new_value: T,\n current_block_number: u32,\n minimum_delay: u32,\n block_of_change: u32\n ) {\n assert(block_of_change >= current_block_number + minimum_delay);\n\n self.pre = self.get_current_at(current_block_number);\n self.post = new_value;\n self.block_of_change = block_of_change;\n }\n}\n\nimpl<T> Serialize<3> for ScheduledValueChange<T> {\n fn serialize(self) -> [Field; 3] where T: ToField {\n [self.pre.to_field(), self.post.to_field(), self.block_of_change.to_field()]\n }\n}\n\nimpl<T> Deserialize<3> for ScheduledValueChange<T> {\n fn deserialize(input: [Field; 3]) -> Self where T: FromField {\n Self { \n pre: FromField::from_field(input[0]), \n post: FromField::from_field(input[1]), \n block_of_change: FromField::from_field(input[2]),\n }\n }\n}\n\nfn min(lhs: u32, rhs: u32) -> u32 {\n if lhs < rhs { lhs } else { rhs }\n}\n\n#[test]\nfn test_min() {\n assert(min(3, 5) == 3);\n assert(min(5, 3) == 3);\n assert(min(3, 3) == 3);\n}\n\nmod test {\n use crate::state_vars::shared_mutable::scheduled_value_change::ScheduledValueChange;\n\n global TEST_DELAY: u32 = 200;\n\n #[test]\n fn test_get_current_at() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value.get_current_at(0), pre);\n assert_eq(value.get_current_at(block_of_change - 1), pre);\n assert_eq(value.get_current_at(block_of_change), post);\n assert_eq(value.get_current_at(block_of_change + 1), post);\n }\n\n #[test]\n fn test_get_scheduled() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value.get_scheduled(), (post, block_of_change));\n }\n\n fn assert_block_horizon_invariants(\n value: &mut ScheduledValueChange<Field>,\n historical_block_number: u32,\n block_horizon: u32\n ) {\n // The current value should not change at the block horizon (but it might later).\n let current_at_historical = value.get_current_at(historical_block_number);\n assert_eq(current_at_historical, value.get_current_at(block_horizon));\n\n // The earliest a new change could be scheduled in would be the immediate next block to the historical one. This\n // should result in the new block of change landing *after* the block horizon, and the current value still not\n // changing at the previously determined block_horizon.\n\n let new = value.pre + value.post; // Make sure it's different to both pre and post\n value.schedule_change(\n new,\n historical_block_number + 1,\n TEST_DELAY,\n historical_block_number + 1 + TEST_DELAY\n );\n\n assert(value.block_of_change > block_horizon);\n assert_eq(current_at_historical, value.get_current_at(block_horizon));\n }\n\n #[test]\n fn test_get_block_horizon_change_in_past() {\n let historical_block_number = 100;\n let block_of_change = 50;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_immediate_past() {\n let historical_block_number = 100;\n let block_of_change = 100;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_near_future() {\n let historical_block_number = 100;\n let block_of_change = 120;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n // Note that this is the only scenario in which the block of change informs the block horizon.\n // This may result in privacy leaks when interacting with applications that have a scheduled change\n // in the near future.\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, block_of_change - 1);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_far_future() {\n let historical_block_number = 100;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_schedule_change_before_prior_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change - 50;\n value.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost.\n assert_eq(value.pre, pre);\n assert_eq(value.post, new);\n assert_eq(value.block_of_change, current_block_number + TEST_DELAY);\n }\n\n #[test]\n fn test_schedule_change_after_prior_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change + 50;\n value.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n assert_eq(value.pre, post);\n assert_eq(value.post, new);\n assert_eq(value.block_of_change, current_block_number + TEST_DELAY);\n }\n}\n" }, "116": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable.nr", "source": "use dep::protocol_types::{hash::pedersen_hash, traits::FromField};\n\nuse crate::context::{PrivateContext, PublicContext, Context};\nuse crate::history::public_storage::public_storage_historical_read;\nuse crate::public_storage;\nuse crate::state_vars::{storage::Storage, shared_mutable::scheduled_value_change::ScheduledValueChange};\n\nstruct SharedMutable<T, DELAY> {\n context: Context,\n storage_slot: Field,\n // The _dummy variable forces DELAY to be interpreted as a numberic value. This is a workaround to\n // https://github.com/noir-lang/noir/issues/4633. Remove once resolved.\n _dummy: [Field; DELAY],\n}\n\nimpl<T, DELAY> Storage<T> for SharedMutable<T, DELAY> {}\n\n// SharedMutable<T> stores a value of type T that is:\n// - publicly known (i.e. unencrypted)\n// - mutable in public\n// - readable in private with no contention (i.e. multiple parties can all read the same value without blocking one\n// another nor needing to coordinate)\n// This is famously a hard problem to solve. SharedMutable makes it work by introducing a delay to public mutation:\n// the value is not changed immediately but rather a value change is scheduled to happen in the future after some delay\n// measured in blocks. Reads in private are only valid as long as they are included in a block not too far into the \n// future, so that they can guarantee the value will not have possibly changed by then (because of the delay).\nimpl<T, DELAY> SharedMutable<T, DELAY> {\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot, _dummy: [0; DELAY] }\n }\n\n pub fn schedule_value_change(self, new_value: T) {\n let context = self.context.public.unwrap();\n let mut scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n\n let block_number = context.block_number() as u32;\n // TODO: make this configurable\n // https://github.com/AztecProtocol/aztec-packages/issues/5501\n let block_of_change = block_number + DELAY;\n\n scheduled_value_change.schedule_change(new_value, block_number, DELAY, block_of_change);\n\n public_storage::write(self.get_derived_storage_slot(), scheduled_value_change);\n }\n\n pub fn get_current_value_in_public(self) -> T {\n let scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n\n let block_number = self.context.public.unwrap().block_number() as u32;\n scheduled_value_change.get_current_at(block_number)\n }\n\n pub fn get_scheduled_value_in_public(self) -> (T, u32) {\n let scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n scheduled_value_change.get_scheduled()\n }\n\n pub fn get_current_value_in_private(self) -> T where T: FromField {\n let mut context = self.context.private.unwrap();\n\n let (scheduled_value_change, historical_block_number) = self.historical_read_from_public_storage(*context);\n let block_horizon = scheduled_value_change.get_block_horizon(historical_block_number, DELAY);\n\n // We prevent this transaction from being included in any block after the block horizon, ensuring that the \n // historical public value matches the current one, since it can only change after the horizon.\n context.set_tx_max_block_number(block_horizon);\n scheduled_value_change.get_current_at(historical_block_number)\n }\n\n fn historical_read_from_public_storage(\n self,\n context: PrivateContext\n ) -> (ScheduledValueChange<T>, u32) where T: FromField {\n let derived_slot = self.get_derived_storage_slot();\n\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let mut raw_fields = [0; 3];\n for i in 0..3 {\n raw_fields[i] = public_storage_historical_read(\n context,\n derived_slot + i as Field,\n context.this_address()\n );\n }\n\n let scheduled_value: ScheduledValueChange<T> = ScheduledValueChange::deserialize(raw_fields);\n let historical_block_number = context.historical_header.global_variables.block_number as u32;\n\n (scheduled_value, historical_block_number)\n }\n\n fn get_derived_storage_slot(self) -> Field {\n // Since we're actually storing three values (a ScheduledValueChange struct), we hash the storage slot to get a\n // unique location in which we can safely store as much data as we need. This could be removed if we informed\n // the slot allocator of how much space we need so that proper padding could be added.\n // See https://github.com/AztecProtocol/aztec-packages/issues/5492\n pedersen_hash([self.storage_slot, 0], 0)\n }\n}\n\nmod test {\n use dep::std::{merkle::compute_merkle_root, test::OracleMock};\n\n use crate::{\n context::{PublicContext, PrivateContext, Context},\n state_vars::shared_mutable::shared_mutable::SharedMutable,\n oracle::get_public_data_witness::PublicDataWitness\n };\n\n use dep::protocol_types::{\n constants::{GENERATOR_INDEX__PUBLIC_LEAF_INDEX, PUBLIC_DATA_TREE_HEIGHT}, hash::pedersen_hash,\n address::AztecAddress, public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage\n };\n\n fn setup(private: bool) -> (SharedMutable<Field, TEST_DELAY>, Field) {\n let block_number = 40;\n let context = create_context(block_number, private);\n\n let storage_slot = 57;\n let state_var: SharedMutable<Field, TEST_DELAY> = SharedMutable::new(context, storage_slot);\n\n (state_var, block_number)\n }\n\n fn create_context(block_number: Field, private: bool) -> Context {\n if private {\n let mut private_context = PrivateContext::empty();\n private_context.historical_header.global_variables.block_number = block_number;\n Context::private(&mut private_context)\n } else {\n let mut public_context = PublicContext::empty();\n public_context.inputs.public_global_variables.block_number = block_number;\n Context::public(&mut public_context)\n }\n }\n\n global TEST_DELAY = 20;\n\n global pre = 13;\n global post = 42;\n\n #[test]\n fn test_get_current_value_in_public_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future, current value is pre\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n assert_eq(state_var.get_current_value_in_public(), pre);\n }\n\n #[test]\n fn test_get_current_value_in_public_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block, current value is post\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n assert_eq(state_var.get_current_value_in_public(), post);\n }\n\n #[test]\n fn test_get_current_value_in_public_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past, current value is post\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n assert_eq(state_var.get_current_value_in_public(), post);\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, (block_number + 1) as u32));\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, block_number as u32));\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, (block_number - 1) as u32));\n }\n\n #[test]\n fn test_schedule_value_change_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The new scheduled change replaces the old one\n assert_eq(write_mock.get_last_params(), (slot, [pre, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_schedule_value_change_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The previous 'post' value is the current one and becomes the 'pre' value\n assert_eq(write_mock.get_last_params(), (slot, [post, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_schedule_value_change_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The previous 'post' value is the current one and becomes the 'pre' value\n assert_eq(write_mock.get_last_params(), (slot, [post, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_get_current_value_in_private_before_change() {\n // Here we'd want to test that the private getter returns the correct value and sets max_block_number in the\n // context to the expected block horizon, in all the possible scenarios (long before change, before near change,\n // after change).\n // However, this requires mocking the getPublicDataTreeWitness oracle so that we can convince the circuit that\n // it got a valid historical proof. Because we can set the tree root to whatever we want in the context, this is\n // trivial for a single historical value (we add a leaf and compute the root with any random path), but is quite\n // hard if we're reading more than one value for the same root (as SharedMutable does): we essentially need to\n // create an actual indexed tree and compute the correct path for each of the inserted values.\n // TODO: implement an actual tree and use it here https://github.com/AztecProtocol/aztec-packages/issues/5494\n }\n}\n" }, "122": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/public_storage.nr", "source": "use dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::oracle::storage::{storage_read, storage_write};\n\npub fn read<T, N>(storage_slot: Field) -> T where T: Deserialize<N> {\n T::deserialize(storage_read(storage_slot))\n}\n\npub fn write<T, N>(storage_slot: Field, value: T) where T: Serialize<N> {\n storage_write(storage_slot, value.serialize());\n}\n\n// Ideally we'd do the following, but we cannot because of https://github.com/noir-lang/noir/issues/4633\n// pub fn read_historical<T, N>(\n// storage_slot: Field,\n// context: PrivateContext\n// ) -> T where T: Deserialize<N> {\n// let mut fields = [0; N];\n// for i in 0..N {\n// fields[i] = public_storage_historical_read(\n// context,\n// storage_slot + i as Field,\n// context.this_address()\n// );\n// }\n// T::deserialize(fields)\n// }\n\nmod tests {\n use dep::std::test::OracleMock;\n use dep::protocol_types::traits::{Deserialize, Serialize};\n use crate::public_storage;\n\n struct TestStruct {\n a: Field,\n b: Field,\n }\n\n impl Deserialize<2> for TestStruct {\n fn deserialize(fields: [Field; 2]) -> TestStruct {\n TestStruct { a: fields[0], b: fields[1] }\n }\n }\n\n impl Serialize<2> for TestStruct {\n fn serialize(self) -> [Field; 2] {\n [self.a, self.b]\n }\n }\n\n #[test]\n fn test_read() {\n let slot = 7;\n let written = TestStruct { a: 13, b: 42 };\n\n OracleMock::mock(\"storageRead\").with_params((slot, 2)).returns(written.serialize());\n\n let read: TestStruct = public_storage::read(slot);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n\n #[test]\n fn test_write() {\n let slot = 7;\n let to_write = TestStruct { a: 13, b: 42 };\n\n let mock = OracleMock::mock(\"storageWrite\").returns([0; 2]); // The return value is unused\n\n public_storage::write(slot, to_write);\n assert_eq(mock.get_last_params(), (slot, to_write.serialize()));\n }\n}\n" }, "130": { "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, poseidon2_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_encrypted_log_hash<N, M, L>(\n encrypted_log: [Field; M]\n) -> Field where [Field; N]: LensForEncryptedLog<N, M, L> {\n let mut bytes = [0; L];\n // Note that bytes.append(encrypted_log[i].to_be_bytes(31)) results in bound error\n for i in 0..M-1 {\n let to_add = encrypted_log[i].to_be_bytes(31);\n for j in 0..31 {\n bytes[i*31 + j] = to_add[j];\n }\n }\n // can't assign as L - not in scope error for: L-31*(M-1)\n let num_bytes = bytes.len() as u32 - 31*(M-1);\n let to_add_final = encrypted_log[M-1].to_be_bytes(num_bytes);\n for j in 0..num_bytes {\n bytes[(M-1)*31 + j] = to_add_final[j];\n }\n sha256_to_field(bytes)\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_enc_log_hash_304() {\n let input = [\n 0x0000000000000000000000000000000000000000000000000000000000000000,\n 0x0021a0d4aa9989656b592187cf6da1965df53ab2ff2277421e663465cf20d3e9,\n 0x00c3969cc350f3474f8187a33ac1317181961f5f94043b07ce888d85a5d20cb5,\n 0x0058198041ed1547b056955b5141a5a8a1551b0c8d094255ec9daaf3604d9348,\n 0x00247ad96df2e4d984cf795ed7316234743a681f824a45c46253de8bfde48850,\n 0x007fc251f4ce44f4e9aba3dbf6567228be28fac85660156f2825ddb0b0577457,\n 0x009315851323c6bc2aaa42e23fe5f3be97208f2d8167eafdfc5742d94f2f4dd4,\n 0x00b938289e563b0fe01982cd9b8d9e33e3069046768ad01c0fb05e429e7b7909,\n 0x00fbcc257a3211f705b471eee763b0f43876a2b2178fab6d2b09bd2b7e086584,\n 0x000000000000008c3289b5793b7448f4d45ecde039d004b6f037cad10b5c2336\n ];\n let hash = compute_encrypted_log_hash(input);\n assert(hash == 0x001e3c013994947fe28957a876bf1b2c3a69ac69cc92909efd4f2ae9b972f893);\n}\n\n#[test]\nfn compute_enc_log_hash_368() {\n let input = [\n 0x0000000000000000000000000000000000000000000000000000000000000000,\n 0x002190697d2a50e229a7a077e0951073f7d51e46679f10466153c308b63b1ea9,\n 0x00543e346facc6799b94514c9d461bcc836c04b083b13c2e4544a39130473c1e,\n 0x000df76d59526f8f953bcc7d9f77cdaefd36435931f0d7348f794bc275b42ded,\n 0x00a6d390ee1723af7f7ac1ae4fc81a266b2370fe07040a36d06dbe242e02413e,\n 0x00acbce15b6af1fbe94bd0f7b70f11768265dff77bfe63398f2a053efdfdf26d,\n 0x00b8b131b9f42c689beb095ba4f4a836d4d15c9068d0422e9add6ca82b786329,\n 0x00661a6a654b38f0f97d404ef5553e0efea9ed670561ae86685b31bbb2824fac,\n 0x00113a6b58edfaec0065b365f66ba8d8aa68254b8690035e8d671a17a843f0a1,\n 0x0023f2d2eae8c4449bac8f268a3e62a3faace1fe1401f0efdc8b0ccfbc8fb271,\n 0x00cf6603f8c61993dd2f662c719671c61727a2f4e925fb988b23d31feccd77d9,\n 0x0000000000a402a84b7294671799c38dd805f6a827a3a12633fdf91a57debe1f\n ];\n let hash = compute_encrypted_log_hash(input);\n assert(hash == 0x00a0d651ac0cbc01b72430fa6a05d91738595af6e0229347b4c9968223387aeb);\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" }, "146": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr", "source": "use crate::traits::{Serialize, Deserialize};\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\nglobal U8_SERIALIZED_LEN: Field = 1;\nglobal U32_SERIALIZED_LEN: Field = 1;\nglobal U64_SERIALIZED_LEN: Field = 1;\nglobal U128_SERIALIZED_LEN: Field = 1;\nglobal FIELD_SERIALIZED_LEN: Field = 1;\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U64_SERIALIZED_LEN> for u64 {\n fn serialize(self) -> [Field; U64_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U64_SERIALIZED_LEN> for u64 {\n fn deserialize(fields: [Field; U64_SERIALIZED_LEN]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Serialize<U128_SERIALIZED_LEN> for U128 {\n fn serialize(self) -> [Field; 1] {\n [self.to_integer()]\n }\n\n}\n\nimpl Deserialize<U128_SERIALIZED_LEN> for U128 {\n fn deserialize(fields: [Field; U128_SERIALIZED_LEN]) -> Self {\n U128::from_integer(fields[0])\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n" }, "151": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/public_keys_hash.nr", "source": "use crate::{\n constants::{GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__PUBLIC_KEYS_HASH}, hash::pedersen_hash, grumpkin_point::GrumpkinPoint,\n traits::{ToField, Serialize, Deserialize},\n hash::poseidon2_hash,\n};\n\n// Public keys hash. Used in the computation of an address.\nstruct PublicKeysHash {\n inner: Field\n}\n\nimpl ToField for PublicKeysHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<1> for PublicKeysHash {\n fn serialize(self: Self) -> [Field; 1] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<1> for PublicKeysHash {\n fn deserialize(fields: [Field; 1]) -> Self {\n PublicKeysHash::from_field(fields[0])\n }\n}\n\nimpl Eq for PublicKeysHash {\n fn eq(self, other: Self) -> bool {\n self.inner == other.inner\n }\n}\n\nimpl PublicKeysHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n // TODO(#5830): When we do this refactor, rename compute_new -> compute\n pub fn compute(public_key: GrumpkinPoint) -> Self {\n PublicKeysHash::from_field(\n pedersen_hash(\n [\n public_key.x,\n public_key.y\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n // TODO(#5830): When we do this refactor, rename compute_new -> compute\n pub fn compute_new(\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint\n ) -> Self {\n PublicKeysHash::from_field(\n poseidon2_hash([\n nullifier_public_key.x,\n nullifier_public_key.y,\n incoming_public_key.x,\n incoming_public_key.y,\n outgoing_public_key.x,\n outgoing_public_key.y,\n tagging_public_key.x,\n tagging_public_key.y,\n GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n ])\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\n// TODO(#5830): re-enable this test once the compute function is updated\n// #[test]\n// fn compute_public_keys_hash() {\n// let point = GrumpkinPoint { x: 1, y: 2 };\n// let actual = PublicKeysHash::compute(point);\n// let expected_public_keys_hash = 0x22d83a089d7650514c2de24cd30185a414d943eaa19817c67bffe2c3183006a3;\n// assert(actual.to_field() == expected_public_keys_hash);\n// }\n" }, "152": { "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(\n [pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1]\n )\n )\n }\n\n pub fn compute_from_public_keys_and_partial_address(\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint,\n partial_address: PartialAddress,\n ) -> AztecAddress {\n let public_keys_hash = PublicKeysHash::compute_new(\n nullifier_public_key,\n incoming_public_key,\n outgoing_public_key,\n tagging_public_key,\n );\n\n let computed_address = AztecAddress::compute(public_keys_hash, partial_address);\n\n computed_address\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_pubkey() {\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" }, "163": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr", "source": "use dep::std::cmp::Eq;\nuse crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<N> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<N> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n" }, "166": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr", "source": "pub fn field_from_bytes<N>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(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..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\n assert_eq(field2, field);\n}\n" }, "188": { "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" }, "234": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr", "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::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::side_effect::SideEffect;\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\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 silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\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: [SideEffect; 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_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\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 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n" }, "28": { "path": "std/hash/poseidon2.nr", "source": "use crate::hash::Hasher;\nuse crate::default::Default;\n\nglobal RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n\n pub fn hash<N>(input: [Field; N], message_size: u64) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<N>(input: [Field; N], in_len: u64, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n" }, "295": { "path": "/usr/src/noir-projects/noir-contracts/contracts/key_registry_contract/src/main.nr", "source": "contract KeyRegistry {\n use dep::authwit::auth::assert_current_call_valid_authwit_public;\n\n use dep::aztec::{\n state_vars::{SharedMutable, Map},\n protocol_types::{\n grumpkin_point::GrumpkinPoint, address::{AztecAddress, PartialAddress},\n }\n };\n\n global KEY_ROTATION_DELAY = 5;\n\n #[aztec(storage)]\n struct Storage {\n // The following stores a hash of individual master public keys\n // If you change slots of vars below, you must update the slots in `SharedMutablePrivateGetter` in aztec-nr/keys.\n // We store x and y coordinates in individual shared mutables as shared mutable currently supports only 1 field\n npk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n npk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n\n ivpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n ivpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n \n ovpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n ovpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n \n tpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n tpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n }\n\n #[aztec(public)]\n fn rotate_nullifier_public_key(\n address: AztecAddress,\n new_nullifier_public_key: GrumpkinPoint,\n nonce: Field\n ) {\n // TODO: (#6137)\n if (!address.eq(context.msg_sender())) {\n assert_current_call_valid_authwit_public(&mut context, address);\n } else {\n assert(nonce == 0, \"invalid nonce\");\n }\n\n let npk_m_x_registry = storage.npk_m_x_registry.at(address);\n let npk_m_y_registry = storage.npk_m_y_registry.at(address);\n npk_m_x_registry.schedule_value_change(new_nullifier_public_key.x);\n npk_m_y_registry.schedule_value_change(new_nullifier_public_key.y);\n }\n\n #[aztec(public)]\n fn register(\n address: AztecAddress,\n partial_address: PartialAddress,\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint\n ) {\n let computed_address = AztecAddress::compute_from_public_keys_and_partial_address(\n nullifier_public_key,\n incoming_public_key,\n outgoing_public_key,\n tagging_public_key,\n partial_address\n );\n\n assert(computed_address.eq(address), \"Computed address does not match supplied address\");\n\n let npk_m_x_registry = storage.npk_m_x_registry.at(address);\n let npk_m_y_registry = storage.npk_m_y_registry.at(address);\n let ivpk_m_x_registry = storage.ivpk_m_x_registry.at(address);\n let ivpk_m_y_registry = storage.ivpk_m_y_registry.at(address);\n // let ovpk_m_x_registry = storage.ovpk_m_x_registry.at(address);\n // let ovpk_m_y_registry = storage.ovpk_m_y_registry.at(address);\n // let tpk_m_x_registry = storage.tpk_m_x_registry.at(address);\n // let tpk_m_y_registry = storage.tpk_m_y_registry.at(address);\n\n npk_m_x_registry.schedule_value_change(nullifier_public_key.x);\n npk_m_y_registry.schedule_value_change(nullifier_public_key.y);\n ivpk_m_x_registry.schedule_value_change(incoming_public_key.x);\n ivpk_m_y_registry.schedule_value_change(incoming_public_key.y);\n // Commented out as we hit the max enqueued public calls limit when not done so\n // ovpk_m_x_registry.schedule_value_change(outgoing_public_key.x);\n // ovpk_m_y_registry.schedule_value_change(outgoing_public_key.y);\n // tpk_m_x_registry.schedule_value_change(tagging_public_key.x);\n // tpk_m_y_registry.schedule_value_change(tagging_public_key.y);\n }\n}\n" }, "33": { "path": "std/option.nr", "source": "use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<N, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\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" }, "50": { "path": "/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr", "source": "use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER}, hash::pedersen_hash\n};\nuse dep::aztec::{\n prelude::Deserialize,\n context::{\n PrivateContext, PublicContext, Context, gas::GasOpts,\n interface::{ContextInterface, PublicContextInterface}\n},\n hash::hash_args_array\n};\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n// docs:start:assert_current_call_valid_authwit\n// Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let function_selector = FunctionSelector::from_signature(\"spend_private_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n let result: Field = context.call_private_function(on_behalf_of, function_selector, [inner_hash]).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit\n\n// docs:start:assert_current_call_valid_authwit_public\n// Assert that `on_behalf_of` have authorized the current call in a public context\npub fn assert_current_call_valid_authwit_public<TPublicContext>(\n context: &mut TPublicContext,\n on_behalf_of: AztecAddress\n) where TPublicContext: ContextInterface + PublicContextInterface {\n let function_selector = FunctionSelector::from_signature(\"spend_public_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n let result: Field = PublicContextInterface::call_public_function(\n context,\n on_behalf_of,\n function_selector,\n [inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n// docs:start:compute_call_authwit_hash\n// Compute the message hash to be used by an authentication witness \npub fn compute_call_authwit_hash<N>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_outer_authwit_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_call_authwit_hash\n\npub fn compute_inner_authwit_hash<N>(args: [Field; N]) -> Field {\n pedersen_hash(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\npub fn compute_outer_authwit_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field\n) -> Field {\n pedersen_hash(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n" }, "57": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context.nr", "source": "mod globals;\nmod inputs;\n\nmod private_context;\nmod public_context;\nmod avm_context;\nmod interface;\nmod gas;\n\nuse interface::{\n ContextInterface, PrivateCallInterface, PublicCallInterface, PrivateVoidCallInterface,\n PublicVoidCallInterface, AvmCallInterface, AvmVoidCallInterface\n};\nuse private_context::PrivateContext;\nuse private_context::PackedReturns;\nuse public_context::PublicContext;\nuse public_context::FunctionReturns;\nuse avm_context::AvmContext;\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n avm: Option<&mut AvmContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context { private: Option::some(context), public: Option::none(), avm: Option::none() }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context { public: Option::some(context), private: Option::none(), avm: Option::none() }\n }\n\n pub fn avm(context: &mut AvmContext) -> Context {\n Context { avm: Option::some(context), public: Option::none(), private: Option::none() }\n }\n\n pub fn none() -> Context {\n Context { public: Option::none(), private: Option::none(), avm: Option::none() }\n }\n}\n" }, "68": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/public_context.nr", "source": "use crate::{\n context::{\n inputs::PublicContextInputs, interface::ContextInterface, interface::PublicContextInterface,\n gas::GasOpts\n},\n messaging::process_l1_to_l2_message,\n oracle::{arguments, public_call::call_public_function_internal, returns, logs_traits::ToBytesForUnencryptedLog},\n hash::{hash_args, ArgsHasher, compute_unencrypted_log_hash}\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables, function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, side_effect::SideEffect\n},\n hash::silo_nullifier, 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_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_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_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest}, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{Deserialize, Empty}\n};\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_hash : Field,\n\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_non_existent_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL>,\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_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 new_l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hashes: BoundedVec<SideEffect, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n unencrypted_log_preimages_length: Field,\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 prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n PublicContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter,\n args_hash,\n return_hash: 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n unencrypted_log_preimages_length: 0,\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero()\n }\n }\n\n pub fn call_public_function_no_args<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &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 ) -> FunctionReturns<RETURNS_COUNT> {\n let side_effect_counter = self.side_effect_counter;\n // TODO(6052): get next value from output of `call_public_function_internal`\n self.side_effect_counter += 1;\n\n let raw_returns = call_public_function_internal(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n FunctionReturns::new(raw_returns)\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 // Keep private or ask the AVM team if you want to change it.\n fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n // Keep private or ask the AVM team if you want to change it.\n fn push_nullifier_non_existent_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_non_existent_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_non_existent_read_requests: self.nullifier_non_existent_read_requests.storage,\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n returns_hash: self.return_hash,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\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 unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n unencrypted_log_preimages_length: self.unencrypted_log_preimages_length + 4,\n historical_header: self.inputs.historical_header,\n global_variables: self.inputs.public_global_variables,\n prover_address: self.prover_address,\n revert_code: 0,\n start_gas_left: self.inputs.gas_left,\n end_gas_left: self.inputs.gas_left, // AVM should decrease this value\n transaction_fee: self.inputs.transaction_fee\n };\n pub_circuit_pub_inputs\n }\n}\n\nimpl ContextInterface for PublicContext {\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.public_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.public_global_variables.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.side_effect_counter });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PublicContextInterface for PublicContext {\n fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> u64 {\n self.inputs.public_global_variables.timestamp\n }\n\n fn coinbase(self) -> EthAddress {\n self.inputs.public_global_variables.coinbase\n }\n\n fn fee_recipient(self) -> AztecAddress {\n self.inputs.public_global_variables.fee_recipient\n }\n\n fn fee_per_da_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_da_gas\n }\n\n fn fee_per_l2_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_l2_gas\n }\n\n fn transaction_fee(self) -> Field {\n self.inputs.transaction_fee\n }\n\n fn nullifier_exists(self, unsiloed_nullifier: Field, address: AztecAddress) -> bool {\n // Current public can only check for settled nullifiers, so we always silo.\n let siloed_nullifier = silo_nullifier(address, unsiloed_nullifier);\n nullifier_exists_oracle(siloed_nullifier) == 1\n }\n\n fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n let message = L2ToL1Message { recipient, content };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // We can consume message with a secret in public context because the message cannot be modified and therefore\n // there is no front-running risk (e.g. somebody could front run you to claim your tokens to your address).\n // Leaf index is not used in public context, but it is used in the AVMContext which will replace it.\n fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress, _leaf_index: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n this,\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\n 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 log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(\n contract_address,\n event_selector,\n log\n );\n let side_effect = SideEffect { value: log_hash, counter: self.side_effect_counter };\n self.unencrypted_logs_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n self.unencrypted_log_preimages_length = self.unencrypted_log_preimages_length + 44 + log_slice.len().to_field();\n // Call oracle to broadcast log\n let _void = emit_unencrypted_log_oracle(contract_address, event_selector, log, side_effect.counter);\n }\n\n fn call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n fn static_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n fn delegate_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field]\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n}\n\nimpl Empty for PublicContext {\n fn empty() -> Self {\n PublicContext {\n inputs: PublicContextInputs::empty(),\n side_effect_counter: 0 as u32,\n args_hash : 0,\n return_hash : 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n }\n }\n}\n\n#[oracle(checkNullifierExists)]\nfn nullifier_exists_oracle(nullifier: Field) -> Field {}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T,\n _counter: u32\n) -> Field {}\n\nstruct FunctionReturns<N> {\n values: [Field; N]\n}\n\nimpl<N> FunctionReturns<N> {\n pub fn new(values: [Field; N]) -> FunctionReturns<N> {\n FunctionReturns { values }\n }\n\n pub fn assert_empty(returns: FunctionReturns<0>) {\n assert(returns.values.len() == 0);\n }\n\n pub fn raw(self) -> [Field; N] {\n self.values\n }\n\n pub fn deserialize_into<T>(self) -> T where T: Deserialize<N> {\n Deserialize::deserialize(self.raw())\n }\n}\n" }, "87": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/arguments.nr", "source": "#[oracle(packArgumentsArray)]\nfn pack_arguments_array_oracle<N>(_args: [Field; N]) -> Field {}\n\n#[oracle(packArguments)]\nfn pack_arguments_oracle(_args: [Field]) -> Field {}\n\n/// - Pack arguments (array version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments_array<N>(args: [Field; N]) -> Field {\n pack_arguments_array_oracle(args)\n}\n\n/// - Pack arguments (slice version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments(args: [Field]) -> Field {\n pack_arguments_oracle(args)\n}\n\n" }, "97": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr", "source": "use dep::protocol_types::traits::{Deserialize, Serialize};\n\n#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<N>(storage_slot: Field) -> [Field; N] {\n storage_read_oracle_wrapper(storage_slot)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n" } } }