@aztec/protocol-contracts 0.38.0 → 0.39.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
- { "transpiled": true, "noir_version": "0.29.0+9edb7f5a94a9b0e3a0a108728fe04cd51e5d0db2", "name": "GasToken", "functions": [{ "name": "constructor", "is_unconstrained": true, "custom_attributes": ["aztec(public)", "aztec(initializer)"], "abi": { "error_types": {}, "param_witnesses": { "inputs": [{ "end": 40, "start": 0 }], "portal_address": [{ "end": 41, "start": 40 }] }, "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": "portal_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" }, "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": [41, 42, 43, 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] }, "bytecode": "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", "debug_symbols": "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i1NqFqfULE6pWZxSszilZnFKzeKUmsUpNYtTahan1CzuUrOY+q9gZX4l+HPmu2pcqpomVU1IVZNS1XSpapizuD++Nj/0jHfVTKVqqP/S0/fVuFQ1TaqakKomparpUtUw582w1xfHGOObn/7eyUT9d6F+de1r39qp/+bUv1L7b9VQT4XRvqp5vK3GpappUtWEVDUpVU2XqmZIVTOlqllK1VD/zanvq5GaxUtqFi+pWbykZvGSmsVLahYvqVm8pGbxUprF9ngoDeNnOUrT+FmO0jh+lqM0j5/lKA3kZzlKE/lZjtJIfpajNJOf5SgN5Wc5WlPZtKayaU1l05rKpjWVTWsqU1Nv075Sb9Mfb8vpWuUMrXKmVjlLqhxq9O0H5ZhWOa5VTtMqJ7TK0ZrKrjWVXWsqu9ZUdq2p3LSmctOayk1rKjetqdy0pnLTmspNayo3ranctKZy05rKoTWVQ2sqh9ZUDq2pHFpTObSmcmhN5dCayqE1lUNrKqfWVE6tqZxaUzm1pnJqTeXUmsqpNZVTayqn1lROranctaZy15rKXWsqd62p3LWmcteayl1rKnetqdy1pnLXmspDayoPrak8tKby0JrKQ2sqD62pPLSm8tCaykNrKg+tqTy1pvLUmspTaypPrak8taby1JrKU2sqT62pPLWm8tSayktrKi+tqby0pvLSmspLayovram8tKby0prKS2sqL6mpbA+pqWwPqalsD6mpbA+pqfz8y7VWOVJT2R5SU9keUlPZHlJT2R5aU9m0prJpTWXTmsqmNZVNayprZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7SyfaaV7TOtbJ9pZftMK9tnWtk+08r2mVa2z7Wyfa6V7XOtbJ9rZfv8ITWVXSvb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r+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osr+Osb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Csb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Ksb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gsb+Gs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C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2nuuwtp7rsLae67C2ntuwtp7bsLae27C2ntuwtpPbY9Tde+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWvruQ1r67kNa+u5DWtruQ4rHtLqRn6bueps/Sdz1Nn6Xvepo+S9/1NH2Wvutp+ix919P0Wfqup+mz9F1P02fp+56m2+5Cepa+72m67S6kZ+n7nqbb7kJ6lr7vabrtLqRn6fueptvuQnqWvu9puu0upGfp+56m2+5Cepa+72m67S6kZ+n7nqbb7kJ6lr7vabrtLqRn6fueptvuQnqWvu9puu0upGfp+56m2+5Cepa+72m67S6kZ+n7nqbb7kJ6lr7vabrtLqRn6fueptvuQnqWvu9puu0upGfp+56m2+5Cepa+72m67S6kZ+n7nqbb7kJ6lr7vabrtLqRn6fueptvuQnqWvu9puu0upGfp+56m2+5Cepa+72m67S6kZ+n7nqbb7kJ6lr7vabrtLqRn6fueptvuQnqWvu9puu0upGfp+56m2+5Cepa+72m67S6kZ+n7nqbb7kJ6lr7vabrtLqRn6fueptvuQnqWvu9puu0upGfp+56m2+5Cepa+72m67S6kZ+n7nqbb7kJ6lr7vabrtLqRn6fueptvuQnqWvu9puu0upGfp+56m2+5Cepa+72m67S6kZ+n7nqbb7kJ6lr7taWr77kKyfXch2b67kGzfXUj22PY0tX13Idm+u5Bs311Itu8uJNt3F5LtuwvJ9t2FZPvuQrJ9dyHZvruQbN9dSLbvLiTbdxeS7bsLyfbdhWT77kKyfXch2b67kGzfXUi27y4k23cXku27C8n23YVk++5Csn13Idm+u5Bs311Itu8uJNt3F5LtuwvJ9t2FZPvuQrJ9dyHZvruQbN9dSLbvLiTbdxeS7bsLyfbdhWT77kKyfXch2b67kGzfXUi27y4k23cXku27C8n23YVk++5Csn13Idm+u5Bs311Itu8uJNt3F5LtuwvJ9t2FZPvuQrJ9dyHZvruQbN9dSLbvLiTbdxeS7bsLyfbdhWT77kKyfXch2b67kGzfXUi27y4k23cXku27C8n23YVk++5Csn13Idm+u5Bs311Itu8uJNt3F5LtuwvJ9t2FZPvuQrJ9dyHZvruQbN9dSLbvLiTbdxeS7bsLyfbdhWT77kKyfXch2b67kGzfXUi27y4k23cXku27C8n23YXk++5C8n13Ifm+u5B8311I/tj2NPV9dyH5vruQfN9dSL7vLiTfdxeS77sLyffdheT77kLyfXch+b67kHzfXUi+7y4k33cXku+7C8n33YXk++5C8n13Ifm+u5B8311Ivu8uJN93F5LvuwvJ992F5PvuQvJ9dyH5vruQfN9dSL7vLiTfdxeS77sLyffdheT77kLyfXch+b67kHzfXUi+7y4k33cXku+7C8n33YXk++5C8n13Ifm+u5B8311Ivu8uJN93F5LvuwvJ992F5PvuQvJ9dyH5vruQfN9dSL7vLiTfdxeS77sLyffdheT77kLyfXch+b67kHzfXUi+7y4k33cXku+7C8n33YXk++5C8n13Ifm+u5B8311Ivu8uJN93F5LvuwvJ992F5PvuQvJ9dyH5vruQfN9dSL7vLiTfdxeS77sLyffdheT77kLyfXch+b67kHzfXUi+7y4k33cXku+7C8n33YXk++5C8n13Ifm+u5B8311I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Utm+ZzlaU1kq2/csR2sqS2X7nuVoTWWpbN+zHK2pLJXte5ajNZWlsn3PcrSmslS271mO1lSWyvY9y9GaylLZvmc5WlNZKtv3LEdrKktl+57laE1lqWzfsxytqSyV7XuWozWVpbJ9z3K0prJUtu9ZjtZUlsr2PcvRmspS2b5nOVpTmZrta/n6Z45bm49vftq9r6/v/m/+meNX8cwZ3ubXv10b3r/56Xy8vjr/8G8u/7H0Tv29+++lj7f/ZzC0ypla5SypcqipwR+UY1rluFY5Tauc0ContcrRmspDayoPrak8tKby1JrKU2sqT62pPLWm8tSaylNrKk+tqTy1pvLUmspTayovram8tKby0prKS2sqL62pvLSm8tKayktrKi+tqbykprI9pKayPaSmsj2kprI9pKayPaSmsj2kprI9pKayPaSmsj2kprI9tKayaU1l05rKpjWVTWsqm9ZUNq2pbFpT2bSmsmlNZdOayq41lV1rKrvWVHatqexaU9m1prJrTWXXmsquNZVdayo3ranctKZy05rKTWsqN62p3LSmctOayk1rKjetqdy0pnJoTeXQmsqhNZVDayqH1lQOrakcWlM5tKZyaE3l0JrKqTWVU2sqp9ZUTq2pnFpTObWmcmpN5dSayqk1lVNrKnetqdy1pnLXmspdayp3ranctaayVrbPtLJ9ppXtM61sn2ll+0wr22da2T7TyvaZVrbPtLJ9ppXtM61sn2ll+0wr22da2T7TyvaZVrbPtLJ9ppXtM61sn2ll+0wr22da2T7TyvaZVrbPtLJ9ppXtM61sn2ll+0wr22da2T7TyvaZVrbPtLJ9rpXtc61sn2tl+1wr2+cPqansWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V7XOtbJ9rZftcK9vnWtk+18r2uVa2z7Wyfa6V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S4bnLhmeu2R47pLhuUuG5y4ZnrtkeO6S4blLhucuGZ67ZHjukuG5S4bnLhmeu2R47pLhuUuG5y4ZnrtkeO6S4blLhucuGZ67ZHjukuG5S4bnLhmeu2R47pLhuUuG5y4ZnrtkeO6S4blLhucuGZ67ZHjukuG5S4bnLhmeu2R47pLhuUuG5y4ZnrtkeO6S4blLhucuGZ67ZHjukuG5S4bnLhmeu2R47pLhuUuG5y4ZnrtkeO6S4blLhucuGZ67ZHjukuG5S4bnLhmeu87w3HWG564zPHed4bnrj2BcJBkX6YyLDMZFJuMijI5neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3PXGZ67zvDcdYbnrjM8d53huesMz11neO46w3M3GJ67wfDcDYbnbjA8d+MRjIsk4yKdcZHBuMhkXITR8QzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47gbDczcYnrvB8NwNhuduMDx3g+G5GwzP3WB47ibDczcZnrvJ8NxNhuduPoJxkWRcpDMuMhgXmYyL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" }, { "name": "check_balance", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "fee_limit": [{ "end": 41, "start": 40 }], "inputs": [{ "end": 40, "start": 0 }] }, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables" } }], "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": "fee_limit", "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": [41, 42, 43, 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] }, "bytecode": "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", "debug_symbols": "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56vv56vv56vv56vv56vv56vv56vv56vv56vv56sf56sf56sf56sf56sf56sf56sf56sf56sf56sf56uf56uf56uf56uf56uf56uf56uf56uf56uf56uf56tf56tf56tf56tf56tf56tf56tf56tf56tf56tf56vf56vf56vf56vf56vf56vf56vf56vf56vf56vf56u/z1d/n6/+Pl/9fb76+3z19/nq7/PV3+erv89Xf5+v/pyv/pyv/pyv/pyv/pyv/pyv/pyv/pyv/pyv/vlen53v9dn5Xp+d7/XZ+V7ft996zy/J80vq/JI+v2SfX3K++ud7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7XZ+d7fXa+12fne312vtdn53t9dr7Xt873+tb5Xt863+tb53t963yvb53v9a3zvb51vte3zvf61vle3zrf61sne31/eXrEnv7pk2P2+dnsLz66+uOj/ovjz90/J7IoE3HKRIIykaRMpCgTacpENmUiA5nIb/s/kfmeE6GQdVHIuihkXRSyLgpZF4Wsi0LWRSHropDVKWR1ClmdQlankNUpZHUKWZ1CVqeQ1SlkdQpZg0LWoJA1KGQNClmDQtagkDUoZA0KWYNC1qCQNSlkTQpZk0LWpJA1KWRNClmTQtakkDUpZE0KWYtC1qKQtShkLQpZi0LWopC1KGQtClmLQtaikLUpZG0KWZtC1qaQtSlkbQpZm0LWppC1KWRtClk3haybQtZNIeumkHVTyLopZN0Usm4KWTeFrJtC1qGQdShkHQpZh0LWoZB1KGQdClmHQtahkHUgZPUHQlZ/IGT1B0JWfyBk9QdCVn8gZPUH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bbrvfZvue9+m+9636dz7Np1736Zz79t07n2bzr1v07n3bTr3vk3n3rfp3Ps2nWvfpvu59m26n2vfpvu59m26n2vfpvu59m26n2vfpvu59m26n2vfpvu59m26n3vfpnbv29TufZvavW9Tu/dtave+Te3et6nd+za1e9+mdu/b1O59m65736br3rfpuvdtuu59m36Ps5P+raZ+79t03fs2Xfe+Tde9b9N179vU732b+r1v03vPQtr3noW07z0Lad97FtK+9yykfe9ZSPves5D2vWch7XvPQtr3noW07z0Lad97FtK+9yykfe9ZSPves5D2vWch7XvPQtr3noW07z0Lad97FtK+9yykfe9ZSPves5D2vWch7XvPQtr3noW07z0Lad97FtK+9yykfe9ZSPves5D2vWch7XvPQtr3noW07z0Lad97FtK+9yykfe9ZSPves5D2vWch7XvPQtr3noW07z0Lad97FtK+9yykfe9ZSPves5D2vWch7XvPQtr3noW07z0Lad97FtK+9yykfe9ZSPves5D2vWch7XvPQtr3noW07z0Lad97FtK+9yykfe9ZSPves5D2vWch7XvPQtr3noW07z0Lad97FtLcexbS3HsW0tx7FtLcexbSPNe+Tefes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm3rOQ5t6zkObes5Dm2rOQ1nPtWUjfpn7r2/Tb1G99m36b+q1v029Tv/Vt+m3qt75Nv0391rfpt6nf+jb9NvVb36bfpn7v2/Tas5C+Tf3et+m1ZyF9m/q9b9Nrz0L6NvVff5tW/drUzfLj0xb1Z8P85ae9108fDvt5SvPzjAo3o8bNaONmNLQZ/RXHB6lnZLgZLdyMHDejwM0Ix+yFY/bCMXvhmL1wzHYcsx3HbMcx23HMdhyzHcdsxzHbccx2HLMdx+zAMTtwzA4cswPH7MAxO3DMDhyzA8fswDE7cMxOHLMTx+zEMTtxzE4csxPH7MQxO3HMThyzE8fswjG7cMwuHLMLx+zCMbtwzC4cswvH7MIxu3DMbhyzG8fsxjG7ccxuHLMbx+zGMbtxzG4csxvH7I1j9sYxe+OYvXHM3jhmbxyzN47ZG8fsjWP2xjF7cMweHLMHx+zBMXtwzB4cswfH7MExe3DMHhqz7aEx2x4as+2hMdseGrPtoTHbHhqz7aEx2x4as+2hMdseHLMNx2zDMdtwzDYcsw3HbFwHabgO0nAdpOE6SMN1kIbrIA3XQRqugzRcB2m4DtJwHaThOkjDdZCG6yAN10EaroM0XAdpuA7ScB2k4TpIw3WQhusgDddBGq6DNFwHabgO0nAdpOE6SMN1kIbrIA3XQRqugzRcB2m4DtJwHaThOkjDdZCG6yAN10EaroM0XAdpuA7ScB2k4TpIw3WQhusgDddBGq6DNFwHabgO0nAdpOE6SMN1kIbrIA3XQRqugzRcB2m4DtJwHaThOkjDdZCG6yAN10EaroM0XAdpuA7ScB2k4TpIw3WQhusgDddBGq6DNFwHabgO0nAdpOE6SMN1kIbrIA3XQRqugzRcB2m4DtJwHaThOkjDdZAL10EuXAe5cB3kwnWQ66Exe+E6yIXrIBeug1y4DnLhOsiF6yAXroNcuA5y4TrIhesgF66DXLgOcuE6yIXrIBeug1y4DnLhOsiF6yAXroNcuA5y4TrIhesgF66DXLgOcuE6yIXrIBeug1y4DnLhOsiF6yAXroNcuA5y4TrIhesgF66DXLgOcuE6yIXrIBeug1y4DnLhOsiF6yAXroNcuA5y4TrIhesgF66DXLgOcuE6yIXrIBeug1y4DnLhOsiF6yAXroNcuA5y4TrIhesgF66DXLgOcuE6yIXrIBeug1y4DnLhOsiF6yAXroNcuA5y4TrIhesgF66DXLgOcuE6yIXrIBeug1y4DnLhOsiF6yAXroNcuA5y4TrIhesgF66DXLgOcuE6yIXrIBeug1y4DnLhOsiF6yAXroNcuA5y4TrIhesgF66DdFwH6bgO0nEdpOM6SH9ozHZcB+m4DtJxHaTjOkjHdZCO6yAd10E6roN0XAfpuA7ScR2k4zpIx3WQjusgHddBOq6DdFwH6bgO0nEdpOM6SMd1kI7rIB3XQTqug3RcB+m4DtJxHaTjOkjHdZCO6yAd10E6roN0XAfpuA7ScR2k4zpIx3WQjusgHddBOq6DdFwH6bgO0nEdpOM6SMd1kI7rIB3XQTqug3RcB+m4DtJxHaTjOkjHdZCO6yAd10E6roN0XAfpuA7ScR2k4zpIx3WQjusgHddBOq6DdFwH6bgO0nEdpOM6SMd1kI7rIB3XQTqug3RcB+m4DtJxHaTjOkjHdZCO6yAd10E6roN0XAfpuA7ScR2k4zpIx3WQjusgHddBOq6DdFwH6bgO0nEdpOM6SMd1kI7rIB3XQQaugwxcBxm4DjJwHWQ8NGYHroMMXAcZuA4ycB1k4DrIwHWQgesgA9dBBq6DDFwHGbgOMnAdZOA6yMB1kIHrIAPXQQaugwxcBxm4DjJwHWTgOsjAdZCB6yAD10EGroMMXAcZuA4ycB1k4DrIwHWQgesgA9dBBq6DDFwHGbgOMnAdZOA6yMB1kIHrIOPdHeTHMKkZ5rvQNetzmN6/8s/Xqp+PT1fPz5/+NsGPSTVxUps4qQFO6vvUi997Ukac1CJOyvWTSvuc1H7+bFJfANqfj5/t7uvz02FffLjzY9Y98fOk1+eXjR/py+aP9GXrR/qy/SN92U3/sp+f/vaX88sv+/EN5vZvUA/9G+z9+Q1+cRf94hsY/hv0xzeIx7/6Buv6b/DmXzU+hgnNMKkZpjTDtGaYrRlmJMP0oxnGNMMszTAaCrSGAq2hQGso0BoKtIYCraHA1lBgayiwNRTYGgpsDQW2hgJbQ4GtocDWUGBrKDAaCoyGAqOhwGgoMBoKjIYCo6HAaCgwGgqMhAL5PJphTDPM0gzjmmFCM0xqhinNMK0ZZmuG0VDANBQwDQVMQwHTUMA0FDANBUxDAdNQwDQUMA0FloYCS0OBpaHA0lBgaSiwNBRYGgosDQWWhgJLQwHXUMA1FHANBVxDAddQwDUUcA0FXEMB11DANRQIDQVCQ4HQUCA0FAgNBUJDgdBQIDQUCA0FQkOB1FAgNRRIDQVSQ4HUUCA1FEgNBVJDgdRQIDUUKA0FSkOB0lBA4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGrcwdS4g6lxB1PjDqbGHUyNO5gadzA17mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGncwdK4g6VxB0vjDtYTmmFSM0xphmnNMFszjIYCGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBr3MHWuIOtcQdb4w72E5phUjNMaYZpzTBbM4yGAhp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe7g1riDW+MObo07uDXu4H5CM0xqhinNMK0ZZmuG0VBA4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07OBp3cDTu4GjcwdG4g/OEZpjUDFOaYVozzNYMo6GAxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyJO+iPxB38NoxphlmaYVwzTGiGSc0wpRmmNcNszTAaCpiGAqahgGkoYBoKmIYCpqGAaShgGgqYhgKmocDSUGBpKLA0FFgaCiwNBZaGAktDgaWhwNJQYGko4BoKuIYCrqGAayjgGgq4hgKuoYBrKOAaCriGAqGhQGgoEBoKhIYCoaFAaCgQGgqEhgKhoUBoKJAaCqSGAqmhQGookBoKpIYCqaFAaiiQGgqkhgKloUBpKFAaCpSGAqWhQGkoUBoKlIYCpaFAaSjQGgq0hgKtoUBrKNAaCrSGAq2hQGso0BoKtIYCW0OBraHA1lBgayiwNRTYGgpsDQW2hgJbQ4GtocBoKDAaCoyGAqOhwGgoMBoKjIYCo6HAaCigcQdN4w6axh00jTtoGnfQntAMk5phSjNMa4bZmmE0FNC4g6ZxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHTeMOmsYdNI07aBp30DTuoGncQdO4g6ZxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHTeMOmsYdNI07aBp30DTuoGncQdO4g6ZxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHTeMOmsYdNI07aBp30DTuoGncQdO4g6ZxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHl8YdXBp3cGncwaVxB9cTmmFSM0xphmnNMFszjIYCGndwadzBpXEHl8YdXBp3cGncwaVxB5fGHVwad3Bp3MGlcQeXxh1cGndwadzBpXEHl8YdXBp3cGncwaVxB5fGHVwad3Bp3MGlcQeXxh1cGndwadzBpXEHl8YdXBp3cGncwaVxB5fGHVwad3Bp3MGlcQeXxh1cGndwadzBpXEHl8YdXBp3cGncwaVxB5fGHVwad3Bp3MGlcQeXxh1cGndwadzBpXEHl8YdXBp3cGncwaVxB5fGHVwad3Bp3MGlcQeXxh1cGndwadzBpXEHl8YdXBp3cGncwaVxB5fGHVwad3Bp3MGlcQeXxh1cGndwadzBpXEHl8YdXBp3cGncwaVxB5fGHVwad3Bp3MGlcQeXxh1cGndwadzBpXEHl8YdXBp3cGncQde4g65xB13jDrrGHfQnNMOkZpjSDNOaYbZmGA0FNO6ga9xB17iDrnEHXeMOusYddI076Bp30DXuoGvcQde4g65xB13jDrrGHXSNO+gad9A17qBr3EHXuIOucQdd4w66xh10jTvoGnfQNe6ga9xB17iDrnEHXeMOusYddI076Bp30DXuoGvcQde4g65xB13jDrrGHXSNO+gad9A17qBr3EHXuIOucQdd4w66xh10jTvoGnfQNe6ga9xB17iDrnEHXeMOusYddI076Bp30DXuoGvcQde4g65xB13jDrrGHXSNO+gad9A17qBr3EHXuIOucQdd4w66xh10jTvoGnfQNe6ga9xB17iDrnEHXeMOusYddI076Bp30DXuoGvcQde4g65xB13jDrrGHXSNO+gad9A17qBr3MHQuIOhcQdD4w6Gxh2MJzTDpGaY0gzTmmG2ZhgNBTTuYGjcwdC4g6FxB0PjDobGHQyNOxgadzA07mBo3MHQuIOhcQdD4w6Gxh0MjTsYGncwNO5gaNzB0LiDoXEHQ+MOhsYdDI07GBp3MDTuYGjcwdC4g6FxB0PjDobGHQyNOxgadzA07mBo3MHQuIOhcQdD4w6Gxh0MjTsYGncwNO5gaNzB0LiDoXEHQ+MOhsYdDI07GBp3MDTuYGjcwdC4g6FxB0PjDobGHQyNOxgadzA07mBo3MHQuIOhcQdD4w6Gxh0MjTsYGncwNO5gaNzB0LiDoXEHQ+MOhsYdDI07GBp3MDTuYGjcwdC4g6FxB0PjDobGHQyNOxgadzA07mBo3MHQuIOhcQdD4w6Gxh0MjTsYGncwNO5gaNzB1LiDqXEHU+MOpsYdzCc0w6RmmNIM05phtmYYDQU07mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGrcwdS4g6lxB1PjDqbGHUyNO5gadzA17mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGrcwdS4g6lxB1PjDqbGHUyNO5gadzA17mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGrcwdS4g6lxB1PjDqbGHUyNO5gadzA17mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGrcwdK4g6VxB0vjDpbGHawnNMOkZpjSDNOaYbZmGA0FNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHWuIOtcQdb4w62xh3sJzTDpGaY0gzTmmG2ZhgNBTTuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zBrXEHt8Yd3Bp3cGvcwf2EZpjUDFOaYVozzNYMo6GAxh3cGndwa9zBrXEHt8Yd3Bp3cGvcwa1xB7fGHdwad3Br3MGtcQe3xh3cGndwa9zBrXEHt8Yd3Bp3cGvcwa1xB7fGHdwad3Br3MGtcQe3xh3cGndwa9zBrXEHt8Yd3Bp3cGvcwa1xB7fGHdwad3Br3MGtcQe3xh3cGndwa9zBrXEHt8Yd3Bp3cGvcwa1xB7fGHdwad3Br3MGtcQe3xh3cGndwa9zBrXEHt8Yd3Bp3cGvcwa1xB7fGHdwad3Br3MGtcQe3xh3cGndwa9zBrXEHt8Yd3Bp3cGvcwa1xB7fGHdwad3Br3MGtcQe3xh3cGndwa9zBrXEHt8Yd3Bp3cGvcwa1xB7fGHdwad3Br3MGtcQe3xh3cGndwa9zBrXEHt8Yd3Bp3cDTu4GjcwdG4g6NxB+cJzTCpGaY0w7RmmK0ZRkMBjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgSdzAeiTv4bRjTDLM0w7hmmNAMk5phSjNMa4bZmmE0FDANBUxDAdNQwDQUMA0FTEMB01DANBQwDQVMQ4GlocDSUGBpKLA0FFgaCiwNBZaGAktDgaWhwNJQwDUUcA0FXEMB11DANRRwDQVcQwHXUMA1FHANBUJDgdBQIDQUCA0FQkOB0FAgNBQIDQVCQ4HQUCA1FEgNBVJDgdRQIDUUSA0FUkOB1FAgNRRIDQVKQ4HSUKA0FCgNBUpDgdJQoDQUKA0FSkOB0lCgNRRoDQVaQ4HWUKA1FGgNBVpDgdZQoDUUaA0FtoYCW0OBraHA1lBgayiwNRTYGgpsDQW2hgJbQ4HRUGA0FBgNBUZDgdFQYDQUGA0FRkOB0VBA4w6axh00jTtoGnfQNO6gPaEZJjXDlGaY1gyzNcNoKKBxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHTeMOmsYdNI07aBp30DTuoGncQdO4g6ZxB03jDprGHTSNO2gad9D+Cnew51eGyZn56dP1mH9+OuxjlL9CHfweo5hklPXbR6lnPZ+jeH41iktGCcko+V3WZf88Sv9ylL/8sFt9TMmt1+eH/XNGWz2jtdbHjJbHX86ovstdVfU5o/18sRL1Xe6q3R+jfNsh+2qU73JXVf48SvzG9f4r7I7vPKNfW+/9HVhV337x/ZxR7n99RuvbPH768PJ8vpjRws3o+N3004XzvHqhvXrhevVCf/XCePXCfPXCevXCfvXC/eqFL94563levdBevXC9eqG/emG8emG+emG9emG/euF+9cJX7xx79c6xV+8ce/XOsVfvHHv1zrFX7xx79c6xV+8ce/XOsVfvnPXqnbNevXPWq3fOevXOWa/eOevVO2e9euesV++c9eqds169c/zVO8dfvXP81TvHX71z/NU7x1+9c/zVO8dfvXP81TvHX71z4tU7J169c+LVOydevXPi1TsnXr1z4tU7J169c+LVOydevXPy1TsnX71z8tU7J1+9c/LVOydfvXPy1TsnX71z8tU7J1+9c+rVO6devXPq1TunXr1z6tU7p169c+rVO6devXPq1TunXr1z+tU7p1+9c/rVO6dfvXP61TunX71z+tU7p1+9c/rVO6dfvXP2q3fOfvXO2a/eOfvVO2e/eufsV++c/eqds1+9c/ard86re8jr1T3k9eoe8npxDzn/P1vBH38i8vzzv75n77k/BvBvf7Dx+Wnz54tPR+THn49G1PzZpz+mk6zpFGs6zZrOZk1nSNP5//xxwJumk/7x54uRsb6cjrGms1jTcdZ0pFTe8Tkd/3o6yZpOsabTrOls1nQGNR17WNMx1nQWazrOmg6LysaisrGobCwqG4vKxqLyYlF5sai8WFReLCovFpUXi8qLReXFovJiUXmxqOwsKjuLys6isrOo7CwqO4vKzqKys6jsLCq7ksr5Wd1F7vxqOvGwpmOs6SzWdJw1nWBNR0nlej6qqqiML6dTrOkMajr5sKZjrOks1nScNZ1gTUfJnbaPHxzd/Sufzin76dPfvkb+YibxOfm6efJ98+Q3Y/If05G+H9o/p/N8OZ16WNMx1nQWazrOmk6wppOs6RRrOs2azmZNh0XlZlG5WVRuFpWbReVmUblZVG4WlZtF5WZRuVlU3iwqbxaVN4vKm0XlzaLyZlF5s6i8WVTeLCpvFpWHReVhUXlYVB4llbd91j57PV9OJ1jTSdZ0ijWdZk1ns6YzpOm4tKP7K6ZjrOks1nRQVPYHRWV/UFT2B0Vlf1BU9gdFZX9YVDYWlY1FZWNR2VhUNhaVjUVlY1HZWFQ2FpWNReXFovJiUXmxqLxYVF4sKi8WlReLyotF5cWi8mJR2VlUdhaVnUVlZ1HZWVR2FpWdRWVnUdlZVHYWlYNF5WBROVhUDhaVg0XlYFE5WFQOFpWDReVgUTlZVE4WlZNF5WRROVlUThaVk0XlZFE5WVROFpWLReViUblYVC4WlYtF5WJRuVhULhaVi0XlYlG5WVRuFpWbReVmUblZVG4WlZtF5WZRuVlUbhaVN4vKm0XlzaLyZlF5s6i8WVTeLCpvFpU3i8qbReVhUXlYVB4WlVltn7PaPme1fc5q+5zV9jmr7XNW2xesti9YbV+w2r5gtX3xoKgcrLYvWG1fsNq+YLV9wWr7gtX2BavtC1bbF6y2L1htX7DavmC1fcFq+4LV9gWr7QtW2xesti9YbV+w2r5gtX3BavuC1fYFq+0LVtsXrLYvWG1fsNq+YLV9wWr7gtX2BavtC1bbF6y2L1htX7DavmC1fcFq+4LV9gWr7QtW2xesti9YbV+w2r5gtX3BavuC1fYFq+0LVtsXrLYvWG1fsNq+YLV9wWr7gtX2BavtC1bbF6y2L1htX7DavmC1fcFq+4LV9gWr7QtW2xesti9YbV+w2r5gtX3BavuC1fYFq+0LVtsXrLYvWG1fsNq+YLV9wWr7gtX2BavtC1bbF6y2L1htX7DavmC1fcFq+4LV9gWr7QtW2xesti9YbV+w2r5gtX3BavuC1fYFq+1LVtuXrLYvWW1fstq+fFBUTlbbl6y2L1ltX7LavmS1fclq+5LV9iWr7UtW25esti9ZbV+y2r5ktX3JavuS1fYlq+1LVtuXrLYvWW1fstq+ZLV9yWr7ktX2JavtS1bbl6y2L1ltX7LavmS1fclq+5LV9iWr7UtW25esti9ZbV+y2r5ktX3JavuS1fYlq+1LVtuXrLYvWW1fstq+ZLV9yWr7ktX2JavtS1bbl6y2L1ltX7LavmS1fclq+5LV9iWr7Utt21f+OZ2dX05nsabjrOkoqTy+PqYz7l9OJ1nTadZ0Nms6g5qONKb7K6ZjrOl8+aCv6o9Rnvi8bPrzqnzpqnrpqn7pqv3SVXN21be/+V+//x9/+P1/+vu/+8dvF/zL//Y///if//SHf/jjT3/7p//93//f//Lts/8H" }, { "name": "balance_of_public", "is_unconstrained": true, "custom_attributes": [], "abi": { "error_types": {}, "param_witnesses": { "owner": [{ "end": 1, "start": 0 }] }, "parameters": [{ "name": "owner", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }], "return_type": { "abi_type": { "kind": "field" }, "visibility": "public" }, "return_witnesses": [1] }, "bytecode": "H4sIAAAAAAAA/+2cXW/bNhSGJX/Ectwk9bedD0eJ06a7GRS7dTBgA7y/sJvtaoEbO0OArgZiF+j244OVis7ymjvIqPaIEIEQCETR1HkfvqKO7NiU7z0UP/lTpQxteqG2abKNvq1cCMaKfI3zP/xS0CpwSTOEM0ltC0y/X2Gnn2x/vrub/RXefpwvPofLT+tweRO+X376OF/hgb/DzkGyvZ59+BCul+FstVrcra/+nH2+en+7vlrd/r34V3SdVAJv04yphCFvo9GW9+iIbkgNTKA+lS9/W/C6n7RTvzq0UTzFXpZmj6KR0i9qzPoYplAvA09Jnucio3FGAXh+78leDBXNq6Lm1S702QL/Khn454MuxaZ90kvLXMgBM86L0JOdF4H8mEZ7X2Jsg6+B5i+OazupC87LSMWogibpbYPui6Tue7J3oVoSq5TEJo4XoL0n7vn4WunueJvlqVy2Bzy74jwPuUx+nA9z9iWwy8R9N1Ze1TWvdjSvdqEPMtQz8M8HXYpN+3VGW86Ly7dKu2HgRYPhaVj2osFoy3kxuVHaTQMvmgxP07IXTUZbcF6MlHbLwIsWw9Oy7EWL0RacF7F228CLNsPTtuxFm9EW9OJSaXcMvOgwPB3LXnQYbUEv3introEXXYana9mLLqMt58Uofj/UM/Cix/D0LHvRY7QFc2f8/qJv4EWf4elb9qLPaAteI9dKe9/Ai32GZ9+yF6SXlrnhIHPdQeZuDpgDrS6jPY7z54GBFwcMz4FlL0gvLXM3B8yBVpfRniyU9qGBF4cMz6FlL0gvLXPDQea6g8xdB5lbDjL3n5mtMOchbwRaXUb7Mv48fGTgxRHDc2TZC9JLy9zJAXOg1WW0J/H/PwcGXgwYnoFlLwaMtuBn+Pg9zLGBF8cMz7FlL0gvLXPXQeaXDjLXHWRuOMjcdJC55SBz20HmjoPMLubnnoPMfQeZXczPLt4HXZzPecgbgVaX0Z7MlXZo4EXI8ISWvQgZbcHP2/F3ricGXpwwPCeWvSC9tMw9B5nrDjJ3HWR+nht2mFsOMjcdZH7OG1/HHGh1Ge3JRGmfGnhxyvCcWvaC9NIyNx1kbjjIfOwgczcHzIFWl9Eex9pDAy+GDM/Qshekl5Z5kANmtR6E1ob86GfJM57XNB7yzNMYPY2xBvU98OxMnDGK8PycgdYreS12jtP+q0y1x9cq7rn8mOLfhr1JYpWTuOfMmL5L6r6wn28grg861F6C+g/+Y1/qR37QdUvsav91Ukd2/bihdtwu9HnNjH/qyY7/XOM515jVOfkervMs5pbJvFbfE9K1/BN4RQXX4lXFGR+88jRGKlWGx88BT83j1zJXNc9wfTO+dus/vk65rQDH0DkqMrHPoI3uF1x+Rp8yyM8bOZNyh56vd4BjmBOeCsOT1bpdOj8Um/Yr2XoRZbS2Mh4T5Q26pxA/6ZWgz2/JyaffImDBWMSpz3E8X9S3wPh4723mgzRrhW/+p6B2BbSrzHivnhgvxz1N2jGvED/u+3AM9cV7xjesjb7QG5CvCAx4rmowpgrzOq6f18dWY3zAPIn+Bt5jDpR8LoGKS88amArGVewlb7M8dT/B5x1k8FyHi23wc7Ve3s3+WPyymM19QNOfVYJbRL+H/QK0Y73ItN3DtgZDJl3VRtOgDG0FzSJ8FAdeCv8AMDZ9CKVGAAA=", "debug_symbols": "5dzrSpxXHIXxe5nPUvZa/33MrZRSTGKKIGOIplDEe+9rM6fg2EnFmv3gN6fZ01lbkvfJAX53q48X77/+8fvl+tP1zerdr3erq+sP57eX1+vl1d0q/VL/+Y83n8/XD69vbs+/3K7euaucrS7WHx++zLo/W326vLpYXkS9P3t0eig2h0eN3VlJR87K9uaw3NKJ02VUbU7X5HKwI9//drasb+j1Hb1+oNcrseeLPd/s+cGen9nzC3s+O7liN1fs6IpdXbOra3Z1za6uX6C6StG3k9IoJyalzdF04v9aW90uH4fflLYZnqnDC3V4pQ5v1OGdOnxAh0eiDhd1uKnDqeUMajmDWs6gljOo5QxqOYNazkwtZ6aWM1PLmanlzNRyZmo5M7WcmVrOTC1nppazUMtZqOUs1HIWajkLtZyFWs5CLWehlrNQy1mo5azUclZqOSu1nJVazkotZ6WWs1LLWanlrNRyVmo5G7WcjVrORi1no5azUcvZqOVs1HI2ajkbtZyNWs5OLWenlrNTy9mp5ezUcnZqOTu1nJ1azk4tZ6eWc1DLOajlHNRyDmo5B7Wcg1rOQS3noJZzUMs5qOVUoqZTidpOJWo8lw/FLqfmU4naTyVqQJWoBVWiJnT5JOpyYRsqbEOFbaiwDX0JiOgnLcc2VNiGCttQYRsqbEONbaixDTW2oVhbSFhcSFhdSFheSFhfSFhgSFhhSFhiSFhjSFhkSFhlSFhmSFhnSFhoSFhpSFhqSFhrSFhsSFhtSFhuSFhvSFhwSFhxSFhySFhzSFh0SFh1SFh2SFh3SFh4SFh5SFh6SFh7SFh8SFh9SFh+SFh/SFiASFiBSFiCSFiDSFiESFiFSFiGSFiHSFiISFiJSFiKSFiLSFiMSFiNSFiOSFiPSFiQSFiRSFiSSFiTSFiUSFiVSFiWSFiXSFiYSFiZSFiaSFibSFicSFidSFieSFifSFigSFihSFiiSFijSFikSFilSFimSFinyFinyFinyFinyFinyInaUGOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdImOdosA6RYF1igLrFAXWKYpEbWhgnaLAOkWBdYoC6xQF1ikKrFMUWKcosE5RYJ2iwDpFgXWK4kecon5quXanpVy/+5THp6N5czhrv2jsBrXZBvXZBo3JBv2IAfS6gzTbIM82KGYblGcbVGYbNNuT2rM9qT3bk9qzPaljtid1zPakjtme1DHbkzpme1LHbE/qmO1JHf/zk3rzKf1VPuVFnqml7j6l9RPfXNW2/dPW8uXYn172fduU04SbNOEmT7gpJtyUJ9xUJtxUX39T0W5TT99tOvJYXv6JYnN66bh3p/Oxv9FpZfvXP23k/Whv79re0F37G7rreDt3LekN3VWz33V3evlyHN51cwHTLxCzX6D33QUOfgrtL5Cnv0DbXiCnOHKBQr/A6d9gHPzMe+ICbf/bmNbbflKNY5OKtqeXX4HlyKT2+pPSv096Qo6ou+9tyo//TPoE2nDiTfGcN+XnvKk85031v71pefHn+ZfL8/dXFzfLGx5+7Ov6w+3l9Xrz8vavz99+ZDn7Nw==" }, { "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": "ndpBattQGIXRvWgciu8v6ekpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/Xl7ftse7y/Ol+37ZXgcKw/D7vhyf2qfD8Pr/rAbHmtsn98e7qNFRl1GK4zGjYwio5LRKKNJRrOMpIhRihiliFGKmKSISYqYpIhJipikiEmKmKSISYqYpIhJipiliFmKmKWIWYqYpYhZipiliFmKmKWIWYpoUkSTIpoU0aSIJkU0KaJJEU2KaFJEkyIWKWKRIhYpYpEiFilikSIWKWKRIhYpYpEiuhTRpYguRXQpoksRXYroUkSXIroU0aWIVYpYpYhVililiFWKWKWIVYpYpYhVililiGw2tAqtilYjrSZazbRqtFpo1WlFbYTaCLURaiPURqiNUBuhNkJthNoItVHURlEbRW0UtVHURlEbxJkhzwyBZkg0Q6QZMs0QaoZUM8SaIdcMwWZINkO0GbLNEG6GdDPEmyHfDAFnSDhDxBkyzhByhpQzxJwh5wxBZ0g6Q9QZss4Qdoa0M8SdIe8MgWdIPEPkGTLPEHqG1DPEniH3DMFnSD5D9BmyzxB+hvQzxJ8h/wwBaEhAQwQaMtAQgoYUNMSgIQcNQWhIQkMUGrLQEIaGNDTEoSEPDYFoSERDJBoy0RCKhlQ0xKIhFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLbvmafc87aInuWiRixa5aJGLFrlo/beL3k4/t+/77dNhd7/Ze//4cXz+d9H3drz8evv75fbvbw==" }, { "name": "pay_fee", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "fee_limit": [{ "end": 41, "start": 40 }], "inputs": [{ "end": 40, "start": 0 }] }, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables" } }], "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": "fee_limit", "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": [41, 42, 43, 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] }, "bytecode": "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", "debug_symbols": "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u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311K+u5by3bWU766lfHct5btrKd9dS/nuWsp311zf3edPv/7j+aqbI9TN5vruftqNSXXD1OLw+ugmvL/qxqW6CaluUqqbkuqGqTeR57Ob+mqmqN6yn3fDnKnj66Ob4/5VN8yZOv3xi/N5nq+6SalutlQ3R6kbqkfo592YVDdLqhuX6kZKb5aU3lA9Qj/vpqW6kdJipkcon/zY4Wl2fvbTpz7+l2k9K3/XSfzoneko+uW92+Del0bvP7pxZjeWn/MUX3YTUt2kVDcl1U1LdbOlujlK3cQj1Y1JdbOkupHS4pDS4pDS4pDS4pDS4pDS4pDS4pTS4pTS4pTS4pTS4pTS4pTS4pTS4pTS4pTS4pTS4pLS4pLS4pLS4pLS4pLS4pLS4pLS4pJSv5JSv5ZSv5ZSv5ZSP6Y/KM3P5734/PFbN9NN9Mt7z8G9Xyjfj0+c20/cuFp+fMKuP7GuP+HXn4jrT+T1J+r6E339ies339dvfq7f/Fy/+bl+83P95uf6zc/1m5/rNz/Xb36u3/zcvvl5nutP2PUn1vUn/PoTcf2JvP5EXX+irz+xrz9x/eZ2/eZ2/eZ2/eZ2/eZ2/eZ2/eZ2/eZ2/eZ2/eZ2/ebr+s3X9Zuv6zdf12++rt98Xb/5un7zdf3m6/rN1/Wb+/Wb+/Wb+/Wb+/Wb+/Wb+/Wb+/Wb+/Wb+/Wb+/Wbx/Wbx/Wbx/Wbx/Wbx/Wbx/Wbx/Wbx/Wbx/Wbx/Wb5/Wb5/Wb5/Wb5/Wb5/Wb5/Wb5/Wb5/Wb5/Wb5/Wb1/Wb1/Wb1/Wb1/Wb1/Wb1/Wb1/Wb1/Wb1/Wb1/Wb9/Wb9/Wb9/Wb9/Wb9/Wb9/Wb9/Wb9/WbX9/hzvUd7lzf4c71He5c3+HO9R3uXN/hzvUd7lzf4c71He5c3+HO9R3uXN/hzvUd7lzf4c71He5c3+HO9R3uXN/hzvUd7lzf4c71Hc6e60Pc6yN2/5F1/xG//0jcfyTvP1L3H+n7j+z7j9y/vt2/vt2/vt2/vt2/vt2/vt2/vt2/vt2/vt2/vt2//rp//XX/+uv+9df966/711/3r7/uX3/dv/66f/11//p+//p+//p+//p+//p+//p+//p+//p+//p+//p+//px//px//px//px//px//px//px//px//px//px//p5//p5//p5//p5//p5//p5//p5//p5//p5//p5//p1//p1//p1//p1//p1//p1//p1//p1//p1//p1//p9//p9//p9//p9//p9//p9//p9//p9//p9//p9//r7/vX3/evv+9ff96+/719/37/+vn/9ff/6+/719/3rn/vXP/evf+5f/9y//rl//XP/+uf+9c/965/717+/9dn9rc/ub312f+uz+1vf65967z+S9x+p+4/0/Uf2/UfuX//+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3tz67v/XZ/a3P7m99dn/rs/tbn93f+uz+1mf3t751f+tb97e+dX/rW/e3vnV/61v3t751f+tb97e+dX/rW/e3vnV/61s3t76/TY/Yp3/85DH7/NnsL3509ceP+u/iz90/G1kqjbhKI6HSSKo0UiqNtEojW6WRI9LIH/t/ROZXNqKirEtFWZeKsi4VZV0qyrpUlHWpKOtSUdaloqyuoqyuoqyuoqyuoqyuoqyuoqyuoqyuoqyuoqyuoqyhoqyhoqyhoqyhoqyhoqyhoqyhoqyhoqyhoqyhoqypoqypoqypoqypoqypoqypoqypoqyp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b9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/r2/a1v39/69v2tb9/f+vb9rW/f3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t79zf+s79re/c3/rO/a3v3N/6zv2t71zf+tZzfet7fcTuP7LuP+L3H4n7j+T9R+r+I33/kX3/kfvXt/vXt/vXt/vXt/vXt/vXt/vXt/vXt/vXt/vXt/vXX/evv+5ff92//rp//XX/+uv+9df966/711/3r7/uX9/vX9/vX9/vX9/vX9/vX9/vX9/vX9/vX9/vX9/vXz/uXz/uXz/uXz/uXz/uXz/uXz/uXz/uXz/uXz/uXz/vXz/vXz/vXz/vXz/vXz/vXz/vXz/vXz/vXz/vX7/uX7/uX7/uX7/uX7/uX7/uX7/uX7/uX7/uX7/uX7/vX7/vX7/vX7/vX7/vX7/vX7/vX7/vX7/vX7/vX3/fv/6+f/19//r7/vX3/evv+9ff96+/719/37/+vn/9c//65/71z/3rn/vXP/evf+5f/9y//rl//XP/+ve3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+uz+1uf3d/67P7WZ/e3Pru/9dn9rc/ub312f+tb97e+dX/rW/e3vnV/63v9G+77j+T9R+r+I33/kX3/kfvXv7/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1vfur/1rftb37q/9a37W9+6v/Wt+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9fn9rc/vb31+f+vz+1uf39/6/P7W5/e3Pr+/9cX9rS/ub31xf+uL+1tfPHH/kbz/SN1/pO8/su8/cv/697e+uL/1xf2tL+5vfXF/64v7W1/c3/ri/tYX97e+uL/1xf2tL+5vfXF/64v7W1/c3/ri/tYX97e+uL/1xf2tL+5vfXF/64v7W1/c3/ri/tYX97e+uL/1xf2tL+5vfXF/64v7W1/c3/ri/tYX97e+uL/1xf2tL+5vfXF/64v7W1/c3/ri/tYX97e+uLn1/fPf/Jytp3/8qK22z5+25V/99PNs//jxx1Z9/nztr368z/n46fOXX/jZSnzx03nKfvx0PSv/6qc/vuv6E31X/xN91/gTfdf8E33X+hN91/4Tfdf9J/qu58/zXW/+ZdP47/on+uem+hP9c1P9if656eZfqI7/rn+if26qP9E/NxX1n5vM67fv2v377/rRD+yfbT4KHHCBftAFDF1goQs4ukCgCyS6QKELNLoAepIbPckbPckbPckbPckbPckbPckbPckbPckbPckbPckbPckHPckHPckHPckHPckHPckHPckHPckHPckHPckHPMn5POgChi6w0AUcXSDQBRJdoNAFGl1gowugJ9nQk2zoSTb0JBt6kg09yYaeZENPsqEn2dCTbOhJXuhJXuhJXuhJXuhJXuhJXuhJXuhJXuhJXuhJXuhJdvQkO3qSHT3Jjp5kR0+yoyfZ0ZPs6El29CQ7epIDPcmBnuRAT3KgJznQkxzoSQ70JAd6kgM9yYGe5ERPcqInOdGTnOhJTvQkJ3qSEz3JiZ7kRE9yoie50JNc6Eku9CQXepILPcmFnuRCT3KhJxnNeCWa8Uo045VoxivRjFeiGa9EM16JZrwSzXglmvFKNOOVaMYr0YxXohmvRDNeiWa8Es14JZrxSjTjlWjGK9GMV6IZr0QzXolmvBLNeCWa8Uo045VoxivRjFeiGa9EM16JZrwKzXgVmvEqNONVaMarnkAXSHSBQhdodIGNLoCeZDTjVWjGq9CMV6EZr0IzXoVmvArNeBWa8So041VoxqvQjFehGa9CM16FZrwKzXgVmvEqNONVaMar0IxXoRmvQjNehWa8Cs14FZrxKjTjVWjGq9CMV6EZr0IzXoVmvArNeBWa8So041VoxqvQjFehGa9CM16FZrwKzXgVmvEqNONVaMar0IxXoRmvQjNehWa8Cs14FZrxKjTjVWjGq9CMV6EZr0IzXoVmvArNeBWa8So041VoxqvQjFehGa9CM16FZrwKzXgVmvEqNONVaMar0IxXoRmvQjNehWa8Cs14FZrxKjTjVWjGq9CMV6EZr0IzXoVmvArNeBWa8So041VoxqvQjFehGa9CM16FZrwKzXgVmvEqNONVaMar0YxXoxmvRjNejWa8+gl0gUQXKHSBRhfY6ALoSUYzXo1mvBrNeDWa8Wo049VoxqvRjFejGa9GM16NZrwazXg1mvFqNOPVaMar0YxXoxmvRjNejWa8Gs14NZrxajTj1WjGq9GMV6MZr0YzXo1mvBrNeDWa8Wo049VoxqvRjFejGa9GM16NZrwazXg1mvFqNOPVaMar0YxXoxmvRjNejWa8Gs14NZrxajTj1WjGq9GMV6MZr0YzXo1mvBrNeDWa8Wo049VoxqvRjFejGa9GM16NZrwazXg1mvFqNOPVaMar0YxXoxmvRjNejWa8Gs14NZrxajTj1WjGq9GMV6MZr0YzXo1mvBrNeDWa8Wo049VoxqvRjFejGa9GM16NZrwazXg1mvFqNOPVaMar0YxXoxmvRjNejWa8Nprx2mjGa6MZr41mvPYT6AKJLlDoAo0usNEF0JOMZrw2mvHaaMZroxmvjWa8Nprx2mjGa6MZr41mvDaa8dpoxmujGa+NZrw2mvHaaMZroxmvjWa8Nprx2mjGa6MZr41mvDaa8dpoxmujGa+NZrw2mvHaaMZroxmvjWa8Nprx2mjGa6MZr41mvDaa8dpoxmujGa+NZrw2mvHaaMZroxmvjWa8Nprx2mjGa6MZr41mvDaa8dpoxmujGa+NZrw2mvHaaMZroxmvjWa8Nprx2mjGa6MZr41mvDaa8dpoxmujGa+NZrw2mvHaaMZroxmvjWa8Nprx2mjGa6MZr41mvDaa8dpoxmujGa+NZrw2mvHaaMZroxmvjWa8Nprx2mjGa6MZr41mvDaa8dpoxmujGa+NZrw2mvHaaMZroxmvjWa8NprxOmjG66AZr4NmvA6a8TpPoAskukChCzS6wEYXQE8ymvE6aMbroBmvg2a8DprxOmjG66AZr4NmvA6a8TpoxuugGa+DZrwOmvE6aMbroBmvg2a8DprxOmjG66AZr4NmvA6a8TpoxuugGa+DZrwOmvE6aMbroBmvg2a8DprxOmjG66AZr4NmvA6a8TpoxuugGa+DZrwOmvE6aMbroBmvg2a8DprxOmjG66AZr4NmvA6a8TpoxuugGa+DZrwOmvE6aMbroBmvg2a8DprxOmjG66AZr4NmvA6a8TpoxuugGa+DZrwOmvE6aMbroBmvg2a8DprxOmjG66AZr4NmvA6a8TpoxuugGa+DZrwOmvE6aMbroBmvg2a8DprxOmjG66AZr4NmvA6a8TpoxuugGa+DZrwOmvE6aMbroBmvg2a8DprxOmDGyx8w4/UqYOgCC13A0QUCXSDRBQpdoNEFNroAepINPcmGnmRDT7KhJ9nQk2zoSTb0JBt6kg09yYae5IWe5IWe5IWe5IWe5IWe5IWe5IWe5IWe5IWe5IWeZEdPsqMn2dGT7OhJdvQkO3qSHT3Jjp5kR0+yoyc50JMc6EkO9CQHepIDPcmBnuRAT3KgJznQkxzoSU70JCd6khM9yYme5ERPcqInOdGTnOhJTvQkJ3qSCz3JhZ7kQk9yoSe50JNc6Eku9CQXepILPcmFnuRGT3KjJ7nRk9zoSW70JDd6khs9yY2e5EZPcqMneaMneaMneaMneaMneaMneaMneaMneaMneaMneaMn+aAn+aAn+aAn+aAn+aAn+aAn+aAn+aAn+aAnGc14GZrxMjTjZWjGy9CMlz2BLpDoAoUu0OgCG10APcloxsvQjJehGS9DM16GZrwMzXgZmvEyNONlaMbL0IyXoRkvQzNehma8DM14GZrxMjTjZWjGy9CMl6EZL0MzXoZmvAzNeBma8TI042VoxsvQjJehGS9DM16GZrwMzXgZmvEyNONlaMbL0IyXoRkvQzNehma8DM14GZrxMjTjZWjGy9CMl6EZL0MzXoZmvAzNeBma8TI042VoxsvQjJehGS9DM16GZrwMzXgZmvEyNONlaMbL0IyXoRkvQzNehma8DM14GZrxMjTjZWjGy9CMl6EZL0MzXoZmvAzNeBma8TI042VoxsvQjJehGS9DM16GZrwMzXgZmvEyNONlaMbL0IyXoRkvQzNehma8DM14GZrxMjTjZWjGy9CM10IzXgvNeC0047XQjNd6Al0g0QUKXaDRBTa6AHqS0YzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXo5mvBzNeDma8XI04+VPoAskukChCzS6wEYXQE8ymvFyNOPlaMbL0YyXoxkvRzNejma8HM14OZrxcjTj5WjGy9GMl6MZL0czXo5mvBzNeDma8XI04+VoxsvRjJejGS9HM16OZrwczXg5mvFyNOPlaMbL0YyXoxkvRzNejma8HM14OZrxcjTj5WjGy9GMl6MZL0czXo5mvBzNeDma8XI04+VoxsvRjJejGS9HM16OZrwczXg5mvFyNOPlaMbL0YyXoxkvRzNejma8HM14OZrxcjTj5WjGy9GMl6MZL0czXo5mvBzNeDma8XI04+VoxsvRjJejGS9HM16OZrz8a8bLzrM+PnjcflLmL//C8sdP/+XC9fnTYV/8cOf+8bN94rdfvD4bWmoNuVpDodZQqjVUv6KhtM+G8vy+oY8qTamyf0WVvT+r/O6/sd9VOb+kyofavO57/kWVrzm3X17l70ja53/Tdo4z/xzPUmvI1RoKtYZSraH6FQ39TGxOU6rsX1HlZ5J2zi+p8h+LTXwN/K3l/uNza2X8pEqec378dD32ZRWjVFmUKv7Hq9Szns8qnl9VCUqVpFSpX/Iu+7cq/R+L0V8y/T/+7K1/Uy7/7OiwO1rr458R/hIz8rcdrV/yV1X12dF+vniJ9Uv+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cpptcpptcpptcpq95DR7yWn2ktPsJafZS06zl5xmLznNXnKaveQ0e8lptstptstptstptstptstptstptstptstptstptstpdshpdshpdshpdshptpwP8sj5II+cD/LI+SCPnA/yyPkgj5wP8sj5II+cD/LI+SCPnA/yyPkgj5wP8sj5II+cD/LI+SCPnA/yyPkgj5wP8sj5II+cD/LI+SCPnA/yyPkgj5wP8sj5II+cD/LI+SCPnA/yyPkgj5wP8sj5II+cD/LI+SCPnA/yyPkgj5wP8sj5II+cD/LI+SCPnA/yyPkgj5wP8sj5II+cD/LI+SCPnA/yyPkgj5wP8sj5II+cD/LI+SCPnA/yyPkgj5wP8qj5IONR80G+OhLT7FdHYpr96khMs18diWn2qyMxzX51JKbZr47ENPvVkZhmvzqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIznNVvNBvjqS02w1H+SrIzXNNjkfpMn5IE3OB2lyPkh71DTb5HyQJueDNDkfpMn5IE3OB2lyPkiT80GanA/S5HyQJueDNDkfpMn5IE3OB2lyPkiT80GanA/S5HyQJueDNDkfpMn5IE3OB2lyPkiT80GanA/S5HyQJueDNDkfpMn5IE3OB2lyPkiT80GanA/S5HyQJueDNDkfpMn5IE3OB2lyPkiT80GanA/S5HyQJueDNDkfpMn5IE3OB2lyPkiT80GanA/S5HyQJueDNDkfpMn5IE3OB2lyPkiT80GanA/S5HyQJueDNDkfpMn5IE3OB2lyPkiT80GanA/S5HyQ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FlLPzULquVlIPTcLqedmIfXcLKSem4XUc7OQem4WUs/NQuq5WUg9Nwup52Yh9dwspJ6bhdRzs5B6bhbSnpuFtOdmIe25WUh7bhbSfsZu0z03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2nPzULac7OQ9twspD03C2n/PAupXj/8k9bj+Efraeuvynz50/u3n/7dF42vfrenfXxXz/XbT4d9foNU/wbPz75B/YJvkGt99lTry6duTpnNKXMYZc7Pk3x+TRnjlFmcMs4pE5wyySlTnDLNKbM5ZTgqYBwVMI4KGEcFjKMCxlEB46iAcVTAOCpgHBUwjgosjgosjgosjgosjgosjgosjgosjgosjgosjgosjgo4RwWcowLOUQHnqIBzVMA5KuAcFXCOCjhHBZyjAsFRgeCoQHBUIDgqEBwVCI4KBEcFgqMCwVGB4KhAclQgOSqQHBVIjgokRwWSowLJUYHkqEByVCA5KlAcFSiOChRHBYqjAsVRgeKoQHFUoDgqUBwVKI4KNEcFmqMCzVGB5qhAc1SgOSrQHBVojgo0RwWaowKbowKbowKbowKbowKbowKbowKbowKbowKbowKbowKHowKHowKHowKHowKHowKHowIcdvBw2MHDYQcPhR3cD4UdfJUxTpnFKeOcMsEpk5wyxSnTnDKbU4ajAsZRAeOogHFUwDgqYBwVMI4KGEcFjKMCxlEB46jA4qjA4qjA4qjA4qjA4qjA4qjA4qjA4qjA4qjA4qiAc1TAOSrgHBVwjgo4RwWcowLOUQHnqIBzVMA5KhAcFQiOCgRHBYKj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O3qSAz3JgZ7kQE9yoCc50JMc6EkO9CQHepIDPcmBnuRET3KiJznRk5zoSU70JCd6khM9yYme5ERPcqInudCTXOhJLvQkF3qSCz3JhZ7kQk9yoSe50JNc6Elu9CQ3epIbPcmNnuRGT3KjJ7nRk9zoSW70JDd6kjd6kjd6kjd6kjd6kjd6kjd6kjd6kjd6kjd6kjd6kg96kg96kg96kg96kg96kg96kg96kg96kg96ktGMl6EZL0MzXoZmvAzNeNkT6AKJLlDoAo0usNEF0JOMZrwMzXgZmvEyNONlaMbL0IyXoRkvQzNehma8DM14GZrxMjTjZWjGy9CMl6EZL0MzXoZmvAzNeBma8TI042VoxsvQjJehGS9DM16GZrwMzXgZmvEyNONlaMbL0IyXoRkvQzNehma8DM14GZrxMjTjZWjGy9CMl6EZL0MzXoZmvAzNeBma8TI042VoxsvQjJehGS9DM16GZrwMzXgZmvEyNONlaMbL0IyXoRkvQzNehma8DM14GZrxMjTjZWjGy9CMl6EZL0MzXoZmvAzNeBma8TI042VoxsvQjJehGS9DM16GZrwMzXgZmvEyNONlaMbL0IyXoRkvQzNehma8DM14GZrxMjTjZWjGy9CMl6EZL0MzXoZmvAzNeC0047XQjNdCM14LzXitJ9AFEl2g0AUaXWCjC6AnGc14LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC004+VoxsvRjJejGS9HM17+BLpAogsUukCjC2x0AfQkoxkvRzNejma8HM14OZrxcjTj5WjGy9GMl6MZL0czXo5mvBzNeDma8XI04+VoxsvRjJejGS9HM16OZrwczXg5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Al0g0QUKXaDRBTa6AHqS0YzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXgvNeC0047XQjNdCM14LzXgtNOO10IzXQjNeC814LTTjtdCM10IzXo5mvBzNeDma8XI04+VPoAskukChCzS6wEYXQE8ymvFyNOPlaMbL0YyXoxkvRzNejma8HM14OZrxcjTj5WjGy9GMl6MZL0czXo5mvBzNeDma8XI04+VoxsvRjJejGS9HM16OZrwczXg5mvFyNOPlaMbL0YyXoxkvRzNejma8HM14OZrxcjTj5WjGy9GMl6MZL0czXo5mvBzNeDma8XI04+VoxsvRjJejGS9HM16OZrwczXg5mvFyNOPlaMbL0YyXoxkvRzNejma8HM14OZrxcjTj5WjGy9GMl6MZL0czXo5mvBzNeDma8XI04+VoxsvRjJejGS9HM16OZrwczXg5mvFyNOPlaMbL0YyXoxkvRzNejma8HM14OZrxcjTj5WjGy9GMl6MZL0czXo5mvBzNeDma8XI04xVoxivQjFegGa9AM17xBLpAogsUukCjC2x0AfQkoxmvQDNegWa8As14BZrxCjTjFWjGK9CMV6AZr0AzXoFmvALNeAWa8Qo04xVoxivQjFegGa9AM16BZrwCzXgFmvEKNOMVaMYr0IxXoBmvQDNegWa8As14BZrxCjTjFWjGK9CMV6AZr0AzXoFmvALNeAWa8Qo04xVoxivQjFegGa9AM16BZrwCzXgFmvEKNOMVaMYr0IxXoBmvQDNegWa8As14BZrxCjTjFWjGK9CMV6AZr0AzXoFmvALNeAWa8Qo04xVoxivQjFegGa9AM16BZrwCzXgFmvEKNOMVaMYr0IxXoBmvQDNegWa8As14BZrxCjTjFWjGK9CMV6AZr0AzXoFmvALNeAWa8Qo04xVoxivQjFegGa9AM16JZrwSzXglmvFKNOOVT6ALJLpAoQs0usBGF0BPMprxSjTjlWjGK9GMV6IZr0QzXolmvBLNeCWa8Uo045VoxivRjFeiGa9EM16JZrwSzXglmvFKNOOVaMYr0YxXohmvRDNeiWa8Es14JZrxSjTjlWjGK9GMV6IZr0QzXolmvBLNeCWa8Uo045VoxivRjFeiGa9EM16JZrwSzXglmvFKNOOVaMYr0YxXohmvRDNeiWa88g8yXq+z6EeB1/9Y+n2Bv/1hz71//LCX/farzZ8vfjpWxo+ffv3H/Kuf/mx+T27+DG7+D3Jv/+DmbXLza3LzPrn5mNx8Tm6+Jjc/ecPW5A1bkzdsT96wPXnD9uQN25M37B/kf//BzU/esD15w/bkDduTN2xP3rB78obdkzfsnrxh9+QN+we5/H9w85M37J68YffkDbsnb9g9ecOeyRv2TN6wZ/KGPZM37B/0y/yDm5+8Yc/kDXsmb9gzecOewRu2nsEbtp7BG7aewRu2nsEbtp7BG7aewRu2nsEbtp7BG7aewRu2nskb1iZvWJu8YW3yhrXJG/YP+kv/wc1P3rA2ecPa5A1rkzesTd6wa/KGXZM37Jq8YdfkDfsHfd//4OYnb9g1ecOuyRt2Td6wa/KG9ckb1idvWJ+8YX3yhv2DeQz/4OYnb1ifvGF98ob1yRvWJ2/YmLxhY/KGjckbNiZv2D+Yk/IPbn7yho3JGzYmb9iYvGFj8obNyRs2J2/YnLxhc/KG/YP5Rf/g5idv2Jy8YSdnOtXkTKeanOlUkzOdanKmU03OdKrJmU41OdOpJmc61eRMp5qc6VSTM51qcqZTTc50qsmZTjU506kmZzrV5EynmpzpVJMznWpyplNNznSqyZlONTnTqSZnOtXkTKeanOlUkzOdanKmU03OdKrJmU41OdOpJmc61eRMp5qc6VSTM51qcqZTTc50qsmZTjU506kmZzrV5Eynmpzp1JMznXpyplNPznTqyZlO/QzesD0506knZzr15Eynnpzp1JMznXpyplNPznTqyZlOPTnTqSdnOvXkTKeenOnUkzOdenKmU0/OdOrJmU49OdOpJ2c69eRMp56c6dSTM516cqZTT8506smZTj0506knZzr15Eynnpzp1JMznXpyplNPznTqyZlOPTnTqSdnOvXkTKeenOnUkzOdenKmU0/OdOrJmU49OdOpJ2c69eRMp56c6dSTM516cqZTT8506smZTj0506knZzr15Eynnpzp1JMznXpyplNPznTqyZlOPTnTqSdnOvXkTKeenOnUkzOdenKmU0/OdOrJmU49OdOpJ2c69eRMp56c6dSTM516cqZTT8506smZTj0506knZzr15Eynnpzp1JMznXpyplNPznTqyZlOPTnTqSdnOvXkTKeenOnUkzOdenKmU0/OdOrJmU49OdOpJ2c69eRMp56c6dSTM516cqZTT8502pMznfbkTKc9OdNpT8502s/gDbsnZzrtyZlOe3Km056c6bQnZzrtyZlOe3Km056c6bQnZzrtyZlOe3Km056c6bQnZzrtyZlOe3Km056c6bQnZzrtyZlOe3Km056c6bQnZzrtyZlOWzfTyZd9NO9rfd287IZ9p3nZDftG87qZTu80L7th32ledsO+07zshn2nedkN+07zshv2neZlN+w7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvODN+zRzXR6p/nBG/boZjq90/zgDXuewRv26GY6vdP84A17dDOd3ml+8IY9uplObzSvm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN6xuptM7zU/esLqZTu80P3nD6mY6vdP85A2rm+n0TvOTN+zkTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OpMznc7kTKczOdPpTM50OoMzndYzONPp1fzcDftqfu6GfTU/d8O+mp+7YV/Nz92wr+bnbthX83M37Kv5uRv21fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNOzjT6dX85A07ONPp1fzkDTs40+nV/OQNK5zp9PnTr/94vm5ed8O+0bzuhn2jed0N+9PmTTfTKbw+mg/vr5uX3bDvNC+7Yd9pXnbDvtO87IZ9p3lZnY88n83X31EbWZ1/o3ndfJvjH7/69R/96+Zl1eb0Rxf5PM/XzcuqzTvNy/5T5TvNy6rNO83Lqs07zcv+U+UbzeumrLzTvK7Ov9H8ZJ3XTVl5p/mY3Lzs3ead5idvWNmUlXzy81e/ttHPfvrUx32tnpW/azt++6qq+xjwVVW396//qrJ5L//RV/1sXnXX52P5KR3xd5pX3fVvNa+6699qPiY3r7rr32pedde/1bzurn+jed3t/Ubzuvv4583L5r281fzkDSub9/JW85M3rGzey1vNT96wsnkvbzU/ecPK5r281fzkDSub9/JW85M3rGzey1vNT96wsnkvbzU/ecPK5r281fzkDSub9/JW85M3rGzey1vNT96wsnkvbzU/ecPK5r281fzkJSUbmfJW85OXlGxkyjvNy0amvNW87JJ6Xd8/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eDWa8Wo049VoxqvRjFejGa9GM16NZrwazXg1mvFqNOPVaMar0YxXoxmvRjNejWa8Gs14NZrxajTj1WjGq9GMV6MZr0YzXo1mvBrNeDWa8Wo049VoxqvRjFejGa9GM16NZrwazXg1mvFqNOPVaMar0YxXoxmvRjNejWa8Gs14NZrxajTjtdGM10YzXhvNeG0047WfQBdIdIFCF2h0gY0ugJ5kNOO10YzXRjNeG814bTTjtdGM10YzXhvNeG0047XRjNdGM14bzXhtNOO10YzXRjNeG814bTTjtdGM10YzXhvNeG0047XRjNdGM14bzXhtNOO10YzXRjNeG814bTTjtdGM10YzXhvNeG0047XRjNdGM14bzXhtNOO10YzXRjNeG814bTTjtdGM10YzXhvNeG0047XRjNdGM14bzXhtNOO10YzXRjNeG814bTTjtdGM10YzXhvNeG0047XRjNdGM14bzXhtNOO10YzXRjNeG814bTTjtdGM10YzXhvNeG0047XRjNdGM14bzXhtNOO10YzXRjNeG814bTTjtdGM10YzXhvNeG0047XRjNdGM14bzXhtNOO10YzXRjNeG814bTTjtdGM10EzXgfNeB0043XQjNd5Al0g0QUKXaDRBTa6AHqS0YzXQTNeB814HTTjddCM10EzXgfNeB0043XQjNdBM14HzXgdNON10IzXQTNeB814HTTjddCM10EzXgfNeB0043XQjNdBM14HzXgdNON10IzXQTNeB814HTTjddCM10EzXgfNeB0043XQjNdBM14HzXgdNON10IzXQTNeB814HTTjddCM10EzXgfNeB0043XQjNdBM14HzXgdNON10IzXQTNeB814HTTjddCM10EzXgfNeB0043XQjNdBM14HzXgdNON10IzXQTNeB814HTTjddCM10EzXgfNeB0043XQjNdBM14HzXgdNON10IzXQTNeB814HTTjddCM10EzXgfNeB0043XQjNdBM14HzXgdNON10IzXQTNeB814HTTjddCM1wEzXv6AGa9XAUMXWOgCji4Q6AKJLlDoAo0usNEF0JNs6Ek29CQbepINPcmGnmRDT7KhJ9nQk2zoSTb0JC/0JC/0JC/0JC/0JC/0JC/0JC/0JC/0JC/0JC/0JDt6kh09yY6eZEdPsqMn2dGT7OhJdvQkO3qSHT3JgZ7kQE9yoCc50JMc6EkO9CQHepIDPcmBnuRAT3KiJznRk5zoSU70JCd6khM9yYme5ERPcqInOdGTXOhJLvQkF3qSCz3JYMbLcYzX3/6w594/ftjLfvvVr6/5xU9H5Pnx0xF1/uqnP5uvyc335Ob35ObP4OZhvB6leVNtPj0/ms9YXze/Jjfvk5uPyc3rbtgdn83732led8O+0bzuhn2jed0N+0bzuhv2581v3Q37RvOyG/ad5mU37DvNy27Yd5qX3bDvND95w+7JG3ZP3rB78obdkzfsmbxhz+QNeyZv2DN5w8L8BJTmJ2/YM3nDnskb9kzesGfuhg2c74TS/NwNGzi/DKX5uRs2cD4fSvNzN2zg/EmU5udu2MD5qijNT96wJrthM+uz+Z1fN6/772HfaF7338O+0bzuv4d9o3nZDftO87Ib9p3mZTdsff7qqIyvm5fdsG80v2R1/p3mZXX+neZldf6d5mV1/p3mZXX+neZldf6d5mV1vu2ji+jun/x0nrIfP/360vm7tuO3ryq7FX79V5X9X2m//qvK/m+6/+CrfjTvuru+/bP55+80r7vr32hed9e/0bzurn+j+ZjcvO6uf6N53f9N90bzuv+b7o3mZffxO83Lbtg3mo/JGzYmb9iYvGFj8oaF5SpQmp+8YWPyho3JGzYmb9iYvGFz8obNyRs2J2/YnLxhYXknlOYnb9icvGFz8obNyRs2J2/Ymrxha/KGrckbtiZvWFgO0R9ufttn6shez9fNy27Yd5qX3bDvNC+7Yd9pXnbDvtO87IZ9o3ndjKN3mpfdsO80L7th32ledsO+0/zkDaubcfRO85M3rG7G0TvNT96wuhlHbzSvm3H0TvOTN6xuxtE7zU/esLoZR+80P3nD6mYcvdP85A2rm3H0TvOTN6xuxtE7zU/esLoZR+80P3nD6mYcvdP85A2rm3H0TvOTN6xuxtE7zQ/esKabcfRO84M3rOlmHL3T/OANa8/gDWu6GUfvND94w5puxtE7zQ/esKabcfRG87oZR+80P3nD6mYcvdP85A2rm3H0TvOTN6xuxtE7zU/esDZ5w9rkDaubLvVO85M3rG661DvNT96wuulS7zQ/ecPqpku90/zkDaubAPVO85M3rG6m0zvNT96wuplO7zQ/ecPqZjq90/zkDaub6fRO85M3rG6m0zvNT96wuplO7zQ/ecPqZjq90/zkDaub6fRO85M3rG6m0zvNT96wuplO7zQ/ecPqZjq90/zkDaub6fRO85M3rG6m0zvNT96wuplO7zQ/ecPqZjq90/zkDaub6fRO85M3rG6m0zvNT96wkzOdbHKmk03OdLLJmU42OdPJJmc62eRMJ5uc6WSTM51scqaTTc50ssmZTjY508kmZzrZ5Ewnm5zpZJMznWxyppNNznSyyZlONjnTySZnOtnkTCebnOlkkzOdbHKmk03OdLLJmU42OdPJJmc62eRMJ5uc6WSTM51scqaTTc50ssmZTmtyptOanOm0Jmc6rcmZTusZvGHX5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdFqTM53W5EynNTnTaU3OdPLJmU4+OdPJJ2c6+eRMJ38Gb1ifnOnkkzOdfHKmk0/OdPLJmU4+OdPJJ2c6+eRMJ5+c6eSTM518cqaTT8508smZTj4508knZzr55Ewnn5zp5JMznXxyppNPznTyyZlOPjnTySdnOvnkTCefnOnkkzOdfHKmkwtnOpV/Nr/z6+Z1N+wbzetu2Deal92wxz9+9es/+tfNy27Yd5qXXVLvNC+7pN5oXjcW6Z3mZZfUO83LLql3mv9DUnnZT+Tnxo86X/dTYv20WD9brJ+j1c8fy64B9GPEftLzo5+M9XU/S6wfF+snxPqh6vOOz3787/RTYv20WD9brJ+j1U89Yv2YWD9LrB8X6yfE+hHT5xLT5xLT5xLT5xLT5xbT5xbT5xbT5xbT5xbT5xbT5xbT5xbT5xbT5xbT5y2mz1tMn7eYPm8xfd5i+rzF9HmL6fMW0+ctps9bTJ8PU58z67Ofv/Ovwo+J9bPE+nGxfkKsnxTrh6nP9fmvZqMyvu6npfqJ5xHrx8T6WWL9uFg/IdZPivXD1J+2j18c3f2Tn85T9uOnX98jf9dJ/NZ9j+5+j+7+aHT/0Y9RN0V/Qpv9/J1+TKyfJdaPi/UTYv2kWD8l1k+L9bPF+jla/SwxfV5i+rzE9HmJ6fMS0+clps9LTJ+XmD4vMX1eYvrsYvrsYvrsYvrsYvrsYvrsYvrsYvrsYvrsYvrsYvocYvocYvocYvocYvocTH3+uRc+qE69d/opsX5arJ8t1s/R6ofq1HunHxPrZ4n142L9iOlziulziulziulziulziulzielzielzielzielzielzielzielzielzielzielzi+lzi+lzi+lzi+lzi+lzi+lzi+lzi+lzi+lzi+nzFtPnLabPW0yft5g+bzF93mL6vMX0eYvp8xbT5y2mz0dMn4+YPh8xfT5i+nzE9PmI6fMR0+cjps9HTJ+Plj7no6XP+Wjpcz5a+pyPlj7no6XP+Wjpcz5a+pyPlj7no6XP+Yjps4nps4nps4nps4nps4nps4nps4nps4nps4nps4np8xLT5yWmz0tMn5eYPi8xfV5i+rzE9HmJ6fMS0+clps8ups8ups8ups8ups8ups8ups8ups8ups8ups8ups8hps8hps8hps8hps9i/sEU8w+mmH8wxfyDKeYfTDH/YIr5B1PMP5hi/sEU8w+mmH8wxfyDKeYfTDH/YIr5B1PMP5hi/sEU8w+mmH8wxfyDKeYfTDH/YIr5B1PMP5hi/sEU8w+mmH8wxfyDKeYfTDH/YIr5B1PMP5hi/sEU8w+mmH8wxfyDKeYfTDH/YIr5B1PMP5hi/sEU8w+mmH8wxfyDKeYfTDH/YIr5B1PMP5hi/sEU8w+mmH8wxfyDKeYfTDH/YIr5B1PMP1hi/sES8w+WmH+wxPyD9Wjpc4n5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfLDH/YIn5B0vMP1hi/sES8w+WmH+wxPyDJeYfbDH/YIv5B1vMP9hi/sF+tPS5xfyDLeYfbDH/YIv5B1vMP9hi/sEW8w821z9Y/tnPzq/7cbF+Qqwfpj4fXx/9HPev+ymxfrZYP0erH6pf751+TKyfJdbPl/O+qj/KPPH5udO/fay+97H+3sf29z52vvWxry1NP//Yl/+V1KofH3v9q/wvP9bf+9j+3sfOtz72tYvg5x/78o/d8mML2bbfPvb6m3z9H/7///K//+u//E//5T//t9cH/vJ/93/82//87//6X//tx//x3//P/+3/+b95/ez/BQ==" }, { "name": "mint_public", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "amount": [{ "end": 42, "start": 41 }], "inputs": [{ "end": 40, "start": 0 }], "to": [{ "end": 41, "start": 40 }] }, "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": "to", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "amount", "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": [42, 43, 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] }, "bytecode": "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", "debug_symbols": "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qSxuqSxuqSxuqSxuqSxuqSxuqSxuqSxuqSxuqSw+Ull8pLIY/adgZX4Z/Nn5XTcu1U1IdZNS3WypbkqqGzKL9/O1+WFnfNfNEepmPeg/6ulXtONa7YRWO6nVztZqp7TaIWOn1ueDo6p+8OkfAk0fzZ/BzaP/OKnfvfml0fxnO+j5UP7VzvN9O67VTmi1k1rtbK12Squd1mrnSLWD/mOofkU7S6sdrVQ2rVQ2rVQ2rVQ2rVQ2rVQ2rVQ2rVR2rVR2rVR2rVR2rVR2rVR2rVR2rVR2rVR2rVR2rVQOrVQOrVQOrVQOrVQOrVQOrVRGlbheX0pc2/NtO6XVTmu1c6TaQbW4X9HO0mrHtNpxrXZCq53UakcrlVMrlVMrlVMrlbdWKm+tVN5aqby1UnlrpfLWSuWtlcpbK5W3VipvrVQurVQurVQurVQurVQurVQurVQurVQurVQurVQurVRurVRurVRurVRurVRurVRurVRurVRurVRurVRurVQ+Wql8tFL5aKXy0Urlo5XKRyuVj1YqH61UPlqpfKRSeT1SqbweqVRej1Qqr0cqlT/+l2utdqRSeT1SqbweqVRej1Qqr0crlZdWKi+tVF5aqby0UnlppfLSSuWllcpLK5WXViovrVQ2rVQ2rVQ2rVQ2rVQ2rVQ2rVQ2rVQ2rVQ2rVQ2rVR2rVR2rVR2rVR2rVR2rVR2rVR2rVR2rVR2rVR2rVQOrVQOrVQOrVQOrVQOrVQOrVTWcvuWltu3tNy+peX2LS23b2m5fUvL7Vtabt/ScvuWltu3tNy+peX2LS23b2m5fUvL7Vtabt/ScvuWltu3tNy+peX2LS23b2m5fUvL7Vtabt/ScvuWltu3tNy+peX2LS23b2m5fUvL7Vtabt/ScvuWltu3tNy+peX2LS23b2m5fUvL7Vtabt/ScvuWltu3tNy+peX2LS23b2m5fUvL7Vtabt/ScvuWltu3tNy+peX2LS23b2m5fabl9pmW22dabp9puX32SKWyabl9puX2mZbbZ1pun2m5fabl9pmW22dabp9puX2m5faZlttnWm6fabl9puX2mZbbZ1pun2m5fabl9pmW22dabp9puX2m5faZlttnWm6fabl9puX2mZbbZ1pun2m5fabl9pmW22dabp9puX2m5faZlttnWm6fabl9puX2mZbbZ1pun2m5fabl9pmW22dabp9puX2m5faZlttnWm6fabl9puX2mZbbZ1pun2m5fabl9pmW22dabp9puX2m5faZlttnWm6fabl9puX2mZbbZ1pun2m5fabl9pmW22dabp9puX2m5faZlttnWm6fabl9puX2mZbbZ1pun2m5fabl9pmW22dabp9puX2m5faZlttnWm6fabl9puX2mZbbZ1pun2m5fabl9pmW22dabp9puX2m5faZltvnWm6fa7l9ruX2uZbb549UKruW2+dabp9ruX2u5fa5ltvnWm6fa7l9ruX2uZbb56zbt/2rnc5v20mtdrZWO2QqH7fPdo77t+20VDuoTPcr2lla7ZhWO67VTki1c2MgfX5l3X/F7r/i91+J+6/k/Vf2/Vfq/it9/5Vz/ZW4f/tx//bj/u3H/duP+7cf928/7t9+3L/9uH/7cf/28/7t5/3bz/u3n/dvP+/fft6//bx/+3n/9vP+7ef929/3b3/fv/19//b3/dvf929/37/9ff/29/3b3/dvf9+//bp/+3X/9uv+7df926/7t1/3b7/u337dv/26f/t1//b7/u33/dvv+7ff92+/799+37/9vn/7ff/2+/7t9/3bP/dv/9y//XP/9s/92z/3b//cv/1z//bP/ds/92//XL/9eJ77r6z7r9j9V/z+K3H/lbz/yr7/St1/pe+/cv/21/3bX/dvf92//XX/9tf921/3b3/dv/11//bX/dtf92/f7t++3b99u3/7dv/27f7t2/3bt/u3b/dv3+7fvt2//fu7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+uL+7u+uL/ri/u7vri/64v7u764v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/68v7u768v+vL+7u+vL/ry/u7vry/69v3d337/q5v39/17fu7vn1/17fv7/r2/V3fvr/r2/d3ffv+rm/f3/Xt+7u+fX/Xt+/v+vb9Xd++v+vb93d9+/6ub9/f9e37u759f9e37+/69v1d376/69v3d337/q5v39/17fu7vn1/17fv7/r2/V3fvr/r2/d3ffv+rm/f3/Xt+7u+fX/Xt+/v+vb9Xd++v+vb93d9+/6ub9/f9e37u759f9e37+/69v1d376/69v3d337/q5v39/17fu7vn1/17fv7/r2/V3fvr/r2/d3ffv+rm/f3/Xt+7u+fX/Xt+/v+vb9Xd/+bf+kkT710yfPWl+fzfrmo1afH/Xn58e6fzUSKo2kSiNbpZFSaaRVGjkijfy2f37I79nIUmnEVBpRSdZSSdZSSdZSSdZSSdZSSdZSSdZWSdZWSdZWSdZWSdZWSdZWSdZWSdZWSdZWSdZWSdajkqxHJVmPSrIelWQ9Ksl6VJL1qCTrUUnWo5KsRyRZ6xFJ1npEkrUekWStRyRZ6xFJ1npEkrUekWStRyRZ6xFJ1npUknWpJOtSSdalkqxLJVmXSrIulWRdKsm6VJJ1qSTrUklWU0lWU0lWU0lWU0lWU0lWU0lWU0lWU0lWU0lWU0lWV0lWV0lWV0lWV0lWV0lWV0lWV0lWV0lWV0lWV0nWUEnWUEnWUEnWUEnWUEnWUEnWUEnWUEnWUEnWUEnWVEnWVEnWVEnWVEnWVEnWVEnWVEnWVEnWVEnWVEnWrZKsWyVZt0qyqjhYpeJglYqDVSoOVqk4WKXiYJWKg1UqDlapOFil4mCVioNVKg5WqThYpeJglYqDVSoOVqk4WKXiYJWKg1UqDlapOFil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DDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDuYDDu4GXZwM+zgZtjBzbCD+wmmTDJlNlOmmDLNlGFSgGEHN8MOboYd3Aw7uBl2cDPs4GbYwc2wg5thBzfDDm6GHdwMO7gZdnAz7OBm2MHNsIObYQc3ww5uhh3cDDu4GXZwM+zgZtjBzbCDm2EHN8MOboYd3Aw7uBl2cDPs4GbYwc2wg5thBzfDDm6GHdwMO7gZdnAz7OBm2MHNsIObYQc3ww5uhh3cDDu4GXZwM+zgZtjBzbCDm2EHN8MOboYd3Aw7uBl2cDPs4GbYwc2wg5thBzfDDm6GHdwMO7gZdnAz7OBm2MHNsIObYQc3ww5uhh3cDDu4GXZwM+zgZtjBzbCDm2EHN8MOboYd3Aw7uBl2cDPs4GbYwc2wg5thBzfDDm6GHdwMO7gZdnAz7OBm2MHNsIObYQc3ww4Www4Www4Www4Www7WE0yZZMpspkwxZZopw6QAww4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www4Www42ww42ww42ww42ww72E0yZZMpspkwxZZopw6QAww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww42ww4ehh08DDt4GHbwMOzgeYIpk0yZzZQppkwzZZgUYNjBw7CDh2EHD8MOHoYdPAw7eBh28DDs4GHYwcOwg4dhBw/DDh6GHTwMO3gYdvAw7OBh2MHDsIOHYQcPww4ehh08DDt4GHbwMOzgYdjBw7CDh2EHD8MOHoYdPAw7eBh28DDs4GHYwcOwg4dhBw/DDh6GHTwMO3gYdvAw7OBh2MHDsIOHYQcPww4ehh08DDt4GHbwMOzgYdjBw7CDh2EHD8MOHoYdPAw7eBh28DDs4GHYwcOwg4dhBw/DDh6GHTwMO3gYdvAw7OBh2MHDsIOHYQcPww4ehh08DDt4GHbwMOzgYdjBw7CDh2EHD8MOHoYdPAw7eBh28DDs4GHYwcOwg4dhBw/DDh6GHTwMO3gYdvAw7OBh2MGDsIPxIOzgR5nFlDGmjDNlgimTTJnNlCmmTDNlmBRYTAosJgUWkwKLSYHFpMBiUmAxKbCYFFhMCiwmBYxJAWNSwJgUMCYFjEkBY1LAmBQwJgWMSQFjUsCZFHAmBZxJAWdSwJkUcCYFnEkBZ1LAmRRwJgWCSYFgUiCYFAgmBYJJgWBSIJgUCCYFgkmBYFIgmRRIJgWSSYFkUiCZFEgmBZJJgWRSIJkUSCYFNpMCm0mBzaTAZlJgMymwmRTYTApsJgU2kwKbSYFiUqCYFCgmBYpJgWJSoJgUKCYFikmBYlKgmBRoJgWaSYFmUqCZFGgmBZpJgWZSoJkUaCYFmkmBw6TAYVLgMClwmBQ4TAocJgUOkwKHSYHDpADDDi6GHVwMO7gYdnAx7OB6gimTTJnNlCmmTDNlmBRg2MHFsIOLYQcXww4uhh1cDDu4GHZwMezgYtjBxbCDi2EHF8MOLoYdXAw7uBh2cDHs4GLYwcWwg4thBxfDDi6GHVwMO7gYdnAx7OBi2MHFsIOLYQcXww4uhh1cDDu4GHZwMezgYtjBxbCDi2EHF8MOLoYdXAw7uBh2cDHs4GLYwcWwg4thBxfDDi6GHVwMO7gYdnAx7OBi2MHFsIOLYQcXww4uhh1cDDu4GHZwMezgYtjBxbCDi2EHF8MOLoYdXAw7uBh2cDHs4GLYwcWwg4thBxfDDi6GHVwMO7gYdnAx7OBi2MHFsIOLYQcXww4uhh1cDDu4GHZwMezgYtjBxbCDi2EHF8MOLoYdXAw7uBh2cDHs4GLYwcWwg8awg8awg8awg8awg/YEUyaZMpspU0yZZsowKcCwg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg8awg86wg86wg86wg86wg/4EUyaZMpspU0yZZsowKcCwg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg86wg8Gwg8Gwg8Gwg8Gwg/EEUyaZMpspU0yZZsowKcCwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gwg8Gw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" }, { "name": "claim_public", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "amount": [{ "end": 42, "start": 41 }], "inputs": [{ "end": 40, "start": 0 }], "leaf_index": [{ "end": 44, "start": 43 }], "secret": [{ "end": 43, "start": 42 }], "to": [{ "end": 41, "start": 40 }] }, "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": "to", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "amount", "type": { "kind": "field" }, "visibility": "private" }, { "name": "secret", "type": { "kind": "field" }, "visibility": "private" }, { "name": "leaf_index", "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": "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2D5hsX3CYvuExfYJi+0TFtsnLLZPWGyfsNg+YbF9wmL7Jovtmyy2b7LYvsli++aFcuXJYvsmi+2bLLZvsti+yWL7Jovtmyy2b7LYvsli+yaL7Zsstm+y2L7JYvsmi+2bLLZvsti+yWL7Jovtmyy2b7LYvsli+yaL7Zsstm+y2L7JYvsmi+2bLLZvsti+yWL7Jovtmyy2b7LYvsli+yaL7Zsstm+y2L7JYvsmi+2bLLZvsti+yWL7Jovtmyy2b7LYvsli+yaL7Zsstm+y2L7JYvsmi+2bLLZvsti+yWL7Jovtmyy2b7LYvsli+yaL7Zsstm+y2L7JYvsmi+2bLLZvsti+yWL7Jovtmyy2b7LYvsli+2Yt22fzQ07oQznKkmMsOZWuvKfc5ew5H8oJlJxSmO4FOYMlR1hyJkvOQsk5IZDuPzLOf0TOf2Se/8g6/xE9/xE7/xE//5E4/5F9+iPrus5/ZJz/iJz/yDz/kXX+I3r+I3b+I37+I3H+I+dPf5w//XH+9Mf50x/nT3+cP/1x/vTH+dMf509/nD/9cf705fzpy/nTl/OnL+dPX86fvpw/fTl/+nL+9OX86cv505/nT3+eP/15/vTn+dOf509/nj/9ef705/nTn+dPf54//XX+9Nf501/nT3+dP/11/vTX+dNf509/nT/9df701/nT1/Onr+dPX8+fvp4/fT1/+nr+9PX86ev509fzp6/nT9/On76dP307f/p2/vTt/Onb+dO386dv50/fzp++nT99P3/6fv70/fzp+/nT9/On7+dP38+fvp8/fT9/+n7+9OP86cf504/zpx/nTz/On36cP/04f/px/vTj/OnH+dM/n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZn57P+vR81qfnsz49n/Xp+axPz2d9ej7r0/NZn57P+vR81qfnsz49n/Xp+axPz2d9ej7r0/NZn57P+vR81qfnsz49n/Xp+axPz2d9ej7r0/NZn57P+vR81qfnsz49n/Xp+axPz2d9ej7r0/NZn57P+vR81qfnsz49n/Xp+axPz2d9ej7r0/NZn57P+vR81qfnsz49n/Xp+axPz2d9ej7r0/NZn57P+vR81qfnsz49n/Xp+axPz2d9ej7r0/NZn57P+vR81qfnsz49n/Xp+axPz2d9ej7r0/NZn57P+vR81qfnsz49n/Xp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/0ic/8j50x/nT3+cP/1x/vTH+dMf509/nD/9cf70x/nTH+dPf5w/fTl/+nL+9OX86cv505fzpy/nT1/On76cP305f/py/vTn+dOf509/nj/9ef705/nTn+dPf54//Xn+9Of505/nT3+dP/11/vTX+dNf509/nT/9df701/nTX+dPf50//XX+9PX86ev509fzp6/nT1/Pn76eP309f/p6/vT1/Onr+dO386dv50/fzp++nT99O3/6dv707fzp2/nTt/Onb+dP38+fvp8/fT9/+n7+9P386fv50/fzp+/nT9/Pn76fP/04f/px/vTj/OnH+dOP86cf508/zp9+nD/9OH/6cf709/nT3+dPf58//X3+9Pf509/nT3+fP/19/vT3+dM/n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZn5zP+uR81ifnsz45n/XJ+axPzmd9cj7rk/NZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfPJ/1zfNZ3zyf9c3zWd88n/XN81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWd86n/Wt81nfOp/1rfNZ3zqf9a3zWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/16fmsT89nfXo+69PzWZ+ez/r0fNan57M+PZ/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+dz/rsfNZn57M+O5/12fmsz85nfXY+67PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1+fmsz89nfX4+6/PzWZ+fz/r8fNbn57M+P5/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWV+cz/rifNYX57O+OJ/1xfmsL85nfXE+64vzWd8+n/Xt81nfPp/17fNZ3z6f9e3z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4qWi4qWi4mdFxc+Kip8VFT8rKn5WVPysqPhZUfGzouJnRcXPiopfFRW/Kip+VVT8qqj4VVHxq6LiV0XFr4qKXxUVvyoqXisqXisqXisqXisqXisqXisqXisqXisqXisqXisq3ioq3ioq3ioq3ioq3ioq3ioq3ioq3ioq3ioq3ioq3isq3isq3isq3isq3isq3isq3isq3isq3isq3isqPioqPioqPioqPioqPioqPioqPioqPioqPioq/nGA+jZkvR+y/ckhfztF8/OIx5Hozz1i5B8h+UfM/CNW/hGaf4TlH+H5R0T+EenVva8r/4iRf4TkHzHzj1j5R2j+EZZ/hOcfEflH5Ff3yK/ukV/dI7+6R351j/zqHvnVPfKre+RX98iv7pFf3ZJf3ZJf3ZJf3ZJf3ZJf3ZJf3ZJf3ZJf3ZJf3ZJf3TO/umd+dc/86p751T3zq3vmV/fMr+6ZX90zv7pnfnWv/Ope+dW98qt75Vf3yq/ulV/dK7+6V351r/zqXvnVrfnVrfnVrfnVrX9c3eOKdV/mdPvfZh+ft/g4ZZWc8sc1PsY17389dPvfKo9OsU/4Lls+Thlz/H7KX3/crvuHTX49wx9/efVXH10+fn5U5RdlPeYj0lu33T98O0F/07w+vqp/n68a3+er7m/zVe36Pl91fJ+vKt/nq87v81XX9/mq+n2+6vd5W7Lv87Zk5W9Len/5jx9ri/6tryqy76/wMq+//LJ3+bu1fL96yx+95Utv+bO3/NVbvvaWb73le2/5vbuu9+660bvrRu+uG727bvTuutG760bvrhu9u2707rrRu+tG7667e3fd3bvr7t5dd/fuun8Om32t/N5dd/fuurt31929u+7u3HXtujp33Zv8zl33Jr9z173J79x1b/I7d92b/M5d9ya/c9e9ye/cdW/yO3fdm/zeXXf07rqjd9cdvbvu6N11/xzO/lr5vbvu6N11R++uO3p33dG760rvriu9u6707rrSu+v++dKEr5Xfu+tK764rvbuu9O660rvrzt5dd/buurN31529u+6fLzP5Wvm9u+7s3XVn7647e3fd2bvrrt5dd/Xuuqt31129u+6fLxn6Wvm9u+7q3XVX7667enfd1bvrau+uq727rvbuutq7637K5q8vlN+762rvrqu9u6727rrau+ta765rvbuu9e661rvr1u/S+lz5vbuu9e661rvrtt5NdZPfu+u23k11k9+767beTXWT37vrtt5NdZPfu+u23k11k9+767beTXWT37vrtt5NdZPfu+u23k11k9+767beTXWT37vrtt5NdZPfu+u23k11k9+767beTXWT37vrtt5NdZPfu+u23k11k9+767beTXWT37vrtt5NdZPfuuuO3rupRu/dVKP3bqrRezfVuFp33dF7N9XovZtq9N5NNXrvphq9d1ON3rupRu/dVKP3bqrRezfV6L2bavTeTTV676YavXdTjd67qUbv3VSj926q0Xs31ei9m2r03k01eu+mGr13U43eu6lG791Uo/duqtF7N9XovZtq9N5NNXrvphq9d1ON3rupRu/dVKP3bqrRezfV6L2bavTeTTV676YavXdTjd67qUbv3VSj926q0Xs31ei9m2r03k01eu+mGr13U43eu6lG791Uo/duqtF7N9XovZtq9N5NNXrvphq9d1ON3rupRu/dVKP3bqrRezfV6L2bavTeTTV676YavXdTjd67qUbv3VSj926q0Xs31ei9m2r03k01eu+mGr13U43eu6lG791Uo/duqtF7N9XovZtq9N5NNXrvphq9d1ON3rupRu/dVKP3bqrRezfV6L2bavTeTTV676YavXdTjd67qUbv3VSj926q0Xs31ei9m2r03k01eu+mGr13U43eu6lG791U0ns3lfTeTSW9d1NJ791UcrXuutJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTSe/dVNJ7N5X03k0lvXdTzd67qWbv3VSz926q2Xs31e3/tbf81l139t5NNXvvppq9d1PN3rupZu/dVLP3bqrZezfV7L2bavbeTTV776aavXdTzd67qWbv3VSz926q2Xs31ey9m2r23k01e++mmr13U83eu6lm791Us/duqtl7N9XsvZtq9t5NNXvvppq9d1PN3rupZu/dVLP3bqrZezfV7L2bavbeTTV776aavXdTzd67qWbv3VSz926q2Xs31ey9m2r23k01e++mmr13U83eu6lm791Us/duqtl7N9XsvZtq9t5NNXvvppq9d1PN3rupZu/dVLP3bqrZezfV7L2bavbeTTV776aavXdTzd67qWbv3VSz926q2Xs31ey9m2r23k01e++mmr13U83eu6lm791Us/duqtl7N9XsvZtq9t5NNXvvppq9d1PN3rupZu/dVLP3bqrZezfV7L2bavbeTTV776aavXdTzd67qWbv3VSz926q2Xs31ey9m2r23k01e++mmr13U83eu6lm791Us/duqtV7N9XqvZtq9d5NtXrvplpX6667eu+mWr13U63eu6lW791Uq/duqtV7N9XqvZtq9d5NtXrvplq9d1Ot3rupVu/dVKv3bqrVezfV6r2bavXeTbV676ZavXdTrd67qVbv3VSr926q1Xs31eq9m2r13k21eu+mWr13U63eu6lW791Uq/duqtV7N9XqvZtq9d5NtXrvplq9d1Ot3rupVu/dVKv3bqrVezfV6r2bavXeTbV676ZavXdTrd67qVbv3VSr926q1Xs31eq9m2r13k21eu+mWr13U63eu6lW791Uq/duqtV7N9XqvZtq9d5NtXrvplq9d1Ot3rupVu/dVKv3bqrVezfV6r2bavXeTbV676ZavXdTrd67qVbv3VSr926q1Xs31eq9m2r13k21eu+mWr13U63eu6lW791Uq/duqtV7N9XqvZtq9d5NtXrvplq9d1Ot3rupVu/dVKv3bqrVezfV6r2bavXeTbV676ZavXdTrd67qVbv3VSr926q1Xs31eq9m0p776bS3ruptPduKu29m0qv1l1Xe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birtvZtKe++m0t67qbT3birrvZvKeu+mst67qaz3biq7Wndd672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6ms924q672bynrvprLeu6m8924q772bynvvpvLeu6n8at11vfduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKu+9m8p776by3rupvPduKkfvppofMm5Hx1/I/+tP7xh3FdeYv0TLI81z2/3Da/7Fh+/3Qm7nX3kv5PeEr7wX8gvIV97Let/Lw3shvzJ95b2Q38W+8l7IL3lfeS/kt8evvBfya+kX3gt6K9xX3sv7fffxvbzfdx/fy/t99/G9rPe9PLyX9/vu43t5v+8+vpf3++7je3m/7z6+l/f77sN7Qe9j/Mp7eb/vPr6X9/vu43t5v+8+vpf1vpeH9/J+3318L+/33cf38n7ffXwv7/fdx/fyft99eC/oTahfeS/v993H9/J+3318L+/33cf3st738vBe3u+7j+/l/b77+F7e77uP7+X9vvv4Xt7vuw/vBb2D+Cvv5f2++/he3u+7j+/l/b77+F7W+14e3sv7fffxvTR9373Lb/paepePfnvcH/LX2LX/VaLfHr/sXgK9S/sr7wX99viF94J+e/zCe0G/PX7hvaz3vTy8F/Tb4xfeC/rt8QvvBf1a+oX38n7ffXwv7/fdh/eC3mL/lffyft99fC/v993H9/J+3318L+t9Lw/v5f2++/he3u+7j+/l/b77+F7e77uP7+X9vvvwXtD/fsRX3sv7fffxvbzfdx/fy/t99/G9rPe9PLyX9/vu43t5v+8+vpf3++7je3m/7z6+l/f77sN7Qf/LLV95L+/33cf38n7ffXwv7/fdx/ey3vfy8F7e77uP7+X9vvv4Xt7vu4/v5f2++/he3u+7D+8F/W8mfeW9vN93H99L0/fdu/ymr6V3+Qssf62Pfypmxaz9r5L89viV90J+e/zKeyG/PX7lvZDfHr/yXshvj194L+h/++sr74X89viV90J+e/zKeyG/ln7lvaz3vTy8l/f77uN7eb/vPr6X9/vu43t5v+8+vpf3++7De0H/219feS/v993H9/J+3318L+/33cf3st738vBe3u+7j+/l/b77+F7e77uP7+X9vvv4Xt7vuw/vBf1vf33lvbzfdx/fy/t99/G9vN93H9/Let/Lw3t5v+8+vpf3++7je3m/7z6+l/f77uN7eb/vPrwX9L/99ZX38n7ffXwv7/fdx/fyft99fC/rfS8P7+X9vvv4Xt7vu4/v5f2++/hemr7v3uU3fS39KR/9L2npte/ydUrpf5Xof0nrK++F/Pb4lfdCfnv8yntZ73t5eC/kt8evvBfy2+NX3gv57fEr74X89viV90J+Lf26e9nof/vrK+/l/b77+F7e77uP7+X9vvv4Xtb7Xh7ey/t99/G9vN93H9/L+3338b2833cf38v7fffhvaD/7a+vvJf3++7je3m/7z6+l/f77uN7We97eXgv7/fdx/fyft99fC/v993H9/J+3318L+/33Yf3gv63v77yXt7vu4/v5f2++/he3u+7j+9lve/l4b2833cf38v7fffxvbzfdx/fy/t99/G9vN93H94L+t/++sp7eb/vPr6X9/vu43t5v+8+vpfV817u8pu+lt7lo98eNT7kx6j9rxL99viF94J+e/zCe0G/PX7dvaD/Ja2vvBf02+MX3gv67fEL7wX99viF97Le9/LwXtCvpV94L+/33cf38n7ffXwv7/fdx/fyft99eC/of/vrK+/l/b77+F7e77uP7+X9vvv4Xtb7Xh7ey/t99/G9vN93H9/L+3338b2833cf38v7fffhvaD/7a+vvJf3++7je3m/7z6+l/f77uN7We97eXgv7/fdx/fyft99fC/v993H9/J+3318L+/33Yf3gv63v77yXt7vu4/v5f2++/he3u+7j+9lve/l4b2833cf38v7fffxvbzfdx/fy/t99/G9vN93H94L+t/++jfu5S6/6WvpXT757dHG/T80sRm1/1WS3x6/8l7W+14e3gv57fEr74X89viV90J+e/zKeyG/PX7lvZDfHr/wXtD/9tdX3gv5tfQr7+X9vvv4Xt7vu4/vZb3v5eG9vN93H9/L+3338b2833cf38v7fffxvbzfdx/ci1/of/vrK+/l/b77+F7e77uP7+X9vvv4Xtb7Xh7ey/t99/G9vN93H9/L+3338b2833cf38v7fffhvaD/7a+vvJf3++7je3m/7z6+l/f77uN7We97eXgv7/fdx/fyft99fC/v993H9/J+3318L+/33Yf3gv63v77yXt7vu4/v5f2++/he3u+7j+9lve/l4b2833cf30vT9927/KavpT/lo/9lJFP/kK/7oXx0034un+yV+5p3+VvkoXyypb0gn+w8L8gnO88L8sl/bn1BPvmPl/sXlbdDn7XzdVex7bcGPdf9q6L//ZNP/qrkfvLJX5X857pP/qrkP6p98ldd3+erot8+Pverot9UPverot9qjr7q/vXH5N9E/Piuf/1h3fd/5dCuXyqG2ce9oF+XvvBe/v28h33qvaD/EY+vvJd/P294n3sv/35eB0/uxeT+Yfvts7/fy7+fd8fPvZf1vpeH9/Lv5630c+/l388r7Ofey/d83zX9uBd7fC/f8333+b18z/fdp/eC/kc8vvJevmmfjut+LyEP7+Wb9umn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o/Vd3ozWd3kzWt/lzah8sdSXfdHv8ma0er4Z3dX3fN25q+/5DnNX3/PF5Kd67fm2cVff8xXirh5trnbdHdMueaQe7ZhP1aOrNuSuPvyRequvWtcP9dt+V3+XNHiShCdp8iQtniTlSTKeJOdJCp6kjZPkPPd2nns7z72d597Oc2/nubfz3Nt57u0893aeewfPvYPn3sFz7+C5d/DcO3juHTz3Dp57B8+9g+fem+fem+fem+fem+fem+fem+fem+fem+fem+feG+fecuHcWy6ce8uFc2+5cO4tF8695cK5t1w495YL595y4dxbLp57D557D557D557D557D557D557D557D557D557D557C8+9hefewnNv4bm38NxbeO4tPPcWnnsLz72F596T596T596T596T596T596T596T596T596T596T596L596L596L596L596L596L596L596L596L596L597Kc2/lubfy3Ft57q0891aeeyvPvZXn3spzb+W5N4+1FB5rKTzWUnispfBYS+GxlsJjLYXHWgqPtRQeayk81lJ4rKXwWEvhsZbCYy2Fx1oKj7UUHmspPNZSeKyl8FhLqWctp8T90zP8d0l//eF5mzj//PCcen18eMzrwad1229bcn77N0Hm+vi68r2+7vxeX3d9r6+r3+vr2vf6uv69vm58r6+7v9XXreeUv/brfq+3qv293qr293qrqufCv/brfq+3qv293qr293qr2t/rrWp/q7eqeX2rt6r5CbsJhvz6AuP2l4VPvu6/9fG7KCGKmkRRiyhKiaKMKMqJooIoagNFfcK2ggRRREcfREcfREcfREcfREcfREcfREcfREcfREcXoqML0dGF6OhCdHQhOroQHV2Iji5ERxeiowvR0SfR0SfR0SfR0SfR0SfR0SfR0SfR0SfR0SfR0SfR0RfR0RfR0RfR0RfR0RfR0RfR0RfR0RfR0RfR0RfR0ZXo6Ep0dCU6uhIdXYmOrkRHV6KjK9HRlejoSnR0Izq6ER3diI5uREe3akePPe85rtv/nI8kVft5xLpL2td6kizbl99/9R6XPdJvzfV7c/1B1q9qPz+r/uu//o/ooO3G4v3qLH50Fi+dxc/O4ldn8ehW+0w8us8+E49uss/Ed+6w3rnDRucOG507bHTusNG5w37CsowvFN+5w0bnDhudO2x07rDRucPuzh12d+6wu3OH3Z077CcsTvhC8Z077O7cYXfnDrs7d9jduMOuq3GHXVfjDruuxh12XY077Load9h1Ne6w62rcYdfVuMOuq3GHXVfnDjs6d9jRucOOzh12dO6w5SsePlV85w47OnfY0bnDjs4ddnTusNK5w0rnDiudO6x07rDlKzc+VXznDiudO6x07rDSucNK5w47O3fY2bnDzs4ddnbusOUrUD5VfOcOOzt32Nm5w87OHXZ27rCrc4ddnTvs6txhV+cOW76S5lPFd+6wq3OHXZ077OrcYVfnDqudO6x27rDaucNq5w5bviLoU8V37rDaucNq5w6rnTusdu6w1rnDWucOa507rHXusPUrmz5TfOcOy97s9Ex85w7beafT6rzTaXXe6bQ673RanXc6rc47nVbnnU6r806n1Xmn0+q802l13um0Ou90Wp13Oq3OO50We6eTXf7zsyb7gXh0h30mHt1hn4lHd9hn4tEd9pl4dId9Jh7dYZ+JR3fYJ+LZO52eiUd32GfiO3dY9k6nZ+I7d1j2Tqdn4jt3WPZOp2fiO3dY9k6nf1u8snc6PRPfuMMqe6fTM/GNO6xejTussnc6PRPfuMMqe6fTM/GNO6yydzo9Ec/e6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDsve6fRMfOcOy97p9Ex85w7L3un0THznDtt5p5N23umknXc6aeedTtp5p5N23umk8J1O677+zvSReHaH/bfFw3c6PRHP7rBPxLM77BPx7A77RDyow94lgfrmXRKoG94lgXrcXRKoc90lgfrRf5dkpL1Gd0mg3nGXBOoId0kgn79Lwrm3kbYA3SXh3NtIG3vuknDubaTtOj8lkXbm3CXx3Ju03+YuiefepF00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7cb7lnbjfUu78b6l3Xjf0m68b2k33re0G+9b2o33Le3G+5Z2431Lu/G+pd1439JuvG9pN963tBvvW9qN9y3txvuWduN9S7vxvqXdeN/SbrxvaTfet7Qb71vajfct7cb7lnbjfUu78b6l3Xjf0m68b2k33re0G+9b2o33Le3G+5Z2431Lu/G+pd1439JuvG9pN963tBvvW9qN9y3txvuWduN9S7vxvqXdeN/SbrxvaTfet7Qb71vajfct7cb7lnbjfUu78b6l3Xjf0m68b2k33re0G+9b2o33Le3G+5Z2431Lu/G+pd1439JuvG9pN963tBvvW9qN9y3txvuWduN9S7vxvqXdeN/SbrxvaTfet7Qb71vajfct7cb7lnbjfUu78b6l3Xjf0m68b2k33re0G+9b2o33Le3G+5Z2431Lu/G+pd1439JuvG9pN963tBvvW9qN9y3txvuWduN9S7vvvqVx9d23dNPetq/etLftqzftbfvqTXvbvnrT3rav3rS37as37W376k1727560964r/bdt3TT3riv9t23dNPeuK/23bd00964r/bdt3TT3riv9t23dNPeuK/23bd00964r/bdt3TT3riv9t23dNPeuK/23bd00964r/bdt3TT3riv9t23dDu1cV/tu2/pdmrjvtp339Lt1MZ9te++pdupjftq331Lt1Mb99W++5Zu2hv31b77lm7aG/fVvvuWbtob99W++5Zu2hv31b77lm7aG/fVvvuWbtob99W++5Zu2hv31b77lm7aG/fVvvuWbtob99W++5Zu2hv31b77lm7aG/fVvvuWbtob99W++5Zu2hv31b77lm7aG/fVvvuWbtob99W++5Zu2hv31b77lm7aG/fVvvuWbtob99W++5Zu2hv31b77lm7aG/fVvvuWbtohffVDD6RXfuiB9L8PPZCe9qEH0qc+9EB6z4ceSD/50APpER96IL5/10PZ8fOhB+bPlF08H3pg/kzZmfOhB+bPlN02H3pg/kzZQfOhh+XPg7Ir5kMPy58HZafLhx6WP4+L5c+Dsk/lQw/Lnwdl78mHHpY/D8p+krseys6RDz0wf6bsBvnQA/Nnyg6PDz0wf6bs2vjQA/Nnyk6MDz3J/nw/J3snxcc5o+gcKTpnFp2zis7RonOs6BwvOieKzinyg1nkB7PID2aRH8wiP5hFfjCL/GAW+cEs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8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4i/KJuyifuIvyibson7iL8om7KJ+4a/KJctXkE2/njKJzpOicWXTOKjpHi86xonO86JwoOqfID0aRH4wiPxhFfjCK/GAU+cEo8oNR5AejyA9GkR+MIj+QIj+QIj+QIj+QIj+QIj+QIj+QIj+QIj+QIj+QIj+YRX4wi/xgFvnBLPKDWeQHs8gPZpEfzCI/mEV+MIv8YBX5wSryg1XkB6vID1aRH6wiP1hFfrCK/GAV+cEq8gMt8gMt8gMt8gMt8gMt8gMt8gMt8gMt8gMt8gMt8gMr8gMr8gMr8gMr8gMr8gMr8gMr8gMr8gMr8gMr8gMv8gMv8gMv8gMv8gMv8gMv8gMv8gMv8gMv8gMv8oMo8oMo8oMo8oMo8oMo8oMo8oMo8oMo8oMo8oMo8oNd5Ae7yA92kR/sIj/YRX6wi/xgF/nBLvKDXeQHRfnEUZRPHEX5xFGUTxxF+cRxraJztOgcKzrHi86JonOK/KAonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiaMonziK8omjKJ84ivKJoyifOIryiVKUT5SifKIU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vy/ob95/0fuvXtHfvP+i91+9or95/0Xvv3pFf/P+i95/9Yr+5v0Xvf/qFf3N+y96/9Ur+pv3X/T+q1f0N++/6P1Xr+hv3n/R+69e0d+8/6L3X72iv3n/Re+/ekV/8/6L3n/1iv6H/u/r/oPu8UR/2H3JdGz77bP+4LN7j/s3vX77ojLXo2/68a9fW/wm3uyX+IUV737/L8DDHovXzuKts3jvLD46i99c8eYf4v2h+MerlrqIH53FS2fx3A77gnhwh30uHtxhf4nfj61SwR32uXhwh/3YyRXXeCwe3GHteiae3GGfiTdyh30qntthY+jHnxkf/0nKuB32BfHcDvuCeG6HfUE8t8NGfIjff6NguR32BfHcDvuCeG6HfUE8t8M+F+/cDvtr2dxtHvpYPLjDPhcP7rDPxYM77HPx4A77XDy4wz4XD+6wH+L333ifd3CHdfsQ//gP4A7usB+/+G+KB3fYp+ID3GGfiwd32OfiwR32uXhwh30uHtxhn4v/Y59XvduxavyF+I8zouCMnX/GvgrOGAVn/LFV6Ec4QUMfnzELzlgFZ2jBGVZwxp/Xedy9xC5/fEYUnLGzz5jXdRWcMQrOkIIzZsEZq+AMLTjDCs748zr/eGfQsMdnRMEZO/+McRWcMQrOkIIzZsEZq+AMLTjDCs4oqPNRUOejoM6loM6loM6loM6loM6loM6loM6loM6loM6loM6loM5nQZ3PgjqfBXU+C+p8FtT5LKjz+cd1bnL/p2xtrsdneMEZUXDGzj9jXQVn/HGd2/w4Q+fjM6TgjFlwxio4QwvOsIIzvOCMKDhj55/x58iJDf+oc318xig4QwrOmAVnrIIztOAMKzjDC86IgjN2/hlWUOdWUOdWUOdWUOdWUOdWUOdWUOdWUOdWUOdWUOdeUOdeUOdeUOdeUOdeUOdeUOdeUOdeUOdeUOdeUOdRUOdRUOdRUOdRUOdRUOdRUOdRUOdRUOdRUOePc2T3lND15PfPiHvK8PY/H+3OuZ0g6SfM9BNW+gmafoKln+DpJ0T6CTv5hPE4NfapJ/xZTe95N5i51984QdJPmOknrPQTNP0ESz/B00+I9BN29gnjSj8hvaZHek2P9Joe6TU90mt6/GFNj/HrhPn4BE8/IdJP2NknyJV+wkg/QdJPmOknrPQTNP2E9JqW9JqW9JqW9Jqe6TU902t6ptf0TK/pmV7TM72mZ3pNz/Sanuk1PdNreqXX9Eqv6ZVe0yu9pld6Ta/0ml7pNb3Sa3ql1/RKr2lNr2lNr2lNr2lNr2lNr2lNr+nH6Sf52M46r1/J3u2/fmz/XT/2OKP0/MfG3/dj8vf92Pz7fuzhldjHI7DYv35sf/zY4zjH8x8bf9+Pyd/3Y/Pv+7HHVyL31Qpm8egmH//N9/MfG3/fj8nf92Pz7Mdu/5f/55/+r3/+p//lP/3H/3L7gR//f//3v/yv//rP//lffv5f//X//T//+//P7bP/Pw==" }], "outputs": { "globals": { "storage": [{ "fields": [{ "name": "balances", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "1" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, PublicMutable<U128>>" } }], "kind": "struct" } }, { "name": "portal_address", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "2" } }, { "name": "typ", "value": { "kind": "string", "value": "SharedImmutable<EthAddress>" } }], "kind": "struct" } }], "kind": "struct" }] }, "structs": { "functions": [{ "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "portal_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }], "kind": "struct", "path": "GasToken::constructor_parameters" } }], "kind": "struct", "path": "GasToken::constructor_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "fee_limit", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::pay_fee_parameters" } }, { "name": "return_type", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::pay_fee_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "fee_limit", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::check_balance_parameters" } }], "kind": "struct", "path": "GasToken::check_balance_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "to", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "amount", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::mint_public_parameters" } }], "kind": "struct", "path": "GasToken::mint_public_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "to", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "amount", "type": { "kind": "field" } }, { "name": "secret", "type": { "kind": "field" } }, { "name": "leaf_index", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::claim_public_parameters" } }], "kind": "struct", "path": "GasToken::claim_public_abi" }] } }, "file_map": { "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" }, "117": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/public_mutable.nr", "source": "use crate::context::Context;\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:public_mutable_struct\nstruct PublicMutable<T> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:public_mutable_struct\n\nimpl<T> Storage<T> for PublicMutable<T> {}\n\nimpl<T> PublicMutable<T> {\n // docs:start:public_mutable_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicMutable { context, storage_slot }\n }\n // docs:end:public_mutable_struct_new\n\n // docs:start:public_mutable_struct_read\n pub fn read<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"PublicMutable reads only supported in public functions\");\n let fields = storage_read(self.storage_slot);\n T::deserialize(fields)\n }\n // docs:end:public_mutable_struct_read\n\n // docs:start:public_mutable_struct_write\n pub fn write<T_SERIALIZED_LEN>(self, value: T) where T: Serialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"PublicMutable writes only supported in public functions\");\n let fields = T::serialize(value);\n storage_write(self.storage_slot, fields);\n }\n // docs:end:public_mutable_struct_write\n}\n" }, "120": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_immutable.nr", "source": "use crate::{\n context::Context, history::public_storage::public_storage_historical_read,\n oracle::{storage::{storage_read, storage_write}}, state_vars::storage::Storage\n};\nuse dep::protocol_types::{constants::INITIALIZATION_SLOT_SEPARATOR, traits::{Deserialize, Serialize}};\n\n// Just like PublicImmutable but with the ability to read from private functions.\nstruct SharedImmutable<T>{\n context: Context,\n storage_slot: Field,\n}\n\nimpl<T> Storage<T> for SharedImmutable<T> {}\n\nimpl<T> SharedImmutable<T> {\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n\n // Intended to be only called once. \n pub fn initialize<T_SERIALIZED_LEN>(self, value: T) where T: Serialize<T_SERIALIZED_LEN> {\n assert(\n self.context.private.is_none(), \"SharedImmutable can only be initialized from public functions\"\n );\n // TODO(#4738): Uncomment the following assert\n // assert(\n // self.context.public.unwrap_unchecked().is_deployment(), \"SharedImmutable can only be initialized during contract deployment\"\n // );\n\n // We check that the struct is not yet initialized by checking if the initialization slot is 0\n let initialization_slot = INITIALIZATION_SLOT_SEPARATOR + self.storage_slot;\n let fields_read: [Field; 1] = storage_read(initialization_slot);\n assert(fields_read[0] == 0, \"SharedImmutable already initialized\");\n\n // We populate the initialization slot with a non-zero value to indicate that the struct is initialized\n storage_write(initialization_slot, [0xdead]);\n\n let fields_write = T::serialize(value);\n storage_write(self.storage_slot, fields_write);\n }\n\n pub fn read_public<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"Public read only supported in public functions\");\n let fields = storage_read(self.storage_slot);\n T::deserialize(fields)\n }\n\n pub fn read_private<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.public.is_none(), \"Private read only supported in private functions\");\n let private_context = self.context.private.unwrap();\n\n let mut fields = [0; T_SERIALIZED_LEN];\n\n for i in 0..fields.len() {\n fields[i] =\n public_storage_historical_read(\n (*private_context),\n self.storage_slot + i as Field,\n (*private_context).this_address()\n );\n }\n T::deserialize(fields)\n }\n}\n" }, "123": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/initializer.nr", "source": "use dep::protocol_types::{\n address::AztecAddress, hash::{silo_nullifier, pedersen_hash},\n constants::GENERATOR_INDEX__CONSTRUCTOR, abis::function_selector::FunctionSelector\n};\n\nuse crate::{\n context::{PrivateContext, PublicContext, AvmContext, ContextInterface},\n oracle::get_contract_instance::get_contract_instance,\n oracle::get_contract_instance::get_contract_instance_avm,\n history::nullifier_inclusion::prove_nullifier_inclusion\n};\n\npub fn mark_as_initialized_public(context: &mut PublicContext) {\n mark_as_initialized(context);\n}\n\npub fn mark_as_initialized_avm(context: &mut AvmContext) {\n mark_as_initialized(context);\n}\n\npub fn mark_as_initialized_private(context: &mut PrivateContext) {\n mark_as_initialized(context);\n}\n\nfn mark_as_initialized<TContext>(context: &mut TContext) where TContext: ContextInterface {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n ContextInterface::push_new_nullifier(context, init_nullifier, 0);\n}\n\npub fn assert_is_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_avm(context: &mut AvmContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_contract_initialization_nullifier(context.this_address());\n prove_nullifier_inclusion(init_nullifier, *context);\n}\n\nfn compute_contract_initialization_nullifier(address: AztecAddress) -> Field {\n silo_nullifier(\n address,\n compute_unsiloed_contract_initialization_nullifier(address)\n )\n}\n\nfn compute_unsiloed_contract_initialization_nullifier(address: AztecAddress) -> Field {\n address.to_field()\n}\n\npub fn assert_initialization_matches_address_preimage_public(context: PublicContext) {\n assert_initialization_matches_address_preimage(context);\n}\n\npub fn assert_initialization_matches_address_preimage_avm(context: AvmContext) {\n let address = context.this_address();\n let instance = get_contract_instance_avm(address).unwrap();\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn assert_initialization_matches_address_preimage_private(context: PrivateContext) {\n assert_initialization_matches_address_preimage(context);\n}\n\nfn assert_initialization_matches_address_preimage<TContext>(context: TContext) where TContext: ContextInterface {\n let address = context.this_address();\n let instance = get_contract_instance(address);\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn compute_initialization_hash(init_selector: FunctionSelector, init_args_hash: Field) -> Field {\n pedersen_hash(\n [init_selector.to_field(), init_args_hash],\n GENERATOR_INDEX__CONSTRUCTOR\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" }, "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" }, "153": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr", "source": "use crate::{\n address::{eth_address::EthAddress, aztec_address::AztecAddress},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, hash::pedersen_hash, traits::ToField\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\nstruct SaltedInitializationHash {\n inner: Field\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n SaltedInitializationHash::from_field(\n pedersen_hash(\n [\n salt,\n initialization_hash,\n deployer.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n" }, "154": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr", "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" }, "155": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr", "source": "use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n" }, "161": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr", "source": "use crate::{\n address::{\n aztec_address::AztecAddress, eth_address::EthAddress, partial_address::PartialAddress,\n public_keys_hash::PublicKeysHash\n},\n contract_class_id::ContractClassId,\n constants::{GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA, CONTRACT_INSTANCE_LENGTH},\n traits::{Deserialize, Hash, Serialize}\n};\n\nstruct ContractInstance {\n salt : Field,\n deployer: AztecAddress,\n contract_class_id : ContractClassId,\n initialization_hash : Field,\n public_keys_hash : PublicKeysHash,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys_hash.eq(other.public_keys_hash) &\n self.initialization_hash.eq(other.initialization_hash) &\n self.contract_class_id.eq(other.contract_class_id) &\n self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n self.public_keys_hash.to_field()\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys_hash: PublicKeysHash::from_field(serialized[4]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys_hash,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer\n )\n )\n }\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" }, "22": { "path": "std/field.nr", "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n" }, "229": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.nr", "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u64) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n" }, "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" }, "236": { "path": "/usr/src/noir-projects/noir-contracts/contracts/gas_token_contract/src/main.nr", "source": "mod lib;\n\ncontract GasToken {\n use dep::aztec::protocol_types::{abis::function_selector::FunctionSelector, address::{AztecAddress, EthAddress}};\n use dep::aztec::state_vars::{SharedImmutable, PublicMutable, Map};\n\n use crate::lib::{calculate_fee, get_bridge_gas_msg_hash};\n\n #[aztec(storage)]\n struct Storage {\n balances: Map<AztecAddress, PublicMutable<U128>>,\n portal_address: SharedImmutable<EthAddress>,\n }\n\n #[aztec(public)]\n #[aztec(initializer)]\n fn constructor(portal_address: EthAddress) {\n storage.portal_address.initialize(portal_address);\n }\n\n #[aztec(public)]\n fn claim_public(to: AztecAddress, amount: Field, secret: Field, leaf_index: Field) {\n let content_hash = get_bridge_gas_msg_hash(to, amount);\n\n // Consume message and emit nullifier\n context.consume_l1_to_l2_message(\n content_hash,\n secret,\n storage.portal_address.read_public(),\n leaf_index\n );\n\n let new_balance = storage.balances.at(to).read() + U128::from_integer(amount);\n storage.balances.at(to).write(new_balance);\n }\n\n // TODO(@just-mitch): remove this function before mainnet deployment\n // convenience function for testing\n // the true canonical gas token contract will not have this function\n #[aztec(public)]\n fn mint_public(to: AztecAddress, amount: Field) {\n let amount = U128::from_integer(amount);\n let new_balance = storage.balances.at(to).read().add(amount);\n\n storage.balances.at(to).write(new_balance);\n }\n\n #[aztec(public)]\n fn check_balance(fee_limit: Field) {\n let fee_limit = U128::from_integer(fee_limit);\n assert(storage.balances.at(context.msg_sender()).read() >= fee_limit, \"Balance too low\");\n }\n\n #[aztec(public)]\n fn pay_fee(fee_limit: Field) -> Field {\n let fee_limit_u128 = U128::from_integer(fee_limit);\n let fee = U128::from_integer(calculate_fee(context));\n // TODO(6252): implement debug logging in AVM\n //dep::aztec::oracle::debug_log::debug_log_format(\n // \"Gas token: paying fee {0} (limit {1})\",\n // [fee.to_field(), fee_limit]\n //);\n assert(fee <= fee_limit_u128, \"Fee too high\");\n\n let sender_new_balance = storage.balances.at(context.msg_sender()).read() - fee;\n storage.balances.at(context.msg_sender()).write(sender_new_balance);\n\n let recipient_new_balance = storage.balances.at(context.fee_recipient()).read() + fee;\n storage.balances.at(context.fee_recipient()).write(recipient_new_balance);\n\n let rebate = fee_limit_u128 - fee;\n rebate.to_field()\n }\n\n // utility function for testing\n unconstrained fn balance_of_public(owner: AztecAddress) -> pub Field {\n storage.balances.at(owner).read().to_field()\n }\n}\n" }, "237": { "path": "/usr/src/noir-projects/noir-contracts/contracts/gas_token_contract/src/lib.nr", "source": "use dep::aztec::prelude::{AztecAddress, EthAddress};\nuse dep::aztec::context::interface::PublicContextInterface;\nuse dep::aztec::protocol_types::hash::sha256_to_field;\n\npub fn calculate_fee<TPublicContext>(context: TPublicContext) -> Field where TPublicContext: PublicContextInterface {\n context.transaction_fee()\n}\n\npub fn get_bridge_gas_msg_hash(owner: AztecAddress, amount: Field) -> Field {\n let mut hash_bytes = [0; 68];\n let recipient_bytes = owner.to_field().to_be_bytes(32);\n let amount_bytes = amount.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i + 4] = recipient_bytes[i];\n hash_bytes[i + 36] = amount_bytes[i];\n }\n\n // Function selector: 0x3e87b9be keccak256('mint_public(bytes32,uint256)')\n hash_bytes[0] = 0x3e;\n hash_bytes[1] = 0x87;\n hash_bytes[2] = 0xb9;\n hash_bytes[3] = 0xbe;\n\n let content_hash = sha256_to_field(hash_bytes);\n content_hash\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" }, "29": { "path": "std/hash.nr", "source": "mod poseidon;\nmod mimc;\nmod poseidon2;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\nstruct PedersenPoint {\n x : Field,\n y : Field,\n}\n\npub fn pedersen_commitment<N>(input: [Field; N]) -> PedersenPoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\n#[foreign(pedersen_commitment)]\npub fn __pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\npub fn pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> PedersenPoint {\n let values = __pedersen_commitment_with_separator(input, separator);\n PedersenPoint { x: values[0], y: values[1] }\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<N>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\npub fn pedersen_hash_with_separator<N>(input: [Field; N], separator: u32) -> Field {}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n#[foreign(keccak256)]\n// docs:start:keccak256\npub fn keccak256<N>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<N>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, N> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n" }, "3": { "path": "std/cmp.nr", "source": "// docs:start:eq-trait\ntrait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\nimpl Eq for Field { fn eq(self, other: Field) -> bool { self == other } }\n\nimpl Eq for u64 { fn eq(self, other: u64) -> bool { self == other } }\nimpl Eq for u32 { fn eq(self, other: u32) -> bool { self == other } }\nimpl Eq for u8 { fn eq(self, other: u8) -> bool { self == other } }\nimpl Eq for u1 { fn eq(self, other: u1) -> bool { self == other } }\n\nimpl Eq for i8 { fn eq(self, other: i8) -> bool { self == other } }\nimpl Eq for i32 { fn eq(self, other: i32) -> bool { self == other } }\nimpl Eq for i64 { fn eq(self, other: i64) -> bool { self == other } }\n\nimpl Eq for () { fn eq(_self: Self, _other: ()) -> bool { true } }\nimpl Eq for bool { fn eq(self, other: bool) -> bool { self == other } }\n\nimpl<T, N> Eq for [T; N] where T: Eq {\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<T> Eq for [T] where T: Eq {\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<N> Eq for str<N> {\n fn eq(self, other: str<N>) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl<A, B> Eq for (A, B) where A: Eq, B: Eq {\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl<A, B, C> Eq for (A, B, C) where A: Eq, B: Eq, C: Eq {\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl<A, B, C, D> Eq for (A, B, C, D) where A: Eq, B: Eq, C: Eq, D: Eq {\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl<A, B, C, D, E> Eq for (A, B, C, D, E) where A: Eq, B: Eq, C: Eq, D: Eq, E: Eq {\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3) & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\nstruct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n// docs:start:ord-trait\ntrait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else {\n if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n\nimpl<T, N> Ord for [T; N] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<T> Ord for [T] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<A, B> Ord for (A, B) where A: Ord, B: Ord {\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl<A, B, C> Ord for (A, B, C) where A: Ord, B: Ord, C: Ord {\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D> Ord for (A, B, C, D) where A: Ord, B: Ord, C: Ord, D: Ord {\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D, E> Ord for (A, B, C, D, E) where A: Ord, B: Ord, C: Ord, D: Ord, E: Ord {\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max<T>(v1: T, v2: T) -> T where T: Ord {\n if v1 > v2 { v1 } else { v2 }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min<T>(v1: T, v2: T) -> T where T: Ord {\n if v1 > v2 { v2 } else { v1 }\n}\n\nmod cmp_tests {\n use crate::cmp::{min, max};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0 as u64, 1 as u64), 0);\n assert_eq(min(0 as u64, 0 as u64), 0);\n assert_eq(min(1 as u64, 1 as u64), 1);\n assert_eq(min(255 as u8, 0 as u8), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0 as u64, 1 as u64), 1);\n assert_eq(max(0 as u64, 0 as u64), 0);\n assert_eq(max(1 as u64, 1 as u64), 1);\n assert_eq(max(255 as u8, 0 as u8), 255);\n }\n}\n" }, "31": { "path": "std/merkle.nr", "source": "// Regular merkle tree means a append-only merkle tree (Explain why this is the only way to have privacy and alternatives if you don't want it)\n// Currently we assume that it is a binary tree, so depth k implies a width of 2^k\n// XXX: In the future we can add an arity parameter\n// Returns the merkle root of the tree from the provided leaf, its hashpath, using a pedersen hash function.\npub fn compute_merkle_root<N>(leaf: Field, index: Field, hash_path: [Field; N]) -> Field {\n let n = hash_path.len();\n let index_bits = index.to_le_bits(n as u32);\n let mut current = leaf;\n for i in 0..n {\n let path_bit = index_bits[i] as bool;\n let (hash_left, hash_right) = if path_bit {\n (hash_path[i], current)\n } else {\n (current, hash_path[i])\n };\n current = crate::hash::pedersen_hash([hash_left, hash_right]);\n }\n current\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" }, "41": { "path": "std/uint128.nr", "source": "use crate::ops::{Add, Sub, Mul, Div, Rem, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\n\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo, hi)\n }\n\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 { lo, hi }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<N>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1;\n if N <= 18 {\n for i in 0..N - 2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N - 1 {\n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n if ascii < 58 {\n ascii - 48\n } else if ascii < 71 {\n ascii - 55\n } else {\n ascii - 87\n } as Field\n }\n\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if self < b {\n (U128::from_u64s_le(0, 0), self)\n } else {\n //TODO check if this can overflow?\n let (q,r) = self.unconstrained_div(b * U128::from_u64s_le(2, 0));\n let q_mul_2 = q * U128::from_u64s_le(2, 0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::from_u64s_le(1, 0), r - b)\n }\n }\n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f - lo) / pow64;\n U128 { lo, hi }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo + self.hi * pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo * b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo + self.hi) * (b.lo + b.hi) - low + carry\n } else {\n self.lo * b.hi + self.hi * b.lo + carry\n };\n let hi = high as u64 as Field;\n U128 { lo, hi }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with underflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64))as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift left with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift right with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\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" }, "63": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/messaging.nr", "source": "use crate::{\n hash::{compute_secret_hash, compute_message_hash, compute_message_nullifier},\n oracle::get_l1_to_l2_membership_witness::get_l1_to_l2_membership_witness\n};\n\nuse dep::std::merkle::compute_merkle_root;\nuse dep::protocol_types::{constants::L1_TO_L2_MSG_TREE_HEIGHT, address::{AztecAddress, EthAddress}, utils::arr_copy_slice};\n\npub fn process_l1_to_l2_message(\n l1_to_l2_root: Field,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n chain_id: Field,\n version: Field,\n content: Field,\n secret: Field\n) -> Field {\n let secret_hash = compute_secret_hash(secret);\n let message_hash = compute_message_hash(\n portal_contract_address,\n chain_id,\n storage_contract_address,\n version,\n content,\n secret_hash\n );\n\n let returned_message = get_l1_to_l2_membership_witness(storage_contract_address, message_hash, secret);\n let leaf_index = returned_message[0];\n let sibling_path = arr_copy_slice(returned_message, [0; L1_TO_L2_MSG_TREE_HEIGHT], 1);\n\n // Check that the message is in the tree\n // This is implicitly checking that the values of the message are correct\n let root = compute_merkle_root(message_hash, leaf_index, sibling_path);\n assert(root == l1_to_l2_root, \"Message not in state\");\n\n compute_message_nullifier(message_hash, secret, leaf_index)\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" }, "90": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr", "source": "#[oracle(packReturns)]\nfn pack_returns_oracle<N>(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nfn unpack_returns_oracle<N>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<N>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n" }, "91": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr", "source": "use dep::protocol_types::{\n address::AztecAddress, contract_instance::ContractInstance, utils::arr_copy_slice,\n constants::CONTRACT_INSTANCE_LENGTH, utils::reader::Reader\n};\n\n#[oracle(getContractInstance)]\nfn get_contract_instance_oracle(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {}\n\n// Returns a ContractInstance plus a boolean indicating whether the instance was found.\n#[oracle(avmOpcodeGetContractInstance)]\nfn get_contract_instance_oracle_avm(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {}\n\nunconstrained fn get_contract_instance_internal(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n get_contract_instance_oracle(address)\n}\n\nunconstrained fn get_contract_instance_internal_avm(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {\n get_contract_instance_oracle_avm(address)\n}\n\npub fn get_contract_instance(address: AztecAddress) -> ContractInstance {\n let instance = ContractInstance::deserialize(get_contract_instance_internal(address));\n assert(instance.to_address().eq(address));\n instance\n}\n\npub fn get_contract_instance_avm(address: AztecAddress) -> Option<ContractInstance> {\n let mut reader = Reader::new(get_contract_instance_internal_avm(address));\n let found = reader.read();\n if found == 0 {\n Option::none()\n } else {\n Option::some(reader.read_struct(ContractInstance::deserialize))\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" }, "99": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_l1_to_l2_membership_witness.nr", "source": "use dep::protocol_types::{address::AztecAddress};\n\nglobal L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH: u64 = 17;\n\n// Obtains membership witness (index and sibling path) for a message in the L1 to L2 message tree.\n#[oracle(getL1ToL2MembershipWitness)]\nfn get_l1_to_l2_membership_witness_oracle(\n _contract_address: AztecAddress,\n _message_hash: Field,\n _secret: Field\n) -> [Field; L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH] {}\n\nunconstrained pub fn get_l1_to_l2_membership_witness(\n contract_address: AztecAddress,\n message_hash: Field,\n secret: Field\n) -> [Field; L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH] {\n get_l1_to_l2_membership_witness_oracle(contract_address, message_hash, secret)\n}\n" } } }
1
+ { "transpiled": true, "noir_version": "0.29.0+5b9b1fab51e35c2112c0136785b5b69cd8529a92", "name": "GasToken", "functions": [{ "name": "constructor", "is_unconstrained": true, "custom_attributes": ["aztec(public)", "aztec(initializer)"], "abi": { "error_types": {}, "param_witnesses": { "inputs": [{ "end": 40, "start": 0 }], "portal_address": [{ "end": 41, "start": 40 }] }, "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": "portal_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" }, "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" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "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": [41, 42, 43, 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] }, "bytecode": "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", "debug_symbols": "7b3tjry5cuR3L/osGMVkJpPcWzEMQ94XQ8BCWqy0BozF3rvr7E73jKzS6Y6Zrpggmfqi/5Gq6iErTubD51cR2f/9b/7Df/y//tv//X/+/T/8p3/8p7/5d//7f/+b//yP//7v/vnv//Efnv/pv//N43+z3v/n//mf/svf/cNf/i//9M9/91//+W/+3eNv/+Y//sN/eP7v//G3f/Of/v4//8e/+Xfm9j/+j7/9n+9w+B0Bv2PA70j4HRN+x0Lf4Q/4He377/jbf/U6y/nLKy3X52v947PtjZ/d3/jZ/sbPjjd+9njjZ+cbP3u+8bPX+z47Hm/87DfWZbyxLuONdRlvrMv4Q//97vPzw5///PXT1/j4+PnWjx9/6L8tfT0+P37548XH23s/vr/34/29Hx/v/fjx3o/P9378fO/Hr7d+fD7e+/Hvrdp8b9Xme6s231u1+d6qzfdWbb63avO9VZvvrdr53qqdQNX+8o4/Vogx42NB45G/XdC/frG3x8fnemvxYvVdaC2DuJYYH2uxl2tJobVMobUsnbWsh9BamtBaiP3l+WD6uZawF2vpQmtxobWE0FqG0FpSaC1TaC1LZi398RBaSxNai07f7Q+dvtsfOn23P3T6bn/o9N3+0Om7/aHTd/tDqO82ob7bhPpuE+q7TajvNqG+24T6bhPqu02o7zahvtuE+q4J9V0T6rsm1HdNqO+aUN81ob5rQn3XhPquCfVdE+q7XajvdqG+24X6bhfqu12o73ahvtuF+m4X6rtdqO92ob7rQn3XhfquC/VdF+q7LtR3XajvulDfdaG+60J914X6bgj13RDquyHUd0Oo74ZQ3w2hvhtCfTeE+m4I9d0Q6rtDqO8Oob47hPruEOq7Q6jvDqG+O4T67hDqu0Oo7w6hvptCfTeF+m4K9d0U6rsp1HdTqO+mUN9Nob6bQn03hfruFOq7U6jvTqG+O4X67hTqu1Oo706hvjuF+u4U6rtTqO8uob67hPquUF6tC+XVulBerQvl1bpQXq0L5dW6UF6tC+XVXCiv5kJ5NRfKq7lQXs0fOn3XhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyqu5UF7NhfJqLpRXc6G8mgvl1Vwor+ZCeTUXyquFUF4thPJqIZRXC6G8Wjx0+m4I5dVCKK8WQnm1EMqrhVBeLYTyaiGUVwuhvFoI5dVCKK8WQnm1EMqrhVBeLYTyaiGUVwuhvFoI5dVCKK8WQnm1EMqrhVBeLYTyaiGUVwuhvFoI5dVCKK8WQnm1EMqrhVBeLYTyaiGUVwuhvFoI5dVCKK8WQnm1EMqrhVBeLYTyaiGUVwuhvFoI5dVCKK8WQnm1EMqrhVBeLYTyaiGUVwuhvFoI5dVCKK8WQnm1EMqrhVBeLYTyaiGUVwuhvFoI5dWCmVfrbX6spbf1Yi1daC0utJYQWssQWksKrWUKrWXprIWZV/tyLU1oLUJ9N4X6bgr13RTquynUd1Oo76ZQ302hvjuF+u4U6rtTqO9Oob47hfruFOq7U6jvTqG+O4X67hTqu0uo7y6hvruE+u4S6rtLqO8uob67hPruEuq7S6jvLp2+Ox46fXc8dPrueOj03fHQ6bvjodN3x0On746HTt8dD52+Ox46fXc8hPpuE+q7TajvNqG+24T6bhPqu02o7zahvtuE+m4T6rtNqO+aUN81ob5rQn3XhPquCfVdE+q7JtR3TajvmlDfNaG+24X6bhfqu12o73ahvtuF+m4X6rtdqO92ob7bhfpuF+q7LtR3XajvulDfdaG+60J914X6rgv1XRfquy7Ud12o74ZQ3w2hvhtCfTeE+m4I9d0Q6rsh1HdDqO+GUN8Nob47hPruEOq7Qnm1IZRXG0J5tSGUVxtCebUhlFcbQnm1IZRXG0J5tSGUVxtCebUhlFcbQnm1IZRXG0J5tSGUVxtCebUhlFcbQnm1IZRXG0J5tSGUVxtCebUhlFcbQnm1IZRXG0J5tSGUVxtCebUhlFcbQnm1IZRXG0J5tSGUVxtCebUhlFcbQnm1IZRXS6G8Wgrl1VIor5ZCebV86PTdFMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK+WQnm1FMqrpVBeLYXyaimUV0uhvFoK5dVSKK82hfJqUyivNoXyalMorzYfOn13CuXVplBebQrl1aZQXm0K5dWmUF5tCuXVplBebQrl1aZQXm0K5dWmUF5tCuXVplBebQrl1aZQXm0K5dWmUF5tCuXVplBebQrl1aZQXm0K5dWmUF5tCuXVplBebVLzap8vfv5zvFiLCa2lC63FhdZC7Lve+8davPuLtQyhtaTQWqbQWpbOWpi5LI/xuZbxoo6Y+aNl62Mtqz9erIVYR2vk51pWvlhL6qyFmbP5ci1NaC0mtJYutBYXWksIrUWov4RSf5lCa1k6axlCfZeYs4mHf9yno7XxxYtXfLx4PKz/uo5H/1i5bbvyvu3KXWHlv6wliGtp9rGWh79ayxBaSwqtZQqtZemshZj4+XotTWgtJrSWLrQWF1qLUN9Nob6bQn03hfpuCvXdKdR3p1DfnUJ9dwr13SnUd6dQ351CfXcK9d0p1HenUN9dQn13CfXdJdR3l1DfXUJ9dwn13SXUd5dQ3106fXc9dHrdeuj0uvXQ6XXrodPr1kOn1y1iyiZaH598d/1RMr2ImZyfXnnuunJmruULv8li5lq+XIuOD2cxcy1frsWF1hJCayH6B6J/3AGe/1wv1pJCa5lCa1k6a2HmWr5cSxNaiwmtpQutxYXWEkJrYfqrZ/tci71aSwqtZQqtZemshZlr+XItTWgtJrSWLrQWF1pLCK1FqO92ob7bhfpuF+q7LtR3XajvulDfdaG+60J914X6rgv1XRfquy7Ud12o74ZQ3w2hvhtCfTeE+m4I9d0Q6rsh1HdDqO+GUN8Nob47hPou8+8wRXzm22Pai7WY0Fq60FpcaC0htJYhtBbm72rrcx7CiPZiLVNnLcy/N/TlWkxoLV1oLS60lhBayxBaC7G/5OMzU57pf/3FX7uImH+d6IdXvnZdOfMvH/3bK/9lLcQ7wMjH51oer9ZiQmvpQmtxobWE0FqG0FpSaC1TaC1LZy3Mv3z05VqE+u4S6rtLqO8uob67hPruEuq7S6jvLqG+u3T6bns8dBrvczE6nfe5GJ3W+1yMTu99Lkan+T4Xo9N9n4vRab/Pxej03+didBrwczFKHbgpdeCm1IGbUgduSh24KXVgZmJsts/E2Gz5ajFDaTGptJiptJgltBhmbOzrxTSlxZjSYrrSYlxpMUod2JQ6sCl1YFPqwKbUgbtSB+5KHbgrdeCu1IG7UgfuSh24K3XgrtSBu1IH7kod2JU6sCt1YFfqwK7UgV2pA7tSB3alDuxKHdiVOrArdeBQ6sCh1IFDqQOHUgcOpQ4cSh04lDpwKHXgUOrAodSBh1IHHkodeCh14KHUgYdSBx5KHXgodeCh1IGHUgceSh04lTpwKnXgVOrAqdSBU6kDp1IHTqUOnEodOJU6cCp14KnUgadSB55KHXgqdeCp1IGnUgeeSh14KnXgqdSBp1IHXkodeCl14KXUgZdSB15KHXgpdeCl1IGXUgdeSh14CXXg9hDqwO0h1IHbQ6gDt4dQB37+lqy0GKEO3B5CHbg9hDpwewh14PZQ6sBNqQM3pQ7clDpwU+rATakDK2XimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXimlImrill4ppSJq4pZeKaUiauKWXiTCkTZ0qZOFPK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KZPzSpmcV8rkvFIm55UyOa+UyXmlTM4rZXJeKZPzSpmcV8rkvFIm5zVlcl5TJuc1ZXJeUybnNR8qPXbK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvKZMzmvK5LymTM5ryuS8pkzOa8rkvJZMzmvJ5LyWTM5ryeS81kOlxy6ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZmc15LJeS2ZnNeSyXktmZzXksl5LZWclz1Ucl7PlYj02OdKRHrscyUiPfa5kj/UY1ebHyvp9kdXEjIrGTIrSZmVTJmVLJWV/LGc14+upMmsBOixH2/p+Fscf0vgbxn4WxJ/y8TfsuC3IHmZj7c0/C24+oarb7j6hqtvuPqGq2+4+oar33H1O65+x9XvuPodV7/j6ndc/Y6r33H1O66+4+o7rr7j6juuvuPqO66+4+o7rr7j6juu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s76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs76Bs77EWV/irC9x1pc460uc9SXO+hJnfYmzvsRZX+KsL3HWlzjrS5z1Jc76Emd9ibO+xFlf4qwvcdaXOOtLnPUlzvoSZ32Js77EWV/irC9x1pc460uc9SXO+hJnfYmzvsRZX+KsL3HWlzjrS5z1Jc76Emd9ibO+xFlf4qwvcdaXOOtLnPUlzvoSZ32Js77EWV/irC9x1pc460uc9SXO+hJnfYmzvsRZX+KsL3HWlzjrS5z1Jc76Emd9ibO+xFlf4qwvcdaXOOtLnPUlzvoSZ32Js77EWV/irC9x1pc460uc9SXO+hJnfYmzvsRZX+KsL3HWlzjrS5z1Jc76Emd9ibO+xFlf4qwvcdaXOOtLnPUlzvoSZ32Js77EWV/irC9x1pc465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s465s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461s461sw6+sPmPU939Lwtxj+lo6/xfG3BP6Wgb8l8bdM/C24+g1Xv+HqN1z9hqvfcPUbrn7D1W+4+g1Xv+HqG66+4eobrr7h6huuvuHqG66+4eobrr7h6ndc/Y6r33H1O65+x9XvuPodV7/j6ndc/Y6r77j6jqvvuPqOq++4+o6r77j6jqvvuPqOqx+4+oGrH7j6gasfuPqBqx+4+oGrH7j6gas/cPUHrv7A1R+4+gNXf+DqD1z9gas/cPUHrn7i6ieufuLqJ65+4uonrn7i6ieufuLqJ67+xNWfuPoTV3/i6k9c/YmrP3H1J67+xNWfuPoLV3/h6i9c/YWrv3D1F67+wtVfuPoLVx9nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfQ1nfYazPsNZn+Gsz3DWZzjrM5z1Gc76DGd9hrM+w1mf4azPcNZnOOsznPUZzvoMZ32Gsz7DWZ/hrM9w1mc46zOc9RnO+gxnfYazPsNZn+Gsz3DWZzjrM5z1Gc76DGd9hrM+w1mf4azPcNZnOOsznPUZzvoMZ32Gsz7DWZ/hrM9w1mc46zOc9RnO+gxnfYazPsNZn+Gsz3DWZzjrM5z1Gc76DGd9hrM+w1mf4azPcNZnOOsznPUZzvoMZ32Gsz7DWZ/hrM9w1mc46zOc9RnO+gxnfYazPsNZn+Gsz3DWZzjrM5z1Gc76DGd9hrM+w1mf4azPcNZnOOsznPUZzvoMZ32Gsz7DWZ/hrM9w1mc46zOc9RnO+gxnfYazPsNZn+Gsz3DW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW13HW5zjrc5z1Oc76HGd9jrM+x1mf46zPcdbnOOtznPU5zvocZ32Osz7HWZ/jrM9x1uc463Oc9TnO+hxnfY6zPsdZn+Osz3HW5zjrc5z1Oc76HGd9jrM+x1mf46zPcdbnOOtznPU5zvocZ32Osz7HWZ/jrM9x1uc463Oc9TnO+hxnfY6zPsdZn+Osz3HW5zjrc5z1Oc76HGd9jrM+x1mf46zPcdbnOOtznPU5zvocZ32Osz7HWZ/jrM9x1uc463Oc9TnO+hxnfY6zPsdZn+Osz3HW5zjrc5z1Oc76HGd9jrM+x1mf46zPcdbnOOtznPU5zvocZ32Osz7HWZ/jrM9x1uc463Oc9TnO+hxnfY6zPsdZn+Osz3HW5zjrc5z1Oc76HGd9gbO+wFlf4KwvcNYXOOsLnPUFzvoCZ32Bs77AWV/grC9w1hc46wuc9QXO+gJnfYGzvsBZX+CsL3DWFzjrC5z1Bc76Amd9gbO+wFlf4KwvcNYXOOsLnPUFzvoCZ32Bs77AWV/grC9w1hc46wuc9QXO+gJnfYGzvsBZX+CsL3DWFzjrC5z1Bc76Amd9gbO+wFlf4KwvcNYXOOsLnPUFzvoCZ32Bs77AWV/grC9w1hc46wuc9QXO+gJnfYGzvsBZX+CsL3DWFzjrC5z1Bc76Amd9gbO+wFlf4KwvcNYXOOsLnPUFzvoCZ32Bs77AWV/grC9w1hc46wuc9QXO+gJnfYGzvsBZX+CsL3DWFzjrC5z1Bc76Amd9gbO+wFlf4KwvcNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNY3cNaXOOtLnPUlwvr+9l+9zlrmLy816/b56pUvXvyXv637y4v/8scW//qL1/z44Paw8fna1vxz5X3blfu2K49tVz62XXluu/K57crXritHfiMQW3nbduXb3kPbtvdQ5PcjsZVvew9t295D27b30LbtPbRtew+1be+htu091La9h9q291DkV3ixlW97D7Vt76G27T3Utr2H2rb30L7tPbRvew/t295D+7b3UMTLJLbybe+hfdt7aN/2Htq3vYf2be+hvu091Le9h/q291Df9h6KOELFVr7tPdS3vYf6tvdQ3/Ye6tveQ2Pbe2hsew+Nbe+hse09FPHVi61823tobHsPjW3vobHtPTS2vYeObe+hY9t76Nj2Hjq2vYci6SSxlW97Dx3b3kPHtvfQse09dGx7D81t76G57T00t72H5rb3UCTjKbbybe+hue09NLe9h+a299Dc9h46t72Hzm3voXPbe+jc9h6KJOXFVr7tPXRuew+d295D57b30LntPXRtew9d295D17b30LXtPRSZNyK28m3voWvbe+ja9h66tr2Hrl3vofOx6z10Pna9h85t5xTNbecUzceu99C57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corntnKK57Zyiue2corXtnKK17Zyite2corXtnKL12PUeuradU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7S2nVO0tp1TtLadU7R2nVPkj13nFD1Xvuk99LnyTe+hz5Vveg99rnzTe+hz5ZveQ58r3/Qe+lz5pvfQ58o3vYc+V77tPXTXOUXPlW97D911TtFz5dveQ3edU/Rc+bb30F3nFD1Xvu09dNc5Rc+Vb3sP3XVO0XPl295Dd51T9Fz5tvfQXecUPVe+7T101zlFz5Vvew/ddU7Rc+Xb3kN3nVP0XPm299Bd5xQ9V77tPXTXOUXPlW97D911TtFz5dveQ3edU/Rc+bb30F3nFD1Xvu09dNc5Rc+Vb3sP3XVO0XPl295Dd51T9Fz5tvfQXecUPVe+7T101zlFz5Vvew/ddU7Rc+Xb3kN3nVP0XPm299Bd5xQ9V77tPXTXOUXPlW97D911TtFz5dveQ3ed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qmUUUy2jmGoZxVTLKE61jOJUyyhOtYziVMsozodYp55qGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxamWUZxqGcWpllGcahnFqZZRnGoZxaWWUVxqGcWlllFcahnF9RDr1Esto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSy2juNQyiksto7jUMopLLaO41DKKSyyjOB5iGcXngrQ69XNBWp36uSCtTv1ckFanfi5Iq1M/F6TVqZ8L0urUzwVpderngtQ6tVhG8bkgtU4tllF8LkitU4tlFJ8LUuvUYhnF54LUOrVYRvG5ILVOLZZRfC5IrVOLZRSfC1Lr1GIZxeeC1Dq1WEbxuSC1Ti2WUXwuSK1Ti2UUnwtS69RiGcXngtQ6tVhG8bkgtU4tllF8LkitU4tlFJ8LUuvUYhnF54LUOrVYRvG5ILVOLZZRfC5I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" }, { "name": "mint_public", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "amount": [{ "end": 42, "start": 41 }], "inputs": [{ "end": 40, "start": 0 }], "to": [{ "end": 41, "start": 40 }] }, "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": "to", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "amount", "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" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "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": [42, 43, 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": "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68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfXk/68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfXk/68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfXk/68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfXk/68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfXk/68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfXk/68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfXk/68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfXk/68v7WV/ez/ryftaX97O+vJ/15f2sL+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta372d9+37Wt+9nfft+1rfvZ337fta3f9s/76NP/emTZ62vz651vvms1edn/fnluZ5flYRMJSlTyZappGQqaZlKjkolv+0f7fFTK1kylZhMJTIZWzIZWzIZWzIZWzIZWzIZWzIZ2zIZ2zIZ2zIZ2zIZ2zIZ2zIZ2zIZ2zIZ2zIZ2zIZe2Qy9shk7JHJ2COTsUcmY49Mxh6ZjD0yGXtkMvaoZGw9Khlbj0rG1qOSsfWoZGw9Khlbj0rG1qOSsfWoZGw9Khlbj0zGLpmMXTIZu2Qydslk7JLJ2CWTsUsmY5dMxi6ZjF0yGWsyGWsyGWsyGWsyGWsyGWsyGWsyGWsyGWsyGWsyGesyGesyGesyGesyGesyGesyGesyGesyGesyGesyGRsyGRsyGRsyGRsyGRsyGRsyGRsyGRsyGRsyGRsyGZsyGZsyGZsyGZsyGZsyGZsyGZsyGZsyGZsyGZsyGbtlMnbLZOyWyVgZz6tkPK+S8bxKxvMqGc+rZDyvkvG8SsbzKhnPq2Q8r5LxvErG8yoZz6tkPK+S8bxKxvMqGc+rZDyvkvG8SsbzKhnPq2Q8r5LxvErG8yoZz6tkPK+S8bxKxvMqGc+rZDyvkvG8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zkcuvfORS+985NI7H7n0zkcuvfORS+985NI7H730XnrpvfTSe+ml99JL76WX3ksvvZdeei+99F566b300tv00tv00tv00tv00tv00tv00tv00tv00tv00tv00tv10tv10tv10tv10tv10tv10tv10tv10tv10tv10jv00jv00jv00jv00jv00jv00jv00jv00jv00jv00jv10jv10jv10jv10jv10jv10jv10jv10jv10jv10nvrpffWS++tl95bL723XnpvvfTeeum99dJ766X31kvv0ktvPdcy9VzL1HMtU8+1TD3XMvVcy9RzLVPPtUw91zL1XMvUcy1Tz7VMPdcy9VzL1HMtU8+1TD3XMvVcy9RzLVPPtUw91zL1XMvUcy1Tz7VMPdcy9VzL1HMtU8+1TD3Xcuu5llvPtdx6ruXWcy33I5feW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPddy67mWW8+13Hqu5dZzLbeea7n1XMut51puPdey9FzL0nMtS8+1LD3Xsh659C4917L0XMvScy1Lz7UsPdey9FzL0nMtS8+1LD3XsvRcy9JzLUvPtSw917L0XMvScy1Lz7UsPdey9FzL0nMtS8+1LD3XsvRcy9JzLUvPtSw917L0XMvScy1Lz7UsPdey9FzL0nMtS8+1LD3XsvRcy9JzLUvPtSw917L0XMvScy1Lz7UsPdey9FzL0nMtS8+1LD3XsvRcy9JzLUvPtSw917L0XMvScy1Lz7UsPdey9FzL0nMtS8+1LD3XsvRcy9JzLUvPtSw917L0XMvScy1Lz7UsPdey9FzL0nMtS8+1LD3XsvRcy9JzLUvPtSw9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" }, { "name": "check_balance", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "fee_limit": [{ "end": 41, "start": 40 }], "inputs": [{ "end": 40, "start": 0 }] }, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables" } }], "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": "fee_limit", "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" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "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": [41, 42, 43, 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] }, "bytecode": "H4sIAAAAAAAA/+2dCZwUR3vee3YXWBh2AAFCAkmsJEAn0uzsfTJ7g4SQhDjEIWA5ViBxSFzLIRA6kfTdt53kc+JcTmwndnzEueMvd+LciZ04jv3J9/n5vg/sqt73/fbZUvVqZtQ1qlre/v3eX1c/U9Pvv56uqp6Z7pnJRJNLLhNFGSrPofUD0QcXrlOkdf6jLU0p7ivvkjMTCGdNIJy1gXDWBcI5JxDOuYFwzguEsz4QzvmBcC4IhDMbCOfCQDgbAuHMBcK5KBDOxYFwLgmE85ZAOJcGwrksEM7lgXDeGgjnikA4bwuE8/ZAOFcGwrkqEM47AuG8MxDOuwLhXB0IZ2MgnHcHwnlPIJz3BsK5JhDOtYFwrguE875AOO9PkbMTOPna14O0fojWD9N6Pa0fofWjzEBtrKNtfYGroKJZRYvxWKuKNhXtKjrosUZ6TLN0qehW0aOiV0Wfig3U3n4VAyoGVQypGFYxomJUxUYVm1Q8puJxFZtVPKFii4onVTyl4mkVW1U8o2Kbiu0qdqjYqeJZg2WXit0q9qjYq+I5FftU7FdxQMWYioMqDqk4rOKIinEVz6s4quKYihdUvKjiuIoTKk6qOKXiJRUvqzit4oyKsyrOqTivYkLFBWJZTCwXVVxScVnFKyquqLiq4lUV11S8puJ1FW+oeFPFWyreVnFdxTtGu95V8Z6KT6j4pIpPqfi0is+o+KyKz6n4vIovqPiiii+p+LKKr6j4FhXfquIvqfjLKv6Kiq+q+DYVf1XFX1Px7Sr+uoq/oeJvqvhbKv62iu9Q8XeIhQfH31XxnSq+S8V3q/h7Kv6+iu9R8b0q/oGK71Px/Sp+QMUPqviHKn5IxT9S8Y9V/BMV/1TFP1Pxz1X8CxX/UsUPq/iain+l4l+r+Dcq/q2Kf6fi36v4Dyr+o4r/pOJHVPxnFf9FxX9V8d9U/HcV/0PF/1Txv1T8bxU/quLHVPwfFf+X2jKX2vLjKv6fip9Q8f9V/KSKn6LHvk7r9+k59bT90yp+RsXPqvg5FT+v4hdU/KKKX6I6v0zrX6H1r9L612j9DVr/Oq1/g9a/SevfovVv0/p3aP27tP49Wv8+rf+A1n9I6z+i9R/T+k9o/ae0/jNa36D1n9OaJ70MrWtoXUvrOlrPofVcWs+jdT2t59N6Aa2ztF5I6wZa47X8by5FWuc/2tKEExjeIKB1ffG5lh7XFyR1h9AX0vRB1heA9MUVfeFCXxTQH7jrD7P1B8V6cOsPOPWHh/qDOf2hl/5ASX9Yoz8I0R8y6Dfw+s2xfuOp39TpN0z6zYh+od+oQr9A1S/+9Asr/aJFvyDQJ1t9IrsfOH8B2PXkrid2PanrCV1P5noi14PSnLjNyfrjnqA/7kn5o07EH/fkG/qEmzTJ6gn2/ejDJ1Q9meqJVE+iegLVk6eeOPWkqSdMPVnqiVJPknqC1JOjnhj1pKgnRD0Z6olQT4J6AtSTn5744kkvMznZ6YlOT3J6gtOTm57Y9KSmJzQ9memJTE9iegLTk5eeuPQ8Qbv45jJUO1W+ndb9p0+PXWw8dvLwkQuNp86dbTw13njw1LmTh8/gE79/7lR5Fa0PjR0/3nj2VOPYmTNHTp/df2Lswv6Dx87uP3Ps0hF86pfnV5jzq/Mrznlq2VR5Ka03zZztzLIKMb8CT7yD1mNnzx458dLZmPTw4caJY2ePNp46f+T0+PFTE/jc76w06deXl5f0m73gG/TEethZMUrprNaaH4/7CZ3WzNve9Fmthh7jdSPptbTNaz4L1tF2naHPoe05xn7m0fY8Q2+g7QZDX0Tbiwx9CW0vMfSltL3U0FfQNq+LpK+m7dWGvoa21xj7WUvbaw19HW2vAz1Lj8UL6VrjQZ4BjV9p1IDGtyfWgsbjvA60eaTNAY37z1zQeLzOA20BafWgZUmbD9pC0haA1kBaFrQcaQtBW0RaA2j8NicH2hLSFoF2C2mLQeMZYwloPFBvAY3H4FLQbiVtGWgrSFsO2m2k3QoazwArQFtJ2m2g8WR4O2g8CawE7U7SVoF2F2l3gLaatDtBayTtLtDuJm01aPeQ1gjavaTdDdoa0u4BbS1p94K2jrQ1oN1H2lrQ+JXoOtB4vrkPNP7Y4X6eF6Kptz/xc3g+Au1BnotAe4jnIdAe5jkItPWkzQXtEcjN2qOk1YOWJ43HkX5siMrFKKU5uqU5vtVtOO39qj3r/Y6mv9+8nvM3RlNeFyHPMHi1icop3mLchLkzFJyH9TooPwV1uR77wXMhs+v5bYTKm2Z43pDxvBzUGbG0vxil2/5Rg2fUYNbHBI+Dgz7bKn225KXsPrsP6pp9j8/Ls7HPPgMcDvpsp5s+W8hLn538pCWK7H2PXyPOxj47Bhzp99lW6bOlL2X32UtQ1+x7/H5lNvbZU8CRfp9td9Rnm6TPRpOfMEeRve/xe+fZ2GevAEf6fbZD5tnSl7L77Jehrtn3+HOc2dhnPwEc6ffZMUd9tln6bDR5ZS2K7H2PP1OcjX32W4Ej/T572FGfzbdJn528qhtF9r7Hn2/Pxj77HVTWn9l+nT6zXQna+6StAt70+/YRV5/jdkjfnrzjIIrsfZSvtczGvv1DVNb9+JepH98F2q/w9UzQfhWuSbL2a6TdDdo3SLsHtF8n7V7QfoOvjYL2m3xdFLTf4muioP02afeB9juk3Q/a7xrXqLX2e6Q9CNrvk/YQaH9A2sOg/SFp60H7I9IeAe2PSXsUtD8hLQ/an5LWBNqfkVYA7QZpzaD9OWktoPFFqlbQMqS1gVZDWjtotaR1gFZHWidoc0jrAm0uad2gzSOtB7R60npBm09aH2gLSNsAWpa0ImgLSesHrYG0AdBypA2Spq8R8zVBvsNNj0n2txilNyZ1fj6WvGSM7SKUm4GnJX2e5izkKIWnxS1P/BX9giVXq4Nc5R6LVuBpc8Cj99ue/n7jc3CH0SZuN+fLQZ0HoZ0dDtqZgby8b97uAB7ulzj3cb1mTxhZwzm2w8LYmT5jwXZcebsTGFlrc+tZody5pMOpPy15PBal8HQCj4Nx2OSoH8SfpfD590aU7rzRbXhl619cpwv863bgXwby8r55m/MJszALszALszALszALszALszALszALszALszALszALszALszAXhVmYhVmYhVmYI2HOf7RFmIVZmIVZmIVZmIVZmIVZmIU5SGb8DgJ+D4rrNXvCyFq7W55C1uDRS8bYLkK5G3h6U+eZvL+/uwyeXuDpSZ1n8v7+9Ns5eR9+n9GmbqNNOaiDY6fPQTszkJf3zdt9cByEWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiF+eZjxnvcmTUL9To9YWStxzFP1uDRS8bYLkLZxojHdYMjxr4yGDe45cljn8b/kXnI0PRfwzxQO8Xi4HsU8f383EfqaL/M0Q061xlfNsW2ntga4PG+yD1vH/hThDzYDq5TqJ2qe9jCi/9b1GVoug2u/s+Dc/G+eZvzNUQf/P5RA5R7QTPnHvxvEpyPXPxPTCZK/m+SNmDkduH3gpitMTWewiE37WzJL1L7WABetxn+crtqoK1dwKG50v/foJZ4PPB/E/F44Pycrw7qDNMY4P/7xqU+cvE/Si15N22f7HsFaKPeb7el7VznMZgLNlMZx30P+LjH8jgvM5078H+iXJw7MrAvPt4bLLn7gTWl3E24rwxFv+FBHZR3107V5Xpcl71mdj1H8JyN7Obzuozn5aBOn6X9xSjd9m8weDYYzPqYPAn9bA+cv3sdMfUleIT/DcV18D+2+DzH9ZP+L8rV90mT/i8Kv0/KWi/4i+fxgsGr29BqaYOrc19rNL0NvI3nPh6X+J9tzNaYGo/7c1/BaFuz0S7t/cOGpo/XydoPtrsYpXccKv0fwxw8rybyn7E2AMa6ABjnBMA4NwDGeQEw1gfAOD8AxgUBMGYDYFwYAGNDAIy5ABgXBcC4OADGJQEw3hIA49IAGJcFwLg8AMZbA2BcEQDjbQEw3h4A48oAGFcFwHhHAIx3BsB4VwCMqwNgbAyA8e4AGO8JgPHeABjXBMC4NgDGdQEw3hcA4/0BMD4QAGMI/fFhTxmR50Z6PHlsO+ZK/x6Syd/7LafteC+Ei3tPspCjFJ5WtzzxsbBdZ3Zw3btQbtvbgKc9fZ74WLSVwYP3QLRZPHPAWKiU0dU9iHiPYCk8eC9Ju8UzB4yFShnx3sIUeZrw/phSePC35DssnjlgLFTKqHm6HHlWzu+0d4FnnRbPHDAWKmV0dW9Uufcc4v1SXRbPXP3+fiWMmsfF792X+/v7PeBZt8UzB4yFShld3TuYhRyl8OB3cnosnjlgLFTK6PP3XVoDYGwOgLE+AMb5ATAuCIAxGwDjwgAYGwJgzAXAuCgAxsUBMC4JgPGWABiXBsC4LADG5QEw3hoA44oAGG8LgPH2ABhXBsC4KgDGOwJgvDMAxhDeuwpj5YzI05geTx7bjrlc/SZJOW23/SZJit/tntZ2zFX0oO1cDo2xLwDG5gAYxUdhFMbZxyjjWnz0iVF8FB+FcfYxtgbAKMdaGIVx9jGGcC4URnndI4yzj1HGzM3DGMLn4TKu5dpHSoyFShk1T3/6PLFnxTJ4+sEz1lvdMhYqZdQ8A+nzxJ71l8EzAJ71WzxzwFiolFHzDKbPE3s2UAbPIHg2YPHMAWOhUkbNM5Q+T+zZYBk8Q+DZoMUzB4yFShk1z3D6PLFnQ2XwDINnQxbPHDAWKmXUPCPp88SeDZfBMwKeDVs8c8BYqJRR84ymzxN7NlIGzyh4NmLxzFfGZreMhUoZNc/G9Hliz0bL4NkInvHzWgNgbA6AsS8AxhB8FEZh9IlRxrX46BOj+Cg+CuPsY5TX4cJ4EzEWKmXUPJvS54k921gGzybwjJ/X6paxUCmj5nksfZ7Ys01l8DwGnm2yeOYrY7MwpsK4IQBGOdbCKIyVMz6ePmOhXMbHHXvmqJ3x/05vNtq0yWhTDurgf5VudtDODOTlffP2ZjgOoTHj8WtML3e73u8T6bepwP8NzL4+YfjL7dJ1+Pd/Dh09cujFLeeOHz82fuzI6eELx86cPYNjZgutUbthbG9OqKPb+SRsF9NpZxPmnAOMnEvn3Rql7u+4nl+eiqYvM80vW4Hn6fR5mhy1M6/3+wywp7PfliPaq22GV08ZXuWgDjJsc+BfBvLyvnl7myV3el60jevc20vwYruFZ3uVvdhuyZ2eF+0tOveOErzYYeHZUWUvdlhyp+dFIT637yzBi50Wnp1V9mKnJXeKY6RT5362BC+etfA8W2UvnrXkTtGLeO7cVYIXuyw8u6rsBecrl3lngMzbA2T2wed6o5xO7rY49+4SvNht4dldZS92W3Kn6MUhnXtPCV7ssfDsqbIXnK9c5p0eMNcb5XRyt4/p3HtL8GKvhWdvlb3Ya8mdYl9u1bmfK8GL5yw8z1XZi+csuVP0In69vK8EL/ZZePZV2QvOVxdNvWf/nrkueZryWYNHLzO9T2eGLJTxvfv+1Bknf+OPc+2HXAfSz9Vk6y+8fcBt7nG934Pp7zd+n3SI9jWH9nvQ0qbDVM6k7Och2G8G8rBeB+XvnjtVl+uxHzxumV3/J8AYlZHdfN4+43k5qDNmaX8xSrf9Bw2egwazPibfDuP8QPoc46X0a/27+1uhrJeaaOozwwdpzZ9XbobtYomc4x+y6H3wGJ8HuTlXHTz+A3Ons+Ji4y6SzvvaAvy4nYHn4Ofb+ypor7E0mQK2txYY9kHeA8BfYV5zia//cK4I2o1LEcoHgMfB56hNjtoZz31jRpu2GG3KQR38XHzMQTszkJf3zducr1zmGg+YHeX+5nWaLUa+PsMPvfC8Ogd0vo6K56E62ub6eA/FeOptaD6kxxqek5gHlyKUx4HnSOo8k2Mt/XZOXgt5HtjT2W9rs/bqqOHVYcOrHNRBhqMO/MtAXt43b3O+cpm3B8i8zQPmeqOcTu72gs59rAQvjll4jlXZC85XLvMuD5jrjXI6udvade4XSvDiBQvPC1X2gvOVy7w3QOYdHjDXG+V0crfH56kXS/DiRQvPi1X2gvOVy7w7QOZtATJvD5B5hwfM9UY5ndzN8fvI4yV4cdzCc7zKXnC+cpl3BMj8bIDM2wJk3h4gc4j9eVeAzLuFuSrMPswb9UY5ndzt8fu1EyV4ccLCc6LKXnC+cpn3Bsj8nAfM9UY5ndyF+D7BkyV4cdLCc7LKXnC+cpl3BMj8fIDM2wNk3hYg89EAmXcFyHwsQOa9ATKHOD+/ECDz7gCZQ5yfQzwPhtiffZg36o1yOrnbDuvcp0rw4pSF51SVvThlyZ3i++L4Xu6XSvDiJQvPS1X2gvOVy/xCgMzbA2TeESCz9I3qMO8KkPlogMwyb1TGXG+U08nd1qZzv1yCFy9beF6ushecr1zmowEybwuQ+WSAzDs8YK43yunkbo5zny7Bi9MWntNV9oLzlct8wgPmumjq3vqfneeSp/lw1uBhzyKDMTIYs1AeB8/OpM44+X1FznUGcp1NP5e1j/P2Wae5mw/p/Z5Pv03xvVYTtC/+vuJ5S5suUDmTsp8TsN8M5GG9Dsrvz5uqy/XYDx63zK6/r3iOyshuPu+08bwc1DlnaX8xSrf95w2e8wazPiY/CuPcRd8qpV8vjqbGci94xUsNeHUwdcZJryKDkZeDFp77POO52zOeVZ7xLPeMZ5FnPPM943nYM55az3iGPeMZ8Iyn1zOebs94NnvGc79nPE2e8dzjGU+LZzx3eMbT4RnPrZ7xLPaMZ4FnPHWe8TzgGc+9nvHc6RnPCs94lnjGk/WMZ45nPIOe8RQ94+nxjKfTM541nvG0ecZzl2c8o57x3OYZzy2e8Sz0jGeuZzwjnvHs94xnrWc8j3rGs9oznvWe8dzuGc9Sz3gaPOOZ5xnPkGc8D3nG0+8ZzwHPeLo841nnGU/eM55Gz3ge8YxnpWc8Bc94lnnG0+4ZT84zno2e8dR7xpPxgCcbffB+2yw8fgC0GuO5+vXkzyyfepzvja2B5/A9frWWfZ8Bje83tt3fiz45uL932j23fO+peb9vA3Cc9oSn3jOejZ7x5DzjafeMZ5lnPAXPeFZ6xvOIZzyNnvHkPeNZ5xlPl2c8Bzzj6feM5yHPeIY845nnGU+DZzxLPeO53TOe9Z7xrPaM51HPeNZ6xrPfM54Rz3jmesaz0DOeWzzjuc0znlHPeO7yjKfNM541nvF0esbT4xlP0TOeQc945njGk/WMZ4lnPCs847nTM557PeN5wDOeOs94FnjGs9gznls94+nwjOcOz3haPOO5xzOeJs947veMZ7NnPN2e8fR6xjPgGc+wZzy1nvE87BnPfM94FnnGs9wznlWe8dztGc99nvHUWHgOOOLh+/t437x9wK0Xeb3fcUdt4t8t5N+0ZH7OVwd1vkKTGb+HwgX3xZwHqWy7X4Lr1lh8vBFNv5/0RlR6m8c/ZMHc8yD3QUt7v22G9tq4i6Tzvg4BP25n4Dlctx7yltNe85iaAvLVAgP+Zuk54K8wr7G05PF+2AjajUsRyvgboi76upt2To7N8x/9uH1g0V5NGF4dMrzKQZ3z4N+EA/8ykJf3zdsTltyNUbpeXCjBiwsWHle/R5vkxUy/oTsT8/kAmcVn8TmJWXwWn5OYxWfxOYlZfBafk5jFZ/E5iVl8Fp+TmMVn8TmJWXwWn5OYxWfxOYlZfBafk5jFZ/E5iVl8Fp+TmMVn8TmJWXwWn5OYxWfxOYlZfBafk5jFZ/E5iVl8Fp+TmMVn8TmJWXwWn5OYffBZ8/B3DJk1C/V6PWFkje+Fd8TTotveG01fMsZ2EcoXgOecA38ctTO+h/yi0aZei+9cB8fXRQfttI0d3r4Ix6Ec5okAmcXnyphzkI9Zs9H0seMDI2vn3PI0Z6Pp85ReZprHLgKPi3neUTvjeeyS0aaixXeug+PrkoN22sYOb1+C4yDM7pk1Tz88rpcs1Ov3hJG1C055CvF3EPuj6ctMc8Il4HExZzryPZ4TLhtt6rf4znWwr1520E7b2OHty3AcymGeCJBZfBafk5jFZ/E5iVl8Fp+TmMVn8TmJWXwWn5OYxWfxOYlZfBafk5jFZ/E5iVl8Fp+TmMXnm8dnzTNAZWbNQr0BTxhZu+iUpzm+7jAQTV9muu5wGXhcXJdx5Ht83eEVo00DFt+5Do6vVxy00zZ2ePsVOA7lME8EyByiz9I3xOfZxCx9Q5iTmKVvCHMSs/QNYU5ilr4hzEnM0jeEOYlZ+oYwJzFL3xDmJGbpG8KcxCx9Q5iTmKVvCHMSs/QNYU5ilr4hzEnM0jeEOYlZ+kZlzJpnkMrMmoV6g54wsnbJLU/8WyiD0fRlpvt2XgGeyw78cdTO+L6dK0abBi2+cx3sq1cctNM2dnj7ChwHYRZmG7PmGaIys2ah3pAnjKxddsrTFN9/OBRNX2aax64Aj4t53pHv8Tx21WjTkMV3roN99aqDdtrGDm9fheMgzMIszMIszMIszMIszML8cTBrnmEqM2sW6g17wsjaK2552rLQZl5met90FXhcvK901M74fdOrRpuGLb5zHeyrrzpop23s8ParcBxmO/NEgMzSN6rD7EPf0DwjVGbWLNQb8YSRtStueTqy0GZeZjpfvAo8Ls6njtoZny+uGW0asfjOdXB8XXPQTtvY4e1rcByulcE8ESCz+Cw+JzGLzzePz5pnlMrMmoV6o54wsnbVLU98Xh6Npi8znZevAY+L1y2O2hmfl18z2jRq8Z3r4Ph6zUE7bWOHtzlfucwTATKLz+JzErP4fPP4rHk2UplZs1BvoyeMrL3qlie+v25jNH2Z6bz8GvBcc+CPo3bG5+XXjTZttPjOdXB8ve6gnbaxw9uvw3Eoh3kiQGbxuTJmzVOgMrNmoV7BE0bWrrnlieexQjR9mWkeex14XMzzjtoZz2NvGG0qWHznOji+3nDQTtvY4e034DiUwzwRILP4XBmz5mmhMrNmoV6LJ4ysveaUZ/L/0Vqi6ctM89gbwONinnfkezyPvWm0qcXiO9fB8fWmg3baxg5vvwnHQZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZiFWZj9ZtY8bVRm1izUa/OEkbXXnfJMXndoi6YvM113eBN4XFyXceR7fN3hLaNNbRbfuQ721bcctNM2dnj7LTgOwizMwizMwizMwizMwizMwizMwizMwizMwizMwizMwuw3s+ZppzKzZqFeuyeMrL3hlGfyd9Hbo+nLTNcd3gIeF9dlHPkeX3d422hTu8V3roN99W0H7bSNHd5+G46DMAuzMAuzMAuzMAuzMAvzx8GseTqozKxZqNfhCSNrbzrlmbxfqyOavsz0vult4HHxvtKR7/H7putGmzosvnMd7KvXHbTTNnZ4+zoch3KYJwJkFp/F5yRm8Vl8TmIWn8XnJGbxWXxOYhafxeckZvFZfE5iFp/F5yRm8Vl8TmIWn8XnJGbx+ebxWfN0UplZs1Cv0xNG1t5yytMcX3fojKYvM113uA48Lq7LOPI9vu7wjtGmTovvXAfH1zsO2mkbO7z9DhyHcpgnAmQO0WfpG+LzbGKWviHMSczSN4Q5iVn6hjAnMUvfEOYkZukbwpzELH1DmJOYpW8IcxKz9A1hTmKWviHMSczSN4Q5iVn6hjAnMUvfEOYkZukbwpzELH2jMmbN00VlZs1CvS5PGFl72y1PWxbazMtM9+28AzzXHfjjqJ3xfTvvGm3qsvjOdbCvvuugnbaxw9vvwnGY7cwTATJL36gOsw99Q/N0U5lZs1Cv2xNG1q675enIQpt5mel88S7wuDifOmpnfL54z2hTt8V3roPj6z0H7bSNHd5+D45DOcwTATKLz+JzErP4fPP4rHl6qMysWajX4wkja3zuqwHtADy3Bpj58RukHzDaVDT2s7/E/ey37CcD23NIO2Dstw7qPLN4qu5GKut9jBn72G+0sQ7qbIF9PE7lenj8RpTecdJ9Yj3tCxmfdpu38GF59eOPkL4eHt/hliuPeccseWtAP0jrIum8vRn0DGzzsTefXwd1xuHY74H+c8DYx0GDsQ7qjME+9oFfhSh1v+L+8yjtqwCMh93mLXxYXv14nvRH4fFjbrnymLeQkLfZwXEw83Ef5lx18Pgp6B8nwK8mevwR2M/LlsfzlscdtStvtqvJaJfO20rlTIp59b5awLsMcLRCbv5uYzG93OPl/qcs/oZje/o8TY7amdf7xe+BprPfloL2qsvwqs3wyvY5dz1oKbYzfi3UYfDwdpcld3petMW5u0vwotvC011lL7otuVP04hC+lpvJix4LT0+VveB85TJ3ecBcb5TTyd12ROfuLcGLXgtPb5W96LXkTtGLZp27rwQv+iw8fVX2os+SO0UvWnXuDSV4scHCs6HKXmyw5E7Pi0IeXwPN5EXRwlOsshdFS+70vGhv0bn7S/Ci38LTX2Uv+i25Uxwj4zr3QAleDFh4BqrsBee7GZg3BMjcHSCzD32j3iink7u9XeceLMGLQQvPYJW94Hz6PTW/v/7xxS55msr+zX9myEIZ32MPpc6Yz+PxGYJcw+nnarL1F94edpt7XO93NP39xq97NtK++DPSUUubNlE5xc+KmjB3hoLzsF4H5R+Dz3W5HvvB45bZG1SMUBnZzecNGs/LQZ0RS/uLUbrtHzV4Rg1mfUx+BMa5i75VSr/WCB1QZh4HY7pFzx+FaPoy07yD474lfZ4mV3OXzfeC0Sac3/CzW1fnnyGDh7cHLbkbo3S96CjBiw4Lj4PPWGf0gvOVy9wcILMPPjua9+J5BnOzP5HBw8uwYy8ctTMeWyOR3WPOl4M62E9HHLQzA3l537w9AsehHObBAJnF58qY3bwWnvyPM8zN/kQGDy+jjr2oxmt+02N8Hcx1sJ9udNDOmV4H4/sDYRZmYRZmYRZmYRZmYRZmYRZmYRZmYRZmYRZmYRZmYfabWedO/36Kyc/vMTf7Exk8vGxy7IWbdk5+fv9YZPeY8+WgDh7zxxy003ZfDW8/BsdBmIVZmIVZmIVZmIVZmIVZmIVZmIVZmIVZmIVZmIVZmP1m1rkfTz335PeNMTf7Exk8vDzu2As37Zz8/H5zZPeY8+WgDh7zzQ7amYG8vG/e3gzHQZiFWZiFWZiFWZiFWZiF+eNg1rmfSD335P1DmJv9iQweXp5w7IWbdk6+/9gS2T3mfDmog8d8i4N2ZiAv75u3t8BxKId5MEBm8Vl8TmIWn8XnJGbxWXxOYhafxeckZvFZfE5iFp/F5yRm8Vl8TmIWn8XnJGbxWXxOYhafbx6fde4nU8/dHH9+j7nZn8jg4eVJx164aefk5/dPRXaPOV8O6mA/fcpBOzOQl/fN20/BcSiHeTBA5hB9lr4hPs8mZukbwpzELH1DmJOYpW8IcxKz9A1hTmKWviHMSczSN4Q5iVn6hjAnMUvfEOYkZukbwpzELH1DmJOYpW8IcxKz9A1hTmKWviHMSczSNypj1rmfTj93W9bIzf5EBg8vTzv2wlE74/tftkZ2jzlfDurgMd/qoJ0ZyMv75u2tcBxmO/NggMzSN6rD7EPf0LmfST93R9bIzf5EBg8vzzj2wlE743l3W2T3mPPloA72020O2pmBvLxv3t4Gx6Ec5sEAmcVn8TmJWXy+eXzGef9Gerlb6o0cKe03vl9/O+2rhtZa20HlWtB2UrkOtGepPAe0XVSeC9puKs8DbQ+VHwZtL5WbQXuOygXQ9lG5BbT9VB4C7QCVO0Abo/IwaAepPALaISqPgnaYyhtBO0LlTaCNU/kx0J6n8uOgHaXyZtCOUfkJ0F6g8hbQXqTyk6Adp/JToJ2g8jrQTlq0U1R+GrSXqLwVtJep/Axop6lcD9oZKs8H7SyVF4B2Dsq8Pk/lhaBNULkBtAtUzoF2kcqLQLtE5cWgXabyEtBeofItoF2h8lLQrlJ5GWivUnk5aNeofCtor1F5BWivU/k20N6g8u2gvUnllaC9ReVVoL1N5TtAu07lO0F7h8p3gfYulVeD9h6VG0H7BJXvBu2TVL4HtE9R+V7QPk3lNaB9hsprQfsslXE++ByVt4H2eSrfB9oXqHw/aF+01PuSpd6XqfwAaDw/bgeN58cdoPH8uBM0nh+fBY3nx12g8fy4GzQeU3tA4zG1FzQeU8+BxmNqH2g8pvaDxmPqAGg8psZA4zF1EDQeU4dA4zF1GDQeU0dA4zE1DhqPqedB4zF1FDQeU8dA4zH1Amg8pl4EjcfUcdB4TJ0AjcfUSdB4TJ0CjcfUS6DxmHoZNB5Tp0FrpPIZ0HhMnQWNxxTOlzymzoPGY2oCNB5TF0Djuf8iaDwuLoHG4+IyaDwuXgHtQSpfAe0hKl8Fjc/3r4K2nsrXQHuEyq+B9iiVXwctT+U3QGui8pug8euHt0DjeeVt0Pg1xXXQWqn8DmhtVH4XtHYqvwcav/b4BGidVP4kaF1U/hRo3VT+NGg9VP4MaL1U/ixofVT+HGgbqPx50IpU/gJo/VT+ImgDVP4SaPyam+dLPS81AGOnpX2s6XmNvSlG6b5O51y8b97mfJqRve0Cjct9wNiePmP8OQ6z1NF+eay0g851XqJJkedaXDRja+qMLTEjj4U5ho+twMh1zn4IY4sDRjdtn+xDBWij3m+3pe1c5+KyKZ8uUxnHfg/4+J7lcV5m+syyBbwspt/m+Hj3AyfuG3MPAGtKuZswd4aC87BeB+V3l03V5XrsRw+U9aLHNc97yG4+r8N4Xg7qbLC0v5hy+4sGT9Fg1sfkKvQz7keaqc0R04bI7lEXeMR1HgSN53h8322b/7sdcSfN/93AyBp7lzT/9zhi7E5g5Hw4/85NaAfOv98yw/ybgzZ1Q9tczMnovzl3toDOdb4Kffon6IU+vobA935dhubo/DxjH+J8H/YaotfC2JgaY+GQq+On3+Pp95I8dluMdvP5T78fbjPaX6T2Fhxw4XzE5yfOj+dqrvNdH/J6ZIMDRjdtn35+MMeU+TpFL98LY+r74PWGOcfox79meZyXmV6POD4nxsd7EDiLkf18PASsKeVuwtz8eoTzsF4H5R+G1yNcj/1gr5ldzxH8OgbZzed1Gc/LQZ1+S/uLUbrtHzB4BgxmfUx+EPrZ1+D1iKv3df0JHrWBR1ynFTQ+X3B9fG+N55Jqnet5uwcYWesAnvRfH7Xky33fga8XulLnmbxXwsHrwDwezxSvxcXzUpvhVYfhVQ7q9IB/rl6nJ/UvzifMwizMwizMwizMwizMwizMwizMwizMwizMwizMwizMwizMwlwUZmEWZmEWZmGOhDn/0RZhFmZhFmZhFmZhFmZhFmZhFuYgmZO+38f1Oj1hZA2/m8UafjeLvyeQ4j3iTcgSQV78TkKvwezIrzx+94/3j9+1c/k9zJ5oatH7fcjwIwPHZ65Rh5+L3xV8n5ht3+nKWp6r2/lA7VQ7+fda0jzW9dHUb7kUU9wv/pZMBH7hUoQyM9RHU783kybPgmjq92TOnD11euz5I1uPjB3OAFqdgYlrRL8B2zWgY7nWot2ANf6EDv4kGf+EDv4kWY1hEf50D9fXP13xF0mbiBNy8gMA", "debug_symbols": "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zuQ3MdbW8/H1tvpntk1/9uHnMfv49PNkfP14789mvuLju5f/4rvX4598Oifnp0/Xs/zffPrjp64f56f6j/NT48f5qfnj/NT6cX5q/zg/df84P3V+lJ9avy2ovOun/jB/Wqrnh/nTUj0/zJ+W6okf56f+MH9aqueH+dNSPdI/LVV8/an25C9/6sd03vUnmo/vn/d+vz1v/n578/evN3+/v/n7483fn2/+/nrz9/ebv//Nz6+9+fldb35+15uf3/Xm53e9+fldb35+15uf3/Xm53e9+fldb35+15ufX3/z8+tvfn79zc+vv/n59Tc/v/7m59ff/Pz6m59ff/Pz629+fuPNz2+8+fmNNz+/8ebnN978/Mabn9948/Mbb35+483Pb7z5+c03P7/55uc33/z85puf33zz85tvfn7zzc9vvvn5zTc/v/nm57fe/PzWm5/fevPzW29+fuvNz2+9+fmtNz+/9ebnt978/Nabn99+8/Pbb35++83Pb7/5+e03P7/95ue33/z89puf337z89tvfn73m5/f/ebnd7/5+d1vfn73m5/f/ebnd7/5+d1vfn73m5/f/ebnd978/M6bn9958/M7b35+583P77z5+Z03P7/z5ud33vz8znuf336eN3+/vfn715u/39/8/fHm7883f3+9+fv7zd+/3/z9b35+3+xf9ef+1Z//d+vHdV8e8W+M4v7V+HP3/vrp+Ezh6/xo03p+dgPX+jqhRZuQ0yYUtAklbUL1PSaU9XVCFb+c0McoLRllf49Rxr+OMvPZKPNdRvn4tMezPxnlcxntu4/yOdL6axRrnfONUcY+/gub+lkztmWfQnatnyH7fOPT31aY+3Pn7aYf4Lf/gLj9B+TtP6Bu/wF9+w/Yt/+AufwHfO5+3vQDbn8T++1vYr/9Tey3v4n99jexf4c3sT3+9dPP5Dcm9dfubnz5y92Puc8v/2v5eep979T3vVOfa6cez71Tt3unvu6dut879bh36nnv1O99m8a9b9O4920a975N8963ad77Ns1736Z579s0732b5r1v07z3bZr3vk3z3rdp3vs2rXvfpnXv27TufZvWvW/TuvdtWve+Tevet2nd+zate9+mde/btO99m/a9b9O+923a975N+963ad/7Nu1736Z979u0732b9r1v033v23Tf+zbd975N971v033v23Tf+zbd975N971v033v23Tf+zade9+mc+/bdO59m869b9O59206975N59636dz7Np1736Zz7dt0P9e+Tfdz7dt0P9e+Tfdz7dt0P9e+Tfdz7dt0P9e+Tfdz7dt0P9e+Tfdz79vU7n2b2r1vU7v3bWr3vk3t3rep3fs2tXvfpnbv29TufZvavW/Tde/bdN37Nl33vk3XvW/T73Gm0t9q6ve+Tde9b9N179t03fs2Xfe+Tf3et6nf+zb1e9+mfu/b9Huci/S3mvq9b9N7z0La956FtO89C2nfexbSvvcspH3vWUj73rOQ9r1nIe17z0La956FtO89C2nfexbSvvcspH3vWUj73rOQ9r1nIe17z0La956FtO89C2nfexbSvvcspH3vWUj73rOQ9r1nIe17z0La956FtO89C2nfexbSvvcspH3vWUj73rOQ9r1nIe17z0La956FtO89C2nfexbSvvcspH3vWUj73rOQ9r1nIe17z0La956FtO89C2nfexbSvvcspH3vWUj73rOQ9r1nIe17z0La956FtO89C2nfexbSvvcspH3vWUj73rOQ9r1nIe17z0La956FtO89C2nfexbSvvcspH3vWUj73rOQ9r1nIc29ZyHNvWchzb1nIc29ZyHNc+3bdO49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2nuPQtp7j0Lae49C2muPQtpPdeehfRl6re+Tb9M/da36Zep3/o2/TL1W9+mX6Z+69v0y9RvfZt+mfqtb9MvU7/1bfpl6ve+Ta89C+nL1O99m157FtKXqd/7Nr32LKQvU7/3bXrtWUhfpn7v2/Tas5C+TP3bb9Oqb03dLD8+bVH/Zphff9p7/fThsF9M6emPKf0VZxzJp2S8KS3elJw3peBNKXlTKt6UmjelzZsSj97Oo7fz6O08ejuP3s6jt/Po7Tx6O4/ezqO38+gdPHoHj97Bo3fw6B08egeP3sGjd/DoHTx6B4/eyaN38uidPHonj97Jo3fy6J08eieP3smjd/LoXTx6F4/exaN38ehdPHoXj97Fo3fx6F08eheP3s2jd/Po3Tx6N4/ezaN38+jdPHo3j97No3fz6L159N48em8evTeP3ptH782j9+bRe/PovXn03jx6D4/ew6P38Og9PHoPj97Do/fw6D08eg+P3oOjtz04etuDo7c9OHrbg6O3PTh624Ojtz04etuDo7c9OHrbw6O38ehtPHobj97Go7fx6G08ehuP3sajt/HozWstjddaGq+1NF5rabzW0nitpfFaS+O1lsZrLY3XWhqvtTRea2m81tJ4raXxWkvjtZbGay2N11oar7U0XmtpvNbSeK2l8VpL47WWxmstjddaGq+1NF5rabzW0nitpfFaS+O1lsZrLY3XWhqvtTRea2m81tJ4raXxWkvjtZbGay2N11oar7U0XmtpvNbSeK2l8VpL47WWxmstjddaGq+1NF5rabzW0nitpfFaS+O1lsZrLY3XWhqvtTRea2m81tJ4raXxWkvjtZbGay2N11oar7U0XmtpvNbSeK2l8VpL47WWxmstjddaGq+1NF5rabzW0nitpfFaS+O1lsZrLRevtVy81nLxWsvFay3Xg6P34rWWi9daLl5ruXit5eK1lovXWi5ea7l4reXitZaL11ouXmu5eK3l4rWWi9daLl5ruXit5eK1lovXWi5ea7l4reXitZaL11ouXmu5eK3l4rWWi9daLl5ruXit5eK1lovXWi5ea7l4reXitZaL11ouXmu5eK3l4rWWi9daLl5ruXit5eK1lovXWi5ea7l4reXitZaL11ouXmu5eK3l4rWWi9daLl5ruXit5eK1lovXWi5ea7l4reXitZaL11ouXmu5eK3l4rWWi9daLl5ruXit5eK1lovXWi5ea7l4reXitZaL11ouXmu5eK3l4rWWi9daLl5ruXit5eK1lovXWi5ea7l4reXi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d9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHTeMOmsYdNI07aBp30DTuoGncQdO4g6ZxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHTeMOmsYdNI07aBp30DTuoGncQdO4g6ZxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO7g0riDS+MOLo07uDTu4HpCM0xqhinNMK0ZZmuG0VBA4w4ujTu4NO7g0riDS+MOLo07uDTu4NK4g0vjDi6NO7g07uDSuINL4w4ujTu4NO7g0riDS+MOLo07uDTu4NK4g0vjDi6NO7g07uDSuINL4w4ujTu4NO7g0riDS+MOLo07uDTu4NK4g0vjDi6NO7g07uDSuINL4w4ujTu4NO7g0riDS+MOLo07uDTu4NK4g0vjDi6NO7g07uDSuINL4w4ujTu4NO7g0riDS+MOLo07uDTu4NK4g0vjDi6NO7g07uDSuINL4w4ujTu4NO7g0riDS+MOLo07uDTu4NK4g0vjDi6NO7g07uDSuINL4w4ujTu4NO7g0riDS+MOLo07uDTu4NK4g0vjDi6NO7g07uDSuINL4w4ujTu4NO7g0riDS+MOLo076Bp30DXuoGvcQde4g/6EZpjUDFOaYVozzNYMo6GAxh10jTvoGnfQNe6ga9xB17iDrnEHXeMOusYddI076Bp30DXuoGvcQde4g65xB13jDrrGHXSNO+gad9A17qBr3EHXuIOucQdd4w66xh10jTvoGnfQNe6ga9xB17iDrnEHXeMOusYddI076Bp30DXuoGvcQde4g65xB13jDrrGHXSNO+gad9A17qBr3EHXuIOucQdd4w66xh10jTvoGnfQNe6ga9xB17iDrnEHXeMOusYddI076Bp30DXuoGvcQde4g65xB13jDrrGHXSNO+gad9A17qBr3EHXuIOucQdd4w66xh10jTvoGnfQNe6ga9xB17iDrnEHXeMOusYddI076Bp30DXuoGvcQde4g65xB13jDrrGHXSNOxgadzA07mBo3MHQuIPxhGaY1AxTmmFaM8zWDKOhgMYdDI07GBp3MDTuYGjcwdC4g6FxB0PjDobGHQyNOxgadzA07mBo3MHQuIOhcQdD4w6Gxh0MjTsYGncwNO5gaNzB0LiDoXEHQ+MOhsYdDI07GBp3MDTuYGjcwdC4g6FxB0PjDobGHQyNOxgadzA07mBo3MHQuIOhcQdD4w6Gxh0MjTsYGncwNO5gaNzB0LiDoXEHQ+MOhsYdDI07GBp3MDTuYGjcwdC4g6FxB0PjDobGHQyNOxgadzA07mBo3MHQuIOhcQdD4w6Gxh0MjTsYGncwNO5gaNzB0LiDoXEHQ+MOhsYdDI07GBp3MDTuYGjcwdC4g6FxB0PjDobGHQyNOxgadzA07mBo3MHQuIOhcQdD4w6Gxh0MjTuYGncwNe5gatzB1LiD+YRmmNQMU5phWjPM1gyjoYDGHUyNO5gadzA17mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGrcwdS4g6lxB1PjDqbGHUyNO5gadzA17mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGrcwdS4g6lxB1PjDqbGHUyNO5gadzA17mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07mBp3MDXuYGrcwdS4g6lxB1PjDqbGHUyNO5gadzA17mBq3MHUuIOpcQdT4w6mxh1MjTuYGncwNe5gatzB1LiDqXEHU+MOpsYdTI07WBp3sDTuYGncwdK4g/WEZpjUDFOaYVozzNYMo6GAxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO1gad7A07mBp3MHSuIOlcQdL4w6Wxh0sjTtYGnewNO5gadzB0riDpXEHS+MOlsYdLI07WBp3sDTuYGncwdK4g6VxB0vjDpbGHSyNO9gad7A17mBr3MHWuIP9hGaY1AxTmmFaM8zWDKOhgMYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTvYGnewNe5ga9zB1riDrXEHW+MOtsYdbI072Bp3sDXuYGvcwda4g61xB1vjDrbGHWyNO9gad7A17mBr3MHWuIOtcQdb4w62xh1sjTu4Ne7g1riDW+MObo07uJ/QDJOaYUozTGuG2ZphNBTQuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MObo07uDXu4Na4g1vjDm6NO7g17uDWuINb4w5ujTu4Ne7g1riDW+MOjsYdHI07OBp3cDTu4DyhGSY1w5RmmNYMszXDaCigcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fjDo7GHRyNOzgad3A07uBo3MHRuIOjcQdH4w6Oxh0cjTs4GndwNO7gaNzB0biDo3EHR+MOjsYdHI07OBp3cDTu4GjcwdG4g6NxB0fiDsYjcQe/DGOaYZZmGNcME5phUjNMaYZpzTBbM4yGAqahgGkoYBoKmIYCpqGAaShgGgqYhgKmoYBpKLA0FFgaCiwNBZaGAktDgaWhwNJQYGkosDQUWBoKuIYCrqGAayjgGgq4hgKuoYBrKOAaCriGAq6hQGgoEBoKhIYCoaFAaCgQGgqEhgKhoUBoKBAaCqSGAqmhQGookBoKpIYCqaFAaiiQGgqkhgKpoUBpKFAaCpSGAqWhQGkoUBoKlIYCpaFAaShQGgq0hgKtoUBrKNAaCrSGAq2hQGso0BoKtIYCraHA1lBgayiwNRTYGgpsDQW2hgJbQ4GtocDWUGBrKDAaCoyGAqOhwGgoMBoKjIYCo6HAaCgwGgpo3EHTuIOmcQdN4w6axh20JzTDpGaY0gzTmmG2ZhgNBTTuoGncQdO4g6ZxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHTeMOmsYdNI07aBp30DTuoGncQdO4g6ZxB03jDprGHTSNO2gad9A07qBp3EHTuIOmcQdN4w6axh00jTtoGnfQNO6gadxB07iDpnEHTeMOmsYdNI07aBp30DTuoP0V7mDPN4ap54mfPl2P/TxMfB3lr1AHv8coJhllfY9RVn4dJZ7PRnHJKCEZJb/LuvjPo6xfjvLrD/uXG+6nD7v1zx/+eUZbPaO11seMlsevZ7S/y13V9nVGOz9Zif1d7qr5+Cn15a9KPhvlu9xV/fw8yvzG9f4r7I7vPKNvrPd6vgervuyAfJ1R+b8/o/VlHj99eHk+n8xo4WZ0/G766UJ7Xr3QXr1wvXqhv3phvHphvnphvXphv3rhfvXCV++c9eqds169c9ard8569c5Zr94569U7Z71656xX75z16p2zXr1z/NU7x1+9c/zVO8dfvXP81TvHX71z/NU7x1+9c/zVO8dfvXPi1TsnXr1z4tU7J169c+LVOydevXPi1TsnXr1z4tU7J169c/LVOydfvXPy1TsnX71z8tU7J1+9c/LVOydfvXPy1TsnX71z6tU7p169c+rVO6devXPq1TunXr1z6tU7p169c+rVO6devXP61TunX71z+tU7p1+9c/rVO6dfvXP61TunX71z+tU7p1+9c/ard85+9c7Zr945+9U7Z7965+xX75z96p2zX71z9qt3zn71zplX75x59c6ZV++cefXOmVfvnHn1zplX75x59c6ZV++cefHO8ed59UJ79cL16oX+6oXx6oX56oX16oX96oX71QtfvXNe3UP2V/eQ/cU95PwLW4gff1nx/Ou/v2fvuT/+/s7rF3+fM/XJhyO+/o1yxC/+/vnLhz8m46TJBGkySZpMkSbTpMls3WTSP/6W8Ms/nc8mM6DJfL7F/beajJEmoyTwtq+TWZ9OxkmTCdJkkjSZIk2mSZPZpMkMaDLxkCZjpMmQCBwkAgeJwEEicJAIHCQCB4nAQSJwkgicJAInicBJInCSCJwkAieJwEkicJIInCQCF4nARSJwkQhcJAIXicBFInCRCFxCAmf618ns9dlkNmkyA5pMP6TJGGkyizQZIYFz5mMylfbZZII0mSZNZpMmM6DJ7Ic0GSNNZpEmI+RMP/0xme749z+ckx8zr2f9HCOux79OPe6det479SJM/WMywndBfS2Iv8zr08ls0mQGNJl5SJMx0mQWaTJOmkyQJpOkyRRpMiQCD4nAAyLwX1Cp/1aTARH4Lyjff6vJgAj8F9T0v9VkQAT+Cwr932oyIAL/BdX/bzUZEoGNRGAjEdhIBDYSgY1EYCMR2EgENhKBjURgIxF4kQi8hATe9rWa2dafTWaRJuOkyQRpMkmaTJEm06TJbNJkBjQZZYP27cmQCOwkAjuJwE4isJMI7CQCO4nATiKwkwgcJAIHicBBInCQCBwkAgeJwEEicJAIHCQCB4nASSJwkgicJAInicBJInCSCJwkAieJwEkicJIIXCQCF4nARSJwkQhcJAIXicBFInCRCFwkAheJwE0icJMI3CQCN4nATSJwkwjcJAI3icBNInCTCLxJBN4kAm8SgTeJwJtE4E0i8CYReJMIvEkE3iQCD4nAQyLwkAg8JAIPicBDIvCQCDwkAg+JwAMicDwgAscDInA8IALHAyJwPCACxwMicDwgAscDInA8IALHQyKwkQhsJAIbicBGIrCRCGwkAhuJwEYisJEIbCQCLxKBSU1ckJq4IDVxQWrigtTEBamJC1ITF6QmLkhNXJCauCA1cUFq4oLUxAWpiQtSExekJi5ITVyQmrggNXFBauKC1MQFqYkLUhMXpCYuSE1ckJq4IDVxQWrigtTEBamJC1ITF6QmLkhNXJCauCA1cUFq4oLUxAWpiQtSExekJi5ITVyQmrggNXFBauKC1MQFqYkLUhMXpCYuSE1ckJq4IDVxQWrigtTEBamJC1ITF6QmLkhNXJCauCA1cUFq4oLUxAWpiQtSExekJi5ITVyQmrggNXFBauKC1MQFqYkLUhMXpCYuSE1ckJq4IDVxQWrigtTEBamJC1ITl6QmLklNXJKauCQ1cfmACJykJi5JTVySmrgkNXFJauKS1MQlqYlLUhOXpCYuSU1ckpq4JDVxSWriktTEJamJS1ITl6QmLklNXJKauCQ1cUlq4pLUxCWpiUtSE5ekJi5JTVySmrgkNXFJauKS1MQlqYlLUhOXpCYuSU1ckpq4JDVxSWriktTEJamJS1ITl6QmLklNXJKauCQ1cUlq4pLUxCWpiUtSE5ekJi5JTVySmrgkNXFJauKS1MQlqYlLUhOXpCYuSU1ckpq4JDVxSWriktTEJamJS1ITl6QmLklNXJKauCQ1cUlq4pLUxCWpiUtSE5ekJi5JTVySmrgkNXFJauKS1MQlqYlLUhOXpCYuSU1ckpq4JDVxKW3i6vk6mb0+mYy0ifvmZIw0GSGBZ83HZMafzybjpMkkaTJFmkyTJrNJkxnOZOrz2GpVf4zxxNer7MtwH5f5a5fFa5fla5fVa5f14WVf/tX/+v3/+MPv/9M//sM/f7niz//h//zjf/7TH/7pjz/9yz/97//+//6TL5/9Pw==" }, { "name": "pay_fee", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "fee_limit": [{ "end": 41, "start": 40 }], "inputs": [{ "end": 40, "start": 0 }] }, "parameters": [{ "name": "inputs", "type": { "fields": [{ "name": "call_context", "type": { "fields": [{ "name": "msg_sender", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "storage_contract_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "function_selector", "type": { "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector" } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext" } }, { "name": "historical_header", "type": { "fields": [{ "name": "last_archive", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "content_commitment", "type": { "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment" } }, { "name": "state", "type": { "fields": [{ "name": "l1_to_l2_message_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "partial", "type": { "fields": [{ "name": "note_hash_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "nullifier_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }, { "name": "public_data_tree", "type": { "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference" } }, { "name": "global_variables", "type": { "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }, { "name": "fee_recipient", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "gas_fees", "type": { "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables" } }], "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": "fee_limit", "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" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "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": [41, 42, 43, 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] }, "bytecode": "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", "debug_symbols": "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qr2Hq/Yertp7uGrv4aq9h6v2Hk6e9iLu9RHpf0T7H7H+R7z/kdP/SPQ/kv2P3P5H+q8v/deX/utL//Wl//rSf33pv770X1/6ry/915f+62v/9bX/+tp/fe2/vvZfX/uvr/3X1/7ra//1tf/61n9967++9V/f+q9v/de3/utb//Wt//rWf33rv773X9/7r+/91/f+63v/9b3/+t5/fe+/vvdf3/uvf/qvf/qvf/qvf/qvf/qvf/qvf/qvf/qvf/qvf/qvH/3Xj/7rR//1o//60X/96L9+9F8/+q8f/deP/utn//Wz//rZf/3sv372Xz/7r5/918/+62f/9bP/+rf/+rf/+rf/+rf/+rf/+rf/+rf/+rf/+rf/+rf/+tV//eq/fvVfv/qvX/3Xr/7rV//1q//61X/9/q5P+rs+6e/6pL/rk/6u7/VPvf2PnP5Hov+R7H/k9j/Sf/3+rk/6uz7p7/qkv+uT/q5P+rs+6e/6pL/rk/6uT/q7Punv+qS/65P+rk/6uz7p7/qkv+uT/q5P+rs+6e/6pL/rk/6uT/q7Punv+qS/65P+rk/6uz7p7/qkv+uT/q5P+rs+6e/6pL/rk/6uT/q7Punv+qS/65P+rk/6uz7p7/qkv+uT/q5P+rs+6e/6pL/rk/6uT/q7Punv+qS/65P+rk/6uz7p7/qkv+uT/q5P+rs+6e/6pL/rk/6uT/q7Punv+qS/65P+rk/6uz7p7/qkv+uT/q5P+rs+6e/6pL/rk/6uT/q7Punv+qS/65P+rk/6uz7p7/qkv+uT/q5P+rs+6e/6pL/rk/6uT/q7Punv+qS/65P+rk/6uz7p7/qkv+uT/q5P+rs+7e/6tL/r0/6uT/u7Pu3v+rS/69P+rk/7uz7t7/q0v+vT/q5PO7u+v0yPuPWRO14iP/5W/vy/Luov/lbz42/t+fVcOz8qUZpKjKYSp6nk0FQSNJUkTSWXppJiqeT3/e93+amV0Gis0mis0mis0mis0mis0mis0mis0mis0mis0Wis0Wis0Wis0Wis0Wis0Wis0Wis0Wis0Wis0Wis02is02is02is02is02is02is02is02is02is02jsodHYQ6Oxh0ZjD43GHhqNPTQae2g09tBo7KHR2EOjsUGjsUGjsUGjsUGjsUGjsUGjsUGjsUGjsUGjsUGjsUmjsUmjsUmjsUmjsUmjsUmjsUmjsUmjsUmjsUmjsZdGYy+Nxl4ajb00GntpNPbSaOyl0dhLo7GXRmMvjcYWjcYWjcYWjcYWjcYWjcYWjcYWjcYWjcYWjcYWi8baw6Kx9rBorD0sGmsPi8baw6Kx9rBorD0sGmsPi8baw6Kx9tBorNBoLI3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2h8Xkbj8zIan5fR+LyMxudlND4vo/F5GY3Py2l8Xk7j83Ian5fT+Lz8YdFYp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+LycxuflND4vp/F5OY3Py2l8Xk7j83Ian5fT+Lycxud1aHxeh8bndWh8XofG53UeFo09ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6ND6vQ+PzOjQ+r0Pj8zo0Pq9D4/M6v8/nVXI/KjH9vZU4TSWHppKgqSRpKrk0lRRLJb/P5/VTK2lo7MdHtP8R63/E+x85/Y9E/yPZ/8jtf6S6H4mOseXjI9L/iPY/Yv2PeP8jp/+R6H8k+x+5/Y/0X1/6ry/915f+60v/9aX/+tJ/fem/vvRfX/qvL/3X1/7ra//1tf/62n997b++9l9f+6+v/dfX/utr//Wt//rWf33rv771X9/6r2/917f+61v/9a3/+tZ/fe+/vvdf3/uv7/3X9/7re//1vf/63n9977++91//9F//9F//9F//9F//9F//9F//9F//9F//9F//9F8/+q8f/deP/utH//Wj//rRf/3ov370Xz/6rx/918/+62f/9bP/+tl//ey/fvZfP/uvn/3Xz/7rZ//1b//1b//1b//1b//1b//1b//1b//1b//1b//1b//1q//6/V1f9Hd90d/1RX/XF/1dX/R3fdHf9UV/1xf9XV/2d33Z3/Vlf9eX/V1f9nd92d/1ZX/Xl/1dX/Z3fdnf9WV/15f9XV/2d33Z3/Vlf9eX/V1f9nd92d/1ZX/Xl/1dX/Z3fdnf9WV/15f9XV/2d33Z3/Vlf9eX/V1f9nd92d/1ZX/Xl/1dX/Z3fdnf9WV/15f9XV/2d33Z3/Vlf9eX/V1f9nd92d/1ZX/Xl/1dX/Z3fdnf9WV/15f9XV/2d33Z3/Vlf9eX/V1f9nd92d/1ZX/Xl/1dX/Z3fdnf9WV/15f9XV/2d33Z3/Vlf9eX/V1f9nd92d/1ZX/Xl/1dX/Z3fdnf9WV/15f9XV/2d33Z3/Vlf9eX/V1f9nd92d/1ZX/Xl/1dX/Z3fdnf9WV/15f9XV/2d33Z3/Vlf9eX/V1f9nd92d/1ZX/Xl/1dX/Z3fdnf9WV/15f9XV/2d33Z3/Vlf9eX/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9d3+ru/2d323v+u7/V3f7e/6bn/Xd/u7vtvf9VV/11f9XV/1d33V3/VVf9dX/V1f9Xd91d/1VX/XV/1dX/V3fdXf9VV/11f9XV/1d33V3/VVf9dX/V1f9Xd91d/1VX/XV/1dX/V3fdXf9VV/11f9XV/1d33V3/VVf9dX/V1f9Xd91d/1VX/XV/1dX/V3fdXf9VV/11f9XV/1d33V3/VVf9dX/V1f9Xd91d/1VX/XV/1dX/V3fdXf9VV/11f9XV/1d33V3/VVf9dX/V1f9Xd91d/1VX/XV/1dX/V3fdXf9VV/11f9XV/1d33V3/VVf9dX/V1f9Xd91d/1VX/XV/1dX/V3fdXf9VV/11f9XV/1d33V3/VVf9dX/V1f9Xd91d/1VX/XV/1dX/V3fdXf9VV/11f9XV/1d33V3/VVf9dX/V1f9Xd91d/1VX/XV/1dX/V3fdXf9VV/11f9XV/1d33V3vXp0971vT4i/Y9o/yPW/4j3P3L6H4n+R7L/kdv/SP/1pf/60n996b++9F9f+q8v/deX/utL//Wl//rSf33tv772X1/7r6/919f+62v/9bX/+tp/fe2/vvZf3/qvb/3Xt/7rW//1rf/61n9967++9V/f+q9v/df3/ut7//W9//ref33vv773X9/7r+/91/f+63v/9U//9U//9U//9U//9U//9U//9U//9U//9U//9U//9aP/+tF//ei/fvRfP/qvH/3Xj/7rR//1o//60X/97L9+9l8/+6+f/dfP/utn//Wz//rZf/3sv372X//2X//2X//2X//2X//2X//2X//2X//2X//2X//2X7/6r1/916/+61f/9av/+tV//eq/fvVfv/qv39/1SX/XJ/1dn/R3fdLf9Ul/1yf9XZ/0d33S3/VJf9cn/V2f9Hd90t/1SX/XJ/1dn/R3fdLf9Ul/1yf9XZ/0d33S3/VJf9cn/V2f9Hd90t/1SX/XJ/1dn/R3fdLf9Ul/1yf9XZ/0d33S3/VJf9cn/V2f9Hd90t/1SX/XJ/1dn/R3fdLf9Ul/1yf9XZ/0d33S3/VJf9cn/V2f9Hd90t/1SX/XJ/1dn/R3fdLf9Ul/1yf9XZ/0d33S3/VJf9cn/V2f9Hd90t/1SX/XJ/1dn/R3fdLf9Ul/1yf9XZ/0d33S3/VJf9cn/V2f9Hd90t/1SX/XJ/1dn/R3fdLf9Ul/1yf9XZ/0d33S3/VJf9cn/V2f9Hd90t/1SX/XJ/1dn/R3fdLf9Ul/1yf9XZ/0d33S3/VJf9cn/V2f9Hd90t/1SX/XJ/1dn/R3fdLf9Wl/16f9XZ/2d33a3/W9/g13/yOn/5HofyT7H7n9j/Rfv7/r0/6uT/u7Pu3v+rS/69P+rk/7uz7t7/q0v+vT/q5P+7s+7e/6tL/r0/6uT/u7Pu3v+rS/69P+rk/7uz7t7/q0v+vT/q5P+7s+7e/6tL/r0/6uT/u7Pu3v+rS/69P+rk/7uz7t7/q0v+vT/q5P+7s+7e/6tL/r0/6uT/u7Pu3v+rS/69P+rk/7uz7t7/q0v+vT/q5P+7s+7e/6tL/r0/6uT/u7Pu3v+rS/69P+rk/7uz7t7/q0v+vT/q5P+7s+7e/6tL/r0/6uT/u7Pu3v+rS/69P+rk/7uz7t7/q0v+vT/q5P+7s+7e/6tL/r0/6uT/u7Pu3v+rS/69P+rk/7uz7t7/q0v+vT/q5P+7s+7e/6tL/r0/6uT/u7Pu3v+rS/69P+rs/6uz7r7/qsv+uz/q7P+rs+6+/6rL/rs/6uz/q7Puvv+qy/67P+rs/6uz7r7/qsv+uz/q7P+rs+6+/6rL/rs/6uz/q7Puvv+qy/67P+rs/6uz7r7/qsv+uz/q7P+rs+6+/6rL/rs/6uz/q7Puvv+qy/67P+rs/6uz7r7/qsv+uz/q7P+rs+6+/6rL/rs/6uz/q7Puvv+qy/67P+rs/6uz7r7/qsv+uz/q7P+rs+6+/6rL/rs/6uz/q7Puvv+qy/67P+rs/6uz7r7/qsv+uz/q7P+rs+6+/6rL/rs/6uz/q7Puvv+qy/67P+rs/6uz7r7/qsv+uz/q7P+rs+6+/6rL/rs/6uz/q7Puvv+qy/67P+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SLk3Cyn3ZiHl3iyk3JuFlHuzkHJvFlLuzULKvVlIuTcLKfdmIeXeLKTcm4WUe7OQcm8WUu7NQsq9WUi5Nwsp92Yh5d4spNybhZR7s5BybxZS7s1Cyr1ZSLk3Cyn3ZiHl3iyk3JuFlHuzkHJvFlLuzULKvVlIuTcLKfdmIeXeLKTcm4WUe7OQcm8WUu7NQsq9WUi5Nwsp92Yh5d4spNybhZR7s5BybxZS7s1Cyr1ZSLk3Cyn3ZiHl3iyk3JuFlHuzkHJvFlLuzULKvVlIuTcLKfdmIeXeLKTcm4WUe7OQcm8WUu7NQsq9WUi5Nwsp92Yh5d4spNybhZR7s5BybxZS7s1CunuzkO7eLKS7Nwvp7s1Cus/aaXr3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0t2bhXT3ZiHdvVlId28W0v1CFtI570oXOR+li8e/uuYv/9pSf/ljl9+U9OSPkg5fScFXUvKVdPlKKrqSvpANNF6S8JWkfCUZX0l86p186p186p186p186p186n351PvyqfflU+/Lp96XT70vn3pfPvW+fOp9+dT78ql38al38al38al38al38al38al38al38al38al30al3PXTqXQ+detdDp9710Kl3PXTqXQ+detdDp9710Kl3PXTqXQ+fegufegufegufegufegufegufegufegufegufegufeiufeiufeiufeiufeiufeiufeiufeiufeiufeiufehufehufehufehufehufehufehufehufehufehufejufejufejufejufejufejufejufejufejufejufeh8+9T586n341PvwqffhU+/Dp96HT70Pn3ofPvU+fOodfOodfOodfOodfOrN57UsPq9l8Xkti89rWXxey+LzWhaf17L4vJbF57UsPq9l8Xkti89rWXxey+LzWhaf17L4vJbF57UsPq9l8Xkti89rWXxey+LzWhaf17L4vJbF57UsPq9l8Xkti89rWXxey+LzWhaf17L4vJbF57UsPq9l8Xkti85r6Q+d1/JVEpt6v0piU+9XSWzq/SqJTb1fJbGp96skNvV+lcSm3q+S2NT7VRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l8ak3ndfyVRKfetN5LV8l0am38Hkthc9rKXxeS+HzWspDp97C57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L5vJbK57VUPq+l8nkt9aFTb+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9rqXxeS+XzWiqf11L5vJbK57VUPq+l8nktlc9raXxeS+PzWhqf19L4vJb20Km38Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57U0Pq+l8Xktjc9raXxeS+PzWhqf19L4vJbG57V0Pq+l83ktnc9r6XxeS3/o1Nv5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWjqf19L5vJbO57V0Pq+l83ktnc9r6XxeS+fzWh4+r+Xh81oe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Wszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVUWszku3tVQ6XFTL67VzVMWixUvjuh8t0Jle9OqHx38jBpsVD57oTKdydUvjuh8t0Jle9OqHx3QuW7EyrfnVD57oTKdydUvjuh8t0Jle9OqHx3QuW7EyrfnVD57oTKdydUvjuh8t0Jle9OqHx3QuW7EyrfnVD57oTKdydUvjuh8t0Jle9ORn138fyo5uqn1RyqaoKqmkEtLq2PasqeT6u5TNVMOt2+UI1QVaNU1RhVNU5VzacdrpEflzz+42OvleWvn7vf/Fx973Ofe5m+8Dn55uf0m5/79H8uoR8zMeJ+/rn63uc+9xV84XPyzc/pNz/36a9ejv3yObnym8/Zv/zH1//t//nb//H3f/uf/tvf/dPrE3/+//yf//Cf//nv//Effvm//vP/+9////+f19/+fw==" }, { "name": "balance_of_public", "is_unconstrained": true, "custom_attributes": [], "abi": { "error_types": {}, "param_witnesses": { "owner": [{ "end": 1, "start": 0 }] }, "parameters": [{ "name": "owner", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }], "return_type": { "abi_type": { "kind": "field" }, "visibility": "public" }, "return_witnesses": [1] }, "bytecode": "H4sIAAAAAAAA/+2cXW/bNhSGJX/Ectwk9bedD0eJ06a7GRS7dTBgA7y/sJvtaoEbO0OArgZiF+j244OVis7ymjvIqPaIEIEQCETR1HkfvqKO7NiU7z0UP/lTpQxteqG2abKNvq1cCMaKfI3zP/xS0CpwSTOEM0ltC0y/X2Gnn2x/vrub/RXefpwvPofLT+tweRO+X376OF/hgb/DzkGyvZ59+BCul+FstVrcra/+nH2+en+7vlrd/r34V3SdVAJv04yphCFvo9GW9+iIbkgNTKA+lS9/W/C6n7RTvzq0UTzFXpZmj6KR0i9qzPoYplAvA09Jnucio3FGAXh+78leDBXNq6Lm1S702QL/Khn454MuxaZ90kvLXMgBM86L0JOdF4H8mEZ7X2Jsg6+B5i+OazupC87LSMWogibpbYPui6Tue7J3oVoSq5TEJo4XoL0n7vn4WunueJvlqVy2Bzy74jwPuUx+nA9z9iWwy8R9N1Ze1TWvdjSvdqEPMtQz8M8HXYpN+3VGW86Ly7dKu2HgRYPhaVj2osFoy3kxuVHaTQMvmgxP07IXTUZbcF6MlHbLwIsWw9Oy7EWL0RacF7F228CLNsPTtuxFm9EW9OJSaXcMvOgwPB3LXnQYbUEv3introEXXYana9mLLqMt58Uofj/UM/Cix/D0LHvRY7QFc2f8/qJv4EWf4elb9qLPaAteI9dKe9/Ai32GZ9+yF6SXlrnhIHPdQeZuDpgDrS6jPY7z54GBFwcMz4FlL0gvLXM3B8yBVpfRniyU9qGBF4cMz6FlL0gvLXPDQea6g8xdB5lbDjL3n5mtMOchbwRaXUb7Mv48fGTgxRHDc2TZC9JLy9zJAXOg1WW0J/H/PwcGXgwYnoFlLwaMtuBn+Pg9zLGBF8cMz7FlL0gvLXPXQeaXDjLXHWRuOMjcdJC55SBz20HmjoPMLubnnoPMfQeZXczPLt4HXZzPecgbgVaX0Z7MlXZo4EXI8ISWvQgZbcHP2/F3ricGXpwwPCeWvSC9tMw9B5nrDjJ3HWR+nht2mFsOMjcdZH7OG1/HHGh1Ge3JRGmfGnhxyvCcWvaC9NIyNx1kbjjIfOwgczcHzIFWl9Eex9pDAy+GDM/Qshekl5Z5kANmtR6E1ob86GfJM57XNB7yzNMYPY2xBvU98OxMnDGK8PycgdYreS12jtP+q0y1x9cq7rn8mOLfhr1JYpWTuOfMmL5L6r6wn28grg861F6C+g/+Y1/qR37QdUvsav91Ukd2/bihdtwu9HnNjH/qyY7/XOM515jVOfkervMs5pbJvFbfE9K1/BN4RQXX4lXFGR+88jRGKlWGx88BT83j1zJXNc9wfTO+dus/vk65rQDH0DkqMrHPoI3uF1x+Rp8yyM8bOZNyh56vd4BjmBOeCsOT1bpdOj8Um/Yr2XoRZbS2Mh4T5Q26pxA/6ZWgz2/JyaffImDBWMSpz3E8X9S3wPh4723mgzRrhW/+p6B2BbSrzHivnhgvxz1N2jGvED/u+3AM9cV7xjesjb7QG5CvCAx4rmowpgrzOq6f18dWY3zAPIn+Bt5jDpR8LoGKS88amArGVewlb7M8dT/B5x1k8FyHi23wc7Ve3s3+WPyymM19QNOfVYJbRL+H/QK0Y73ItN3DtgZDJl3VRtOgDG0FzSJ8FAdeCv8AMDZ9CKVGAAA=", "debug_symbols": "5dzdahtXGIXhe9GxKXutb//mVkopTuIUgZFDrBSKyb133GpkhyhValx3v/jMSkbS2ibMaznw3G3eX739/Nuv292Hm9vNm5/vNtc37y7325vd8uhuk36qf/3h7cfL3f3j2/3lp/3mjWvUi83V7v39l9VfLjYfttdXy4O8fP3N1UNxuHjUOF4r68S1sn24WG7pzNVllHG4uiY/vLZTfPnlYlnf0Os7ev1Ar1dizxd7vtnzgz0/s+cX9nx2csVurtjRFbu6ZlfX7OqaXV0/Q3WVoq+T0ihnJqXDpenMq9a2Tqjj8TdlHZ6pwwt1eKUOb9ThnTp8QIdHog4Xdbipw6nlDGo5g1rOoJYzqOUMajmDWs5MLWemljNTy5mp5czUcmZqOTO1nJlazkwtZ6aWs1DLWajlLNRyFmo5C7WchVrOQi1noZazUMtZqOWs1HJWajkrtZyVWs5KLWellrNSy1mp5azUclZqORu1nI1azkYtZ6OWs1HL2ajlbNRyNmo5G7WcjVrOTi1np5azU8vZqeXs1HJ2ajk7tZydWs5OLWenlnNQyzmo5RzUcg5qOQe1nINazkEt56CWc1DLOajlVKKmU4naTiVqPJc3xS6n5lOJ2k8lakCVqAVVoiZ0eSfqcmEbKmxDhW2osA19Dojof1qObaiwDRW2ocI2VNiGGttQYxtqbEOxtpCwuJCwupCwvJCwvpCwwJCwwpCwxJCwxpCwyJCwypCwzJCwzpCw0JCw0pCw1JCw1pCw2JCw2pCw3JCw3pCw4JCw4pCw5JCw5pCw6JCw6pCw7JCw7pCw8JCw8pCw9JCw9pCw+JCw+pCw/JCw/pCwAJGwApGwBJGwBpGwCJGwCpGwDJGwDpGwEJGwEpGwFJGwFpGwGJGwGpGwHJGwHpGwIJGwIpGwJJGwJpGwKJGwKpGwLJGwLpGwMJGwMpGwNJGwNpGwOJGwOpGwPJGwPpGwQJGwQpGwRJGwRpGwSJGwSpGwTJGwTpGxTpGxTpGxTpGxTpETtaHGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkXGOkWBdYoC6xQF1ikKrFMUidrQwDpFgXWKAusUBdYpCqxTFFinKLBOUWCdosA6RYF1igLrFMWPOEXj3HKprMuV61fv8u3V0Xy4OOvRotTWRW26RX26RWO2RT/iAL3wIk23yNMtiukW5ekWlekWTXfP9nT3bE93z/Z09+yY7p4d092zY7p7dkx3z47p7tkx3T07prtnx398zz68S3+Rd3mWe2upx3dp/cx3V7WtH8GWLx9eWyMfNuU04SZNuMkTbooJN+UJN5UJN9WX31R03NTTV5tO3JeX34oerl5a3o5X51Mv3cr6O6F2/2LraK9nba/orP0VnXW8nrOW9IrOqtnPenzt5SfW/PishwOYfoCY/QAjjgcY48QB8vQHWD93LD8C9xMHKPQDnP8Bo5/7bxm1hx9jWm+PJpVTk8rxA9DyDzidmNReflL650nf4yTa+qyUT3wo/R7lcOZZ8aRn5Sc9qzzpWfVfPmt59Pvlp+3l2+ur2+UZ93/5efduv73ZHR7u//j4998s1/4J" }, { "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": "ndpBattQGIXRvWgciu+vpycpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/3l7ftse7y/Ol+37ZXgcKw/D7vhyf+qfD8Pr/rAbHqvV57eH+2iW0SKjFUbjRkaRUclolFGT0SQjKWKUIkYpYpQimhTRpIgmRTQpokkRTYpoUkSTIpoU0aSISYqYpIhJipikiEmKmKSISYqYpIhJipikiC5FdCmiSxFdiuhSRJciuhTRpYguRXQpYpYiZililiJmKWKWImYpYpYiZililiJmKWKRIhYpYpEiFilikSIWKWKRIhYpYpEiFililSJWKWKVIlYpYpUiVililSJWKWKVIlYpIpsNrUKrotVIq0ariVadVjOtFlpRG6E2Qm2E2gi1EWoj1EaojVAboTZCbRS1UdRGURtFbRS1UdQGcWbIM0OgGRLNEGmGTDOEmiHVDLFmyDVDsBmSzRBthmwzhJsh3QzxZsg3Q8AZEs4QcYaMM4ScIeUMMWfIOUPQGZLOEHWGrDOEnSHtDHFnyDtD4BkSzxB5hswzhJ4h9QyxZ8g9Q/AZks8QfYbsM4SfIf0M8WfIP0MAGhLQEIGGDDSEoCEFDTFoyEFDEBqS0BCFhiw0hKEhDQ1xaMhDQyAaEtEQiYZMNISiIRUNsWjIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFy6552j1Pu+hJLlrkokUuWuSiRS5a/+2it9PP7ft++3TY3W/23j9+HJ//XfS9HS+/3v5+uf37Gw==" }, { "name": "claim_public", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "error_types": {}, "param_witnesses": { "amount": [{ "end": 42, "start": 41 }], "inputs": [{ "end": 40, "start": 0 }], "leaf_index": [{ "end": 44, "start": 43 }], "secret": [{ "end": 43, "start": 42 }], "to": [{ "end": 41, "start": 40 }] }, "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": "to", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" }, "visibility": "private" }, { "name": "amount", "type": { "kind": "field" }, "visibility": "private" }, { "name": "secret", "type": { "kind": "field" }, "visibility": "private" }, { "name": "leaf_index", "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" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message" } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "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, 272, 273] }, "bytecode": "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", "debug_symbols": "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VP60EsdUEphKFqaSDalk/Bnn9amVDEwlgqnkQGPvPzLPf8TOf8TPfyTOf2Sd/8g+/pETDOf+I+P8R+T8R86//XH+7Y/zb3+cf/vj/Nsf59/+OP/25fzbl/NvX86/fTn/9uX825fzb1/Ov305//bl/NuX829fz799Pf/29fzb1/NvX8+/fT3/9vX829fzb1/Pv309//bn+bc/z7/9ef7tz/Nvf55/+/P825/n3/48//bn+bc/z799O//27fzbt/Nv386/fTv/9u3827fzb9/Ov307//bt/Nv382/fz799P//2/fzb9/Nv38+/fT//9v382/fzb9/Pv/04//bj/NuP828/zr/9OP/24/zbj/NvP86//Tj/9uP821/n3/46//bX+be/zr/9df7tr/Nvf51/++v821/n3/46//b3+be/z7/9ff7t7/Nvf59/+/v829/n3/4+//b3+be/j799ua7zHxnnPyLnP6LnPzLPf8TOf8TPfyTOf2Sd/8j5t3++65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+c7/rkfNcn57s+Od/1yfmuT853fXK+65PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/16fmuT893fXq+69PzXZ+e7/r0fNen57s+Pd/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XN813fPN/1zfNd3zzf9c3zXd883/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn53v+ux812fnuz473/XZ+a7Pznd9dr7rs/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/X5+a7Pz3d9fr7r8/Ndn5/v+vx81+fnuz4/3/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/NdX5zv+uJ81xfnu7443/XF+a4vznd9cb7ri/Nd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fOt/1rfNd3zrf9a3zXd863/Wt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e3zXd8+3/Xt813fPt/17fNd3z7f9e2TXd8//tXrhlzx86VDYny8esejF1/XGPdXX5fNj5fHevBykXl/7x+/+vhXJZc+eLXdOv/nq/0S/YtX3z+qf5+PGt/no67v81H3t/moJzv47h91fJ+PKt/no+r3+ajz+3zU7/O0tL7P09L6Pk9L6/s8La3v87S0v8/T0i59WvL58VHHZb9/1Hs5WU809/fX5Pefye9vye/vye8fye+/kt9/Z76/XteV/P4j+f0l+f01+f1n8vtb8vt78vtH8vuv5PdP7t+R3L8juX9Hcv+O5P4dyf07kvt3JPfvSO7fkdy/I7l/Jbl/Jbl/Jbl/Jbl/Jbl/Jbl/Jbl/Jbl/Jbl/Jbl/Nbl/Nbl/Nbl/Nbl/Nbl/Nbl/Nbl/Nbl/Nbl/Nbl/Z3L/zuT+ncn9O5P7dyb370zu35ncvzO5f2dy/87k/rXk/rXk/rXk/rXk/rXk/rXk/rXk/rXk/rXk/rXk/vXk/vXk/vXk/vXk/vXk/vXk/vXk/vXk/vXk/vXk/o3k/o3k/o3k/o3k/o3k/o3k/o3k/o3k/o3k/o3k/l3J/buS+3cl9+9K7t+V3L8ruX9Xcv+u5P5dyf27kvt3J/fvTu7fndy/O7l/d3L/7uT+3cn9u5P7dyf3b7L/aiT7r0ay/2ok+69Gsv9qXDP5/S35/T35/SP5/Vfy+yf3b7L/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvRrL/aiT7r0ay/2ok+69Gsv9qJPuvJNl/Jcn+K0n2X0my/0qumfz+lvz+nvz+kfz+K/n9k/s32X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rSfZfSbL/SpL9V5Lsv5Jk/5Uk+68k2X8lyf4rTfZfabL/SpP9V5rsv9JrJr+/Jb+/J79/JL//Sn7/5P5N9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9Kk/1Xmuy/0mT/lSb7rzTZf6XJ/itN9l9psv9qJvuvZrL/aib7r2ay/2peM/n9Lfn9Pfn9I/n9V/L7J/dvsv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+69msv9qJvuvZrL/aib7r2ay/2om+68s2X9lyf4rS/ZfWbL/yq6Z/P6W/P6e/P6R/P4r+f2T+zfZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itL9l9Zsv/Kkv1Xluy/smT/lSX7ryzZf2XJ/itP9l95sv/Kk/1Xnuy/8msmv78lv78nv38kv/9Kfv/k/k32X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/8qT/Vee7L/yZP+VJ/uvPNl/5cn+K0/2X3my/yqS/VeR7L+KZP9VJPuv4prJ72/J7+/J7x/J77+S3z+5f5P9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv4pk/1Uk+68i2X8Vyf6rSPZfRbL/KpL9V5Hsv1rJ/quV7L9ayf6rley/WtdMfn9Lfn9Pfv9Ifv+V/P7J/Zvsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q5Xsv1rJ/quV7L9ayf6rley/Wsn+q53sv9rJ/qud7L/ayf6rfc3k97fk9/fk94/k91/J75/cv8n+q53sv9rJ/qv92H8VU3/+WMR6csaU+fO1U+y31+rHETP/CMs/wvOPiPwjVv4RO/2Ix6aszz1i5B8h+Ufkd7fkd7fkd7fkd7fkd7fkd7fkd7fmd7fmd7fmd7fmd7fmd7fmd7fmd7fmd7fmd7fmd/fM7+6Z390zv7tnfnfP/O6e+d0987t75nf3zO/umd/dlt/dlt/dlt/dlt/dlt/dlt/dlt/dlt/dlt/dlt/dnt/dnt/dnt/dnt/dnt/dnt/dnt/dnt/dnt/dnt/dkd/dkd/dkd/dkd/dkd/dkd/dkd/dkd/dkd/dkd/dK7+7V353r/zuXvndvfK7e+V398rv7pXf3Su/u1d+d+/87t753b3zu3vnd/fO7+6d3907v7t3fnfv/O7e2d09r+vKP2LkHyH5R2j+ETP/CMs/wvOPiPwjVv4R+d098rt75Hf3yO/ukd/dI7+7R353j/zuHvndPfK7e+R3t+R3t+R3t+R3t+R3t+R3t+R3t+R3t+R3t+R3t+R3t+Z3t+Z3t+Z3t+Z3t+Z3t+Z3t+Z3t+Z3t+Z3t+Z398zv7pnf3TO/u2d+d8/87p753T3zu3vmd/fM7+6Z392W392W392W392W392W392W392W392W392W392W392e392e392e392e392e392e392e392e392e392e392R392R392R392R392R392R392R392R392R392R390rv7tXfnev/O5e+d298rt75Xf3yu/uld/dK7+7V3537/zu3vndvfO7e+d3987v7p3f3Tu/u3d+d+/87s73qo18r9rI96qNfK/ayPeqjWvmH2H5R3j+EZF/xMo/Ir+7871qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWoj36s28r1qI9+rNvK9aiPfqzbyvWrjE7xqtu5H7Osvjvjr1+41fr52XEN/vfjR+97W+X5/8dS/ePF/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" }], "outputs": { "globals": { "storage": [{ "fields": [{ "name": "balances", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "1" } }, { "name": "typ", "value": { "kind": "string", "value": "Map<AztecAddress, PublicMutable<U128>>" } }], "kind": "struct" } }, { "name": "portal_address", "value": { "fields": [{ "name": "slot", "value": { "kind": "integer", "sign": false, "value": "2" } }, { "name": "typ", "value": { "kind": "string", "value": "SharedImmutable<EthAddress>" } }], "kind": "struct" } }], "kind": "struct" }] }, "structs": { "functions": [{ "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "fee_limit", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::pay_fee_parameters" } }, { "name": "return_type", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::pay_fee_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "to", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "amount", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::mint_public_parameters" } }], "kind": "struct", "path": "GasToken::mint_public_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "to", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress" } }, { "name": "amount", "type": { "kind": "field" } }, { "name": "secret", "type": { "kind": "field" } }, { "name": "leaf_index", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::claim_public_parameters" } }], "kind": "struct", "path": "GasToken::claim_public_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "portal_address", "type": { "fields": [{ "name": "inner", "type": { "kind": "field" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress" } }], "kind": "struct", "path": "GasToken::constructor_parameters" } }], "kind": "struct", "path": "GasToken::constructor_abi" }, { "fields": [{ "name": "parameters", "type": { "fields": [{ "name": "fee_limit", "type": { "kind": "field" } }], "kind": "struct", "path": "GasToken::check_balance_parameters" } }], "kind": "struct", "path": "GasToken::check_balance_abi" }] } }, "file_map": { "103": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr", "source": "#[oracle(packReturns)]\nfn pack_returns_oracle<N>(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nfn unpack_returns_oracle<N>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<N>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n" }, "107": { "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" }, "114": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr", "source": "use dep::protocol_types::{\n address::AztecAddress, contract_instance::ContractInstance, utils::arr_copy_slice,\n constants::CONTRACT_INSTANCE_LENGTH, utils::reader::Reader\n};\n\n#[oracle(getContractInstance)]\nfn get_contract_instance_oracle(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {}\n\n// Returns a ContractInstance plus a boolean indicating whether the instance was found.\n#[oracle(avmOpcodeGetContractInstance)]\nfn get_contract_instance_oracle_avm(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {}\n\nunconstrained fn get_contract_instance_internal(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n get_contract_instance_oracle(address)\n}\n\nunconstrained fn get_contract_instance_internal_avm(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {\n get_contract_instance_oracle_avm(address)\n}\n\npub fn get_contract_instance(address: AztecAddress) -> ContractInstance {\n let instance = ContractInstance::deserialize(get_contract_instance_internal(address));\n assert(instance.to_address().eq(address));\n instance\n}\n\npub fn get_contract_instance_avm(address: AztecAddress) -> Option<ContractInstance> {\n let mut reader = Reader::new(get_contract_instance_internal_avm(address));\n let found = reader.read();\n if found == 0 {\n Option::none()\n } else {\n Option::some(reader.read_struct(ContractInstance::deserialize))\n }\n}\n" }, "118": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_l1_to_l2_membership_witness.nr", "source": "use dep::protocol_types::{address::AztecAddress};\n\nglobal L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH: u64 = 17;\n\n// Obtains membership witness (index and sibling path) for a message in the L1 to L2 message tree.\n#[oracle(getL1ToL2MembershipWitness)]\nfn get_l1_to_l2_membership_witness_oracle(\n _contract_address: AztecAddress,\n _message_hash: Field,\n _secret: Field\n) -> [Field; L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH] {}\n\nunconstrained pub fn get_l1_to_l2_membership_witness(\n contract_address: AztecAddress,\n message_hash: Field,\n secret: Field\n) -> [Field; L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH] {\n get_l1_to_l2_membership_witness_oracle(contract_address, message_hash, secret)\n}\n" }, "119": { "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" }, "121": { "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" }, "123": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/public_mutable.nr", "source": "use crate::context::Context;\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:public_mutable_struct\nstruct PublicMutable<T> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:public_mutable_struct\n\nimpl<T> Storage<T> for PublicMutable<T> {}\n\nimpl<T> PublicMutable<T> {\n // docs:start:public_mutable_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicMutable { context, storage_slot }\n }\n // docs:end:public_mutable_struct_new\n\n // docs:start:public_mutable_struct_read\n pub fn read<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"PublicMutable reads only supported in public functions\");\n let fields = storage_read(self.storage_slot);\n T::deserialize(fields)\n }\n // docs:end:public_mutable_struct_read\n\n // docs:start:public_mutable_struct_write\n pub fn write<T_SERIALIZED_LEN>(self, value: T) where T: Serialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"PublicMutable writes only supported in public functions\");\n let fields = T::serialize(value);\n storage_write(self.storage_slot, fields);\n }\n // docs:end:public_mutable_struct_write\n}\n" }, "126": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_immutable.nr", "source": "use crate::{\n context::Context, history::public_storage::public_storage_historical_read,\n oracle::{storage::{storage_read, storage_write}}, state_vars::storage::Storage\n};\nuse dep::protocol_types::{constants::INITIALIZATION_SLOT_SEPARATOR, traits::{Deserialize, Serialize}};\n\n// Just like PublicImmutable but with the ability to read from private functions.\nstruct SharedImmutable<T>{\n context: Context,\n storage_slot: Field,\n}\n\nimpl<T> Storage<T> for SharedImmutable<T> {}\n\nimpl<T> SharedImmutable<T> {\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n\n // Intended to be only called once. \n pub fn initialize<T_SERIALIZED_LEN>(self, value: T) where T: Serialize<T_SERIALIZED_LEN> {\n assert(\n self.context.private.is_none(), \"SharedImmutable can only be initialized from public functions\"\n );\n // TODO(#4738): Uncomment the following assert\n // assert(\n // self.context.public.unwrap_unchecked().is_deployment(), \"SharedImmutable can only be initialized during contract deployment\"\n // );\n\n // We check that the struct is not yet initialized by checking if the initialization slot is 0\n let initialization_slot = INITIALIZATION_SLOT_SEPARATOR + self.storage_slot;\n let fields_read: [Field; 1] = storage_read(initialization_slot);\n assert(fields_read[0] == 0, \"SharedImmutable already initialized\");\n\n // We populate the initialization slot with a non-zero value to indicate that the struct is initialized\n storage_write(initialization_slot, [0xdead]);\n\n let fields_write = T::serialize(value);\n storage_write(self.storage_slot, fields_write);\n }\n\n pub fn read_public<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"Public read only supported in public functions\");\n let fields = storage_read(self.storage_slot);\n T::deserialize(fields)\n }\n\n pub fn read_private<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.public.is_none(), \"Private read only supported in private functions\");\n let private_context = self.context.private.unwrap();\n\n let mut fields = [0; T_SERIALIZED_LEN];\n\n for i in 0..fields.len() {\n fields[i] =\n public_storage_historical_read(\n (*private_context),\n self.storage_slot + i as Field,\n (*private_context).this_address()\n );\n }\n T::deserialize(fields)\n }\n}\n" }, "158": { "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" }, "186": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.nr", "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u64) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n" }, "194": { "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" }, "195": { "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" }, "203": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr", "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::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 compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly. \npub fn compute_tx_logs_hash(logs: [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 pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n" }, "208": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr", "source": "use crate::{\n address::{\n aztec_address::AztecAddress, eth_address::EthAddress, partial_address::PartialAddress,\n public_keys_hash::PublicKeysHash\n},\n contract_class_id::ContractClassId,\n constants::{GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA, CONTRACT_INSTANCE_LENGTH},\n traits::{Deserialize, Hash, Serialize}\n};\n\nstruct ContractInstance {\n salt : Field,\n deployer: AztecAddress,\n contract_class_id : ContractClassId,\n initialization_hash : Field,\n public_keys_hash : PublicKeysHash,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys_hash.eq(other.public_keys_hash) &\n self.initialization_hash.eq(other.initialization_hash) &\n self.contract_class_id.eq(other.contract_class_id) &\n self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n self.public_keys_hash.to_field()\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys_hash: PublicKeysHash::from_field(serialized[4]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys_hash,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer\n )\n )\n }\n}\n" }, "22": { "path": "std/field.nr", "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n" }, "224": { "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" }, "238": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr", "source": "use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n" }, "239": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr", "source": "use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n" }, "240": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr", "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" }, "241": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr", "source": "use crate::{\n address::{eth_address::EthAddress, aztec_address::AztecAddress},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, hash::pedersen_hash, traits::ToField\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\nstruct SaltedInitializationHash {\n inner: Field\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n SaltedInitializationHash::from_field(\n pedersen_hash(\n [\n salt,\n initialization_hash,\n deployer.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n" }, "242": { "path": "/usr/src/noir-projects/noir-contracts/contracts/gas_token_contract/src/main.nr", "source": "mod lib;\n\ncontract GasToken {\n use dep::aztec::protocol_types::{abis::function_selector::FunctionSelector, address::{AztecAddress, EthAddress}};\n use dep::aztec::state_vars::{SharedImmutable, PublicMutable, Map};\n\n use crate::lib::{calculate_fee, get_bridge_gas_msg_hash};\n\n #[aztec(storage)]\n struct Storage {\n balances: Map<AztecAddress, PublicMutable<U128>>,\n portal_address: SharedImmutable<EthAddress>,\n }\n\n #[aztec(public)]\n #[aztec(initializer)]\n fn constructor(portal_address: EthAddress) {\n storage.portal_address.initialize(portal_address);\n }\n\n #[aztec(public)]\n fn claim_public(to: AztecAddress, amount: Field, secret: Field, leaf_index: Field) {\n let content_hash = get_bridge_gas_msg_hash(to, amount);\n\n // Consume message and emit nullifier\n context.consume_l1_to_l2_message(\n content_hash,\n secret,\n storage.portal_address.read_public(),\n leaf_index\n );\n\n let new_balance = storage.balances.at(to).read() + U128::from_integer(amount);\n storage.balances.at(to).write(new_balance);\n }\n\n // TODO(@just-mitch): remove this function before mainnet deployment\n // convenience function for testing\n // the true canonical gas token contract will not have this function\n #[aztec(public)]\n fn mint_public(to: AztecAddress, amount: Field) {\n let amount = U128::from_integer(amount);\n let new_balance = storage.balances.at(to).read().add(amount);\n\n storage.balances.at(to).write(new_balance);\n }\n\n #[aztec(public)]\n fn check_balance(fee_limit: Field) {\n let fee_limit = U128::from_integer(fee_limit);\n assert(storage.balances.at(context.msg_sender()).read() >= fee_limit, \"Balance too low\");\n }\n\n #[aztec(public)]\n fn pay_fee(fee_limit: Field) -> Field {\n let fee_limit_u128 = U128::from_integer(fee_limit);\n let fee = U128::from_integer(calculate_fee(context));\n // TODO(6252): implement debug logging in AVM\n //dep::aztec::oracle::debug_log::debug_log_format(\n // \"Gas token: paying fee {0} (limit {1})\",\n // [fee.to_field(), fee_limit]\n //);\n assert(fee <= fee_limit_u128, \"Fee too high\");\n\n let sender_new_balance = storage.balances.at(context.msg_sender()).read() - fee;\n storage.balances.at(context.msg_sender()).write(sender_new_balance);\n\n let rebate = fee_limit_u128 - fee;\n rebate.to_field()\n }\n\n // utility function for testing\n unconstrained fn balance_of_public(owner: AztecAddress) -> pub Field {\n storage.balances.at(owner).read().to_field()\n }\n}\n" }, "243": { "path": "/usr/src/noir-projects/noir-contracts/contracts/gas_token_contract/src/lib.nr", "source": "use dep::aztec::prelude::{AztecAddress, EthAddress};\nuse dep::aztec::context::interface::PublicContextInterface;\nuse dep::aztec::protocol_types::hash::sha256_to_field;\n\npub fn calculate_fee<TPublicContext>(context: TPublicContext) -> Field where TPublicContext: PublicContextInterface {\n context.transaction_fee()\n}\n\npub fn get_bridge_gas_msg_hash(owner: AztecAddress, amount: Field) -> Field {\n let mut hash_bytes = [0; 68];\n let recipient_bytes = owner.to_field().to_be_bytes(32);\n let amount_bytes = amount.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i + 4] = recipient_bytes[i];\n hash_bytes[i + 36] = amount_bytes[i];\n }\n\n // Function selector: 0x3e87b9be keccak256('mint_public(bytes32,uint256)')\n hash_bytes[0] = 0x3e;\n hash_bytes[1] = 0x87;\n hash_bytes[2] = 0xb9;\n hash_bytes[3] = 0xbe;\n\n let content_hash = sha256_to_field(hash_bytes);\n content_hash\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" }, "29": { "path": "std/hash.nr", "source": "mod poseidon;\nmod mimc;\nmod poseidon2;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\nstruct PedersenPoint {\n x : Field,\n y : Field,\n}\n\npub fn pedersen_commitment<N>(input: [Field; N]) -> PedersenPoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\n#[foreign(pedersen_commitment)]\npub fn __pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\npub fn pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> PedersenPoint {\n let values = __pedersen_commitment_with_separator(input, separator);\n PedersenPoint { x: values[0], y: values[1] }\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<N>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\npub fn pedersen_hash_with_separator<N>(input: [Field; N], separator: u32) -> Field {}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n#[foreign(keccak256)]\n// docs:start:keccak256\npub fn keccak256<N>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<N>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, N> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n" }, "3": { "path": "std/cmp.nr", "source": "// docs:start:eq-trait\ntrait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\nimpl Eq for Field { fn eq(self, other: Field) -> bool { self == other } }\n\nimpl Eq for u64 { fn eq(self, other: u64) -> bool { self == other } }\nimpl Eq for u32 { fn eq(self, other: u32) -> bool { self == other } }\nimpl Eq for u8 { fn eq(self, other: u8) -> bool { self == other } }\nimpl Eq for u1 { fn eq(self, other: u1) -> bool { self == other } }\n\nimpl Eq for i8 { fn eq(self, other: i8) -> bool { self == other } }\nimpl Eq for i32 { fn eq(self, other: i32) -> bool { self == other } }\nimpl Eq for i64 { fn eq(self, other: i64) -> bool { self == other } }\n\nimpl Eq for () { fn eq(_self: Self, _other: ()) -> bool { true } }\nimpl Eq for bool { fn eq(self, other: bool) -> bool { self == other } }\n\nimpl<T, N> Eq for [T; N] where T: Eq {\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<T> Eq for [T] where T: Eq {\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<N> Eq for str<N> {\n fn eq(self, other: str<N>) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl<A, B> Eq for (A, B) where A: Eq, B: Eq {\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl<A, B, C> Eq for (A, B, C) where A: Eq, B: Eq, C: Eq {\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl<A, B, C, D> Eq for (A, B, C, D) where A: Eq, B: Eq, C: Eq, D: Eq {\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl<A, B, C, D, E> Eq for (A, B, C, D, E) where A: Eq, B: Eq, C: Eq, D: Eq, E: Eq {\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3) & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\nstruct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n// docs:start:ord-trait\ntrait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else {\n if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n\nimpl<T, N> Ord for [T; N] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<T> Ord for [T] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<A, B> Ord for (A, B) where A: Ord, B: Ord {\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl<A, B, C> Ord for (A, B, C) where A: Ord, B: Ord, C: Ord {\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D> Ord for (A, B, C, D) where A: Ord, B: Ord, C: Ord, D: Ord {\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D, E> Ord for (A, B, C, D, E) where A: Ord, B: Ord, C: Ord, D: Ord, E: Ord {\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max<T>(v1: T, v2: T) -> T where T: Ord {\n if v1 > v2 { v1 } else { v2 }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min<T>(v1: T, v2: T) -> T where T: Ord {\n if v1 > v2 { v2 } else { v1 }\n}\n\nmod cmp_tests {\n use crate::cmp::{min, max};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0 as u64, 1 as u64), 0);\n assert_eq(min(0 as u64, 0 as u64), 0);\n assert_eq(min(1 as u64, 1 as u64), 1);\n assert_eq(min(255 as u8, 0 as u8), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0 as u64, 1 as u64), 1);\n assert_eq(max(0 as u64, 0 as u64), 0);\n assert_eq(max(1 as u64, 1 as u64), 1);\n assert_eq(max(255 as u8, 0 as u8), 255);\n }\n}\n" }, "31": { "path": "std/merkle.nr", "source": "// Regular merkle tree means a append-only merkle tree (Explain why this is the only way to have privacy and alternatives if you don't want it)\n// Currently we assume that it is a binary tree, so depth k implies a width of 2^k\n// XXX: In the future we can add an arity parameter\n// Returns the merkle root of the tree from the provided leaf, its hashpath, using a pedersen hash function.\npub fn compute_merkle_root<N>(leaf: Field, index: Field, hash_path: [Field; N]) -> Field {\n let n = hash_path.len();\n let index_bits = index.to_le_bits(n as u32);\n let mut current = leaf;\n for i in 0..n {\n let path_bit = index_bits[i] as bool;\n let (hash_left, hash_right) = if path_bit {\n (hash_path[i], current)\n } else {\n (current, hash_path[i])\n };\n current = crate::hash::pedersen_hash([hash_left, hash_right]);\n }\n current\n}\n" }, "35": { "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" }, "43": { "path": "std/uint128.nr", "source": "use crate::ops::{Add, Sub, Mul, Div, Rem, Not, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\n\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo, hi)\n }\n\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 { lo, hi }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<N>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1;\n if N <= 18 {\n for i in 0..N - 2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N - 1 {\n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n if ascii < 58 {\n ascii - 48\n } else if ascii < 71 {\n ascii - 55\n } else {\n ascii - 87\n } as Field\n }\n\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if self < b {\n (U128::from_u64s_le(0, 0), self)\n } else {\n //TODO check if this can overflow?\n let (q,r) = self.unconstrained_div(b * U128::from_u64s_le(2, 0));\n let q_mul_2 = q * U128::from_u64s_le(2, 0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::from_u64s_le(1, 0), r - b)\n }\n }\n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f - lo) / pow64;\n U128 { lo, hi }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo + self.hi * pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo * b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo + self.hi) * (b.lo + b.hi) - low + carry\n } else {\n self.lo * b.hi + self.hi * b.lo + carry\n };\n let hi = high as u64 as Field;\n U128 { lo, hi }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with underflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl Not for U128 { \n fn not(self) -> U128 {\n U128 {\n lo: (!(self.lo as u64)) as Field,\n hi: (!(self.hi as u64)) as Field\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift left with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift right with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\n } \n}\n\nmod test {\n use crate::uint128::{U128, pow64};\n\n #[test]\n fn test_not() {\n let num = U128::from_u64s_le(0, 0);\n let not_num = num.not();\n\n let max_u64: Field = pow64 - 1;\n assert_eq(not_num.hi, max_u64);\n assert_eq(not_num.lo, max_u64);\n\n let not_not_num = not_num.not();\n assert_eq(num, not_not_num);\n }\n}\n" }, "70": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/messaging.nr", "source": "use crate::{\n hash::{compute_secret_hash, compute_message_hash, compute_message_nullifier},\n oracle::get_l1_to_l2_membership_witness::get_l1_to_l2_membership_witness\n};\n\nuse dep::std::merkle::compute_merkle_root;\nuse dep::protocol_types::{constants::L1_TO_L2_MSG_TREE_HEIGHT, address::{AztecAddress, EthAddress}, utils::arr_copy_slice};\n\npub fn process_l1_to_l2_message(\n l1_to_l2_root: Field,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n chain_id: Field,\n version: Field,\n content: Field,\n secret: Field\n) -> Field {\n let secret_hash = compute_secret_hash(secret);\n let message_hash = compute_message_hash(\n portal_contract_address,\n chain_id,\n storage_contract_address,\n version,\n content,\n secret_hash\n );\n\n let returned_message = get_l1_to_l2_membership_witness(storage_contract_address, message_hash, secret);\n let leaf_index = returned_message[0];\n let sibling_path = arr_copy_slice(returned_message, [0; L1_TO_L2_MSG_TREE_HEIGHT], 1);\n\n // Check that the message is in the tree\n // This is implicitly checking that the values of the message are correct\n let root = compute_merkle_root(message_hash, leaf_index, sibling_path);\n assert(root == l1_to_l2_root, \"Message not in state\");\n\n compute_message_nullifier(message_hash, secret, leaf_index)\n}\n" }, "78": { "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.next_counter() };\n self.nullifier_read_requests.push(request);\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.next_counter() };\n self.nullifier_non_existent_read_requests.push(request);\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 fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl 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.next_counter() });\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.next_counter()\n });\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 assert(false, \"'coinbase' not implemented!\");\n EthAddress::zero()\n }\n\n fn fee_recipient(self) -> AztecAddress {\n assert(false, \"'fee_recipient' not implemented!\");\n AztecAddress::zero()\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, counter: self.next_counter() };\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.next_counter() };\n self.unencrypted_logs_hashes.push(side_effect);\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" }, "96": { "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>(encrypted_log: [Field; M]) -> 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" }, "97": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/initializer.nr", "source": "use dep::protocol_types::{\n address::AztecAddress, hash::{silo_nullifier, pedersen_hash},\n constants::GENERATOR_INDEX__CONSTRUCTOR, abis::function_selector::FunctionSelector\n};\n\nuse crate::{\n context::{PrivateContext, PublicContext, AvmContext, ContextInterface},\n oracle::get_contract_instance::get_contract_instance,\n oracle::get_contract_instance::get_contract_instance_avm,\n history::nullifier_inclusion::prove_nullifier_inclusion\n};\n\npub fn mark_as_initialized_public(context: &mut PublicContext) {\n mark_as_initialized(context);\n}\n\npub fn mark_as_initialized_avm(context: &mut AvmContext) {\n mark_as_initialized(context);\n}\n\npub fn mark_as_initialized_private(context: &mut PrivateContext) {\n mark_as_initialized(context);\n}\n\nfn mark_as_initialized<TContext>(context: &mut TContext) where TContext: ContextInterface {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n ContextInterface::push_new_nullifier(context, init_nullifier, 0);\n}\n\npub fn assert_is_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_avm(context: &mut AvmContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_contract_initialization_nullifier(context.this_address());\n prove_nullifier_inclusion(init_nullifier, *context);\n}\n\nfn compute_contract_initialization_nullifier(address: AztecAddress) -> Field {\n silo_nullifier(\n address,\n compute_unsiloed_contract_initialization_nullifier(address)\n )\n}\n\nfn compute_unsiloed_contract_initialization_nullifier(address: AztecAddress) -> Field {\n address.to_field()\n}\n\npub fn assert_initialization_matches_address_preimage_public(context: PublicContext) {\n assert_initialization_matches_address_preimage(context);\n}\n\npub fn assert_initialization_matches_address_preimage_avm(context: AvmContext) {\n let address = context.this_address();\n let instance = get_contract_instance_avm(address).unwrap();\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn assert_initialization_matches_address_preimage_private(context: PrivateContext) {\n assert_initialization_matches_address_preimage(context);\n}\n\nfn assert_initialization_matches_address_preimage<TContext>(context: TContext) where TContext: ContextInterface {\n let address = context.this_address();\n let instance = get_contract_instance(address);\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\npub fn compute_initialization_hash(init_selector: FunctionSelector, init_args_hash: Field) -> Field {\n pedersen_hash(\n [init_selector.to_field(), init_args_hash],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n" } } }