@aztec/protocol-contracts 0.35.1 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/artifacts/ContractClassRegisterer.json +1 -1
- package/dest/artifacts/ContractInstanceDeployer.json +1 -1
- package/dest/artifacts/GasToken.json +1 -1
- package/dest/artifacts/KeyRegistry.json +1 -0
- package/dest/artifacts/MultiCallEntrypoint.json +1 -1
- package/dest/gas-token/index.d.ts.map +1 -1
- package/dest/gas-token/index.js +2 -3
- package/dest/instance-deployer/index.d.ts.map +1 -1
- package/dest/instance-deployer/index.js +6 -2
- package/dest/key-registry/artifact.d.ts +2 -0
- package/dest/key-registry/artifact.d.ts.map +1 -0
- package/dest/key-registry/artifact.js +4 -0
- package/dest/key-registry/index.d.ts +7 -0
- package/dest/key-registry/index.d.ts.map +1 -0
- package/dest/key-registry/index.js +16 -0
- package/dest/multi-call-entrypoint/index.d.ts.map +1 -1
- package/dest/multi-call-entrypoint/index.js +2 -3
- package/dest/protocol_contract.d.ts +3 -3
- package/dest/protocol_contract.d.ts.map +1 -1
- package/dest/protocol_contract.js +4 -6
- package/package.json +12 -4
- package/src/artifacts/ContractClassRegisterer.json +1 -1
- package/src/artifacts/ContractInstanceDeployer.json +1 -1
- package/src/artifacts/GasToken.json +1 -1
- package/src/artifacts/KeyRegistry.json +1 -0
- package/src/artifacts/MultiCallEntrypoint.json +1 -1
- package/src/gas-token/index.ts +2 -2
- package/src/instance-deployer/index.ts +7 -1
- package/src/key-registry/artifact.ts +6 -0
- package/src/key-registry/index.ts +22 -0
- package/src/multi-call-entrypoint/index.ts +2 -2
- package/src/protocol_contract.ts +1 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"noir_version":"0.28.0+b6ee6a5888e47e7e17024eb66172459a13bdeb3a","name":"KeyRegistry","functions":[{"name":"register","is_unconstrained":true,"custom_attributes":["aztec(public)"],"abi":{"parameters":[{"name":"inputs","type":{"kind":"struct","path":"aztec::context::inputs::public_context_inputs::PublicContextInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"historical_header","type":{"kind":"struct","path":"authwit::aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"gas_fees","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees","fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}]}}]}}]}},{"name":"public_global_variables","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"gas_fees","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees","fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}]}}]}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"gas_left","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas","fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"transaction_fee","type":{"kind":"field"}}]},"visibility":"private"},{"name":"address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]},"visibility":"private"},{"name":"partial_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::partial_address::PartialAddress","fields":[{"name":"inner","type":{"kind":"field"}}]},"visibility":"private"},{"name":"nullifier_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]},"visibility":"private"},{"name":"incoming_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]},"visibility":"private"},{"name":"outgoing_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]},"visibility":"private"},{"name":"tagging_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]},"visibility":"private"}],"param_witnesses":{"address":[{"start":40,"end":41}],"incoming_public_key":[{"start":44,"end":46}],"inputs":[{"start":0,"end":40}],"nullifier_public_key":[{"start":42,"end":44}],"outgoing_public_key":[{"start":46,"end":48}],"partial_address":[{"start":41,"end":42}],"tagging_public_key":[{"start":48,"end":50}]},"return_type":{"abi_type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_non_existent_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"contract_storage_update_requests","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest","fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"new_value","type":{"kind":"field"}}]}}},{"name":"contract_storage_reads","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_read::StorageRead","fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"current_value","type":{"kind":"field"}}]}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"new_note_hashes","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}]}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message","fields":[{"name":"recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"content","type":{"kind":"field"}}]}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"authwit::aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"gas_fees","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees","fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"gas_fees","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees","fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}]}}]}},{"name":"prover_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas","fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"end_gas_left","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas","fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"transaction_fee","type":{"kind":"field"}}]},"visibility":"public"},"return_witnesses":[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277],"error_types":{}},"bytecode":"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","debug_symbols":"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DuW761C+u77Wd9fbZzS9742mQ41mQI1mIo1mre/u62gS1Ggy1GgK1GgEajQVajRQsThDxeIMFYszVCwuULG4QMXiAhWLC1QsLlCxuEDF4gIViwtULC5QsbhAxWKBisUCFYsFKhYLVCwWqFgsULFYoGKxQMVigYrFAhWLK1QsrlCxuELF4goViytULK5QsbhCxeIKFYsrVCyuULG4QcXiBhWLG1QsblCxuEHF4gYVixtULG5QsbhBxeIGFYs7VCzuULG4Q8XiDhWLO1Qs7lCxuEPF4g4ViztULO5QsXhAxeIBFYsHVCweULF4QMXiARWLB1QsHlCxeEDF4gEViydULJ5QsXhCxeIJFYsnVCyeULF4QsXiCRWLJ1QsnkixeGxIsXhsSLF4bEixeGxIsXhsSLF4bEixeGxIsXhsSLF4bEixeGxQsThBxeIEFYsTVCxOULE4QcXiBBWLoXx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oHx3A8p3N6B8dwPKdzegfHcDync3oXx3E8p3N6F8dxPKdzc3pFg8oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPKdzehfHcTync3oXx3E8p3N6F8dxPK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+qc/9E9/6J/+0D/9oX/6Q//0h/7pD/3TH/qnP/RPf+if/tQ//al/+lP/9Kf+6U/905/6pz/1T3/qn/7UP/2pfvp12/SXJP0lWX9J0V8i+kuq/pKmv6TrLxn6S/RPP+mfftI//aR/+kn/9JP+6Sf900/6p5/0Tz/pn37SP/2sf/pZ//Sz/uln/dPP+qef9U8/659+1j/9rH/6Wf/0i/7pF/3TL/qnX/RPv+ifftE//aJ/+kX/9Iv+6Rf90xf90xf90xf90xf90xf90xf90xf90xf90xf90xf906/6p1/1T7/qn75e66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvrf+9NI2O+21bMlD6fTUl2Ppv7p8XF9ud7S/mMpMOMZMCMZKKM5O+9VcR1JAlmJBlmJAVmJAIzkgozEpgYO2Fi7ISJsRMlxo4NJcaODSXGjg0lxo4NJcaODSXGjg0lxo4NJcaODSXGjg0lxo4NJsYmmBibYGJsgomxCSbGJpgYm2BibIKJsQkmxiaYGJtgYmyGibEZJsZmmBibYWJshomxGSbGZpgYm2FibIaJsRkmxhaYGFtgYmyBibEFJsYWmBhbYGJsgYmxBSbGFpgYW2BirMDEWIGJsQITYwUmxgpMjBWYGCswMVZgYqzAxFiBibEVJsZWmBhbYWJshYmxFSbGVpgYW2FibIWJsRUmxlaYGNtgYmyDibENJsY2mBjbYGJsg4mxDSbGNpgY22BibIOJsR0mxnaYGNthYmyHibEdJsZ2mBjbYWJsh4mxHSbGdpgYO2Bi7ICJsQMmxg6YGDtgYuyAibEwPq8B4/MaMD6vAePzGjA+rwHj8xowPq8B4/MaMD6vAePzGjA+rwHj8xowPq8B4/OaMD6vCePzmjA+rwnj85obSoydMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85owPq8J4/OaMD6vCePzmjA+rwnj85ooPq+8ofi8XiMBibGvkYDE2NdIQGLsayQgMfY1EpAY+xoJSIx9jQQkxr5GAhJjXyOBibEoPq/XSGBiLIrP6zUSmBiL4vN6jQQmxqL4vF4jgYmxKD6v10hgYiyKz+s1EpgYi+Lzeo0EJsai+LxeI4GJsSg+r9dIYGIsis/rNRKYGIvi83qNBCbGovi8XiOBibEoPq/XSGBiLIrP6zUSmBiL4vN6jQQmxqL4vF4jgYmxKD6v10hgYiyKz+s1EpgYi+Lzeo0EJsai+LxeI4GJsSg+r9dIYGIsis/rNRKYGIvi83qNBCbGovi8XiOBibEoPq/XSGBiLIrP6zUSmBiL4vN6jQQmxqL4vF4jgYmxKD6v10hgYiyKz+s1EpgYi+Lzeo0EJsai+LxeI4GJsSg+r9dIYGIsis/rNRKYGIvi83qNBCbGovi8XiOBibEoPq/XSGBiLIrP6zUSmBiL4vN6jQQmxqL4vF4jgYmxKD6v10hgYiyKz+s1EpgYi+Lzeo0EJsai+LxeI4GJsSg+r9dIUGJsgvF5JRifV4LxeSUYn1faUGJsgvF5JRifV4LxeSUYn1eC8XklGJ9XgvF5JRifV4LxeSUYn1eC8XklGJ9XgvF5JRifV4LxeSUYn1eC8XklGJ9XgvF5JRifV4LxeSUYn1eC8XklGJ9XgvF5JRifV4LxeSUYn1eC8XklGJ9XgvF5JRifV4LxeSUYn1eC8XklGJ9XgvF5pb/n85ppvEdS8t8dSYEZicCMpMKMpMGMpMOMZMCMZKKMROPzel+S9Jdk/SVFf4noL6n6S5r+kq6/ZOgvmepLmv7pN/3Tb/qn3/RPv+mfftM//aZ/+k3/9Jv+6Tf90+/6p9/1T7/rn37XP/2uf/pd//S7/ul3/dPv+qff9U9/6J/+0D/9oX/6Q//0h/7pD/3TH/qnP/RPf+if/tA//al/+lP/9Kf+6U/905/6pz/1T3/qn/7UP/2pf/pT/fTztukvSfpLsv6Sor9E9JdU/SVNf0nXXzL0l+ifftI//aR/+kn/9JP+6Sf900/6p5/0Tz/pn37SP/2kf/pZ//Sz/uln/dPP+qef9U8/659+1j/9rH/6Wf/0s/7pF/3TL/qnX/RPv+ifftE//aJ/+kX/9Iv+6Rf90y/6py/6py/6py/6py/6py/6py/6py/6py/6py/6py/6p6/X+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW/qtb6p1/qmXuubeq1v6rW+qdf6pl7rm3qtb+q1vqnX+qZe65t6rW+qtb6yqbW+1yVJf0nWX1L0l4j+kqq/pOkv6fpLhv4S/dNP+qef9E8/6Z9+0j/9pH/6Sf/0k/7pJ/3TT/qnn/RPP+ufftY//ax/+ln/9LP+6Wf908/6p5/1Tz/rn37WP/2if/pF//SL/ukX/dMv+qdf9E+/6J9+0T/9on/6Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0Rf/0q/7pV/3Tr/qnX/VPv+qfftU//ap/+lX/9Kv+6Vf902/6p9/0T7/pn37TP/2mf/pN//Sb/uk3/dNv+qff9E+/659+1z/9rn/6Xf/0u/7pd/3T7/qn3/VPv+ufftc//aF/+kP/9If+6Q/90x/6pz/0T3/on/7QP/2hf/pD//Sn/ulP/dOf+qc/9U9/6p/+1D/9qX/6U//0p/7p67W+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqTX+pJe60t6rS/ptb6k1/qSXutLeq0v6bW+pNf6kl7rS3qtL+m1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6s1/qyXuvLeq0v67W+rNf6sl7ry3qtL+u1vqzX+rJe68t6rS/rtb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LW+otf6il7rK3qtr+i1vqLX+ope6yt6ra/otb6i1/qKXusreq2v6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rE73WJ3qtT/Ran+i1PtFrfaLX+kSv9Yle6xO91id6rU/0Wp/otT7Ra32i1/pEr/WJXusTvdYneq1P9Fqf6LU+0Wt9otf6RK/1iV7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe66t6ra/qtb6q1/qqXuureq2v6rW+qtf6ql7rq3qtr+q1vqrX+qpe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXutreq2v6bW+ptf6ml7ra3qtr+m1vqbX+ppe62t6ra/ptb6m1/qaXuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7r63qtr+u1vq7X+rpe6+t6ra/rtb6u1/q6Xuvreq2v67W+rtf6ul7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG3qtb+i1vqHX+oZe6xt6rW/otb6h1/qGXusbeq1v6LW+odf6hl7rG/taX5Zt/HVVllL+zYX/4d99Oo1W//p0GqN+Pp1kfm5T928j5XOb/u02s7/vMkf789n0Zy7N4SYzvaeybXn3Lt1jKvLnLmX3LmP/LuNzl5ry3wY2HW7yFdi+OKqdyjdg+3pqrjl/7lLT3wW2r8Aqb/IdWPGYyldg+zu/tvS5y5h/G1h1uMl3YM1jKl+BHWz8rR/d5X3hsF44jRfKZr0wWS/M1guL9UKxXlitFzbrhdaVI9aVI9aVU60rp1pXTrWunGpdOdW6cqp15VTryqnWlVOtK6daV06zrpxmXTnNunKadeU068pp1pXTrCunWVdOs66cZl053bpyunXldOvK6daV060rp1tXTreunG5dOd26crp15QzryhnWlTOsK2dYV86wrpxhXTnDunKGdeUM68oZ1pUzrStnWlfOtK6caV0507pypnXlTOvKmdaVM60rZxpXztw264XJemG2XlisF4r1wmq9sFkv7NYLh/VC68pJ1pWTrCsnWVdOsq6cZF05ybpyknXlJOvKSdaVk6wrJ1tXTraunGxdOdm6crJ15WTrysnWlZOtKydbV062rpxiXTnFunKKdeUU68op1pVTrCunWFeOVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15WjXkadWQp1VDnlYNeVo15GnVkKdVQ55WDXlaNeRp1ZCnVUOeVg15GjVk2Ywa8uvCZL0wWy8s1gvFemG1XtisF3brhcN6oXXlJOvKSdaVk6wrJ1lXTrKunGRdOcm6cpJ15STryknWlZOtKydbV062rpxsXTnZunKydeVk68rJ1pWTrSsnW1dOsa6cYl05xbpyinXlFOvKKdaVU6wrp1hXTrGunGJdOWJdOWJdOWJdOWJdOWJdOWJdOWJdOWJdOWJdOWJdOdW6cqp15VTryqnWlVOtK6daV061rpxqXTnVunKqdeU068pp1pXTrCunWVdOs66cZl05zbpymnXlNOvKadaV060rp1tXTreunG5dOd26crp15XTryunWldOtK6dbV86wrpxhXTnDunKGdeUM68oZ1pUzrCtnWFfOsK6cYV0507pypnXlTOvKmdaVM60rZ1pXzrSunGldOdO6cqwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnKyasjJqiEnq4acrBpysmrIyaohJ6uGnKwacrJqyMmqISerhpysGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpytmrI2aohZ6uGnK0acrZqyNmqIWerhpytGnK2asjZqiFnq4acrRpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwacrFqyMWqIRerhlysGnKxasjFqiEXq4ZcrBpysWrIxaohF6uGXKwaslg1ZLFqyGLVkMWqIYtVQxarhixWDVmsGrJYNWSxashi1ZDFqiGLVUMWq4YsVg1ZrBqyWDVksWrIYtWQxaohi1VDFquGLFYNWawaslg1ZLFqyGLVkMWqIYtVQxarhixWDVmsGrJYNWSxashi1ZDFqiGLVUMWq4YsVg1ZrBqyWDVksWrIYtWQxaohi1VDFquGLFYNWawaslg1ZLFqyGLVkMWqIYtVQxarhixWDVmsGrJYNWSxashi1ZDFqiGLVUMWq4YsVg1ZrBqyWDVksWrIYtWQxaohi1VDFquGLFYNWawaslg1ZLFqyGLVkMWqIYtVQxarhixWDVmsGrJYNWSxashi1ZDFqiGLVUMWq4YsVg1ZrBqyWDVksWrIYtWQxaohi1VDFquGLFYNWawaslg1ZLFqyGLVkMWqIVerhlytGnK1asjVqiFXq4ZcrRpytWrI1aohV6uGXK0acrVqyNWqIVerhlytGnK1asjVqiFXq4ZcrRpytWrI1aohV6uGXK0acrVqyNWqIVerhlytGnK1asjVqiFXq4ZcrRpytWrI1aohV6uGXK0acrVqyNWqIVerhlytGnK1asjVqiFXq4ZcrRpytWrI1aohV6uGXK0acrVqyNWqIVerhlytGnK1asjVqiFXq4ZcrRpytWrI1aohV6uGXK0acrVqyNWqIVerhlytGnK1asjVqiFXq4ZcrRpytWrI1aohV6uGXK0acrVqyNWqIVerhlytGnK1asjVqiFXq4ZcrRpytWrI1aohV6uGXK0acrVqyNWqIVerhlytGnK1asjVqiFXq4ZcrRpytWrI1aohV6uGXK0acrVqyNWqIVerhlytGnK1asjVqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rI7UBDHqX8dWHZ8r+98D/8u0+nWdL7NmlLn0+nmvY+/crK//p0mrP+w6e3nU+/jpr3SF6Btf0ZydZ3Pl3kPd8yxp/Pjr2Ptirvz7ae//mHX2n9exCb/ONH3xQzKTpQLKToQFFI0YFiJUUHio0UHSh2UnSgOEjRgeIkxb9P8eAP96Soo8jaxYMiaxcPiqxdfqFY3t/7SrD3KAopOlBk7eJBkbWLB0XWLh4UByk6UGTt4kCxs3bxoMjaxYMiaxcPiqxdPCgKKTpQZO3iQZG1iwdF1i4eFFm7eFBk7eJAcbB28aDI2sWDImsXD4qsXTwoCik6UGTt4kGRtYsHRdYuHhRZu3hQZO3iQHGydvGgyNrFgyJrFw+KrF08KAopOlBk7eJBkbWLB0XWLh4UWbt4UGTt8vcp9o21iwdF1i4eFFm7eFBk7eJBUUjRgSJrFw+KrF08KLJ28aDI2sWDImsXB4qJtYsHRdYuHhRZu3hQZO3iQVFI8X+k+EbDguQQDauMQzQsHQ7RsB44RMMk/whNZuZ+iIbp+CEa5tiHaJg4H6IRojlCw2z4EA2z4UM0zIYP0TAbPkTDbPgITWE2fIiG2fAhGmbDh2iYDR+iEaI5QsNs+BANs+FDNMyGD9EwGz5Ew2z4CI0wGz5Ew2z4EA2z4UM0zIYP0QjRHKFhNnyIhtnwIRpmw4domA0fomE2fISmMhs+RMNs+BANs+FDNMyGD9EI0RyhYTZ8iIbZ8CEaZsOHaJgNH6JhNnyEhm/nPUbDbPgQDbPhQzTMhg/RCNEcoWE2fIiG2fAhGmbDh2iYDR+iYTZ8hIbvez1Gw2z4EA2z4UM0zIYP0QjRHKFhNnyI5rl5zfyg6dtek5YHvzbyG5rHvn9PUp9/fVbSrOYPvzk+9Tjz5vjUs8+b41MPSm+OT9WYvDk+VZDy5vjULM+b41NTQmeOj30fnzfHp4po3hxZz/hwZD3jw1HI0YUj6xkfjqxnfDiynvHhyHrGhyPrGQ+O47Hv6PPmyHrGhyPrGR+OrGd8OAo5unBkPePDkfWMD0fWMz4cWc/8wDH/GUXOvexxZD3jwvGx7+1Tciz5D0fZ48j88ReOMt8fznXb9jgKObpwZP7ow5H5ow9H5o8+HJk/+nBk/ujC8bFvj/PmSD3chyP1cB+OrGd8OAo5unBkPePDkfWMD0fm4T4cmYe7cHzse+u8OTLv+YXjkM/fFUaTf/7hUvpnFLLtieePfRHapdCZUV0AnenXBdCpPV8AnQnyBdCZTa+H/tiX5F0KnXr5BdAprl8AnRXpBdCF0NdDZ0V6AXRWpOuhP/ZNcudB76P99dk+94Tdx76h7kLk1F28kc/PiGfte8ipuqxG/tiX/ZyIvL/dFnPsmage+xKhC5GzCl2OXIh8NXJWoMuRs/5cjpx5+XLkzMuXI+ffQlcjf+xLsC5EzupzOXJWn8uRs/r0Rp62Ut8T3MbeHyke+5qxS6GzAr0AOmvQC6CzCr0AOuvQC6CzEl0PfbAWvQA6q9ELoLMevQA6K9ILoAuhr4fOivQC6KxIL4DOivQC6KxIL4DOinQ9dL4K9QrorEgvgM6K9ALorEgvgC6E7g09jQ/0NNoedFakF0BnRXoBdFakF0BnRXoBdFaky6FPvsz2CuisSC+Azor0AuisSC+ALoS+Hjor0gugsyK9ADor0gugsyK9ADor0vXQ+TriK6CzIr0AOivSC6CzIr0AuhD6euisSC+Azor0AuisSC+Azor0AuisSNdD54uQ/aHn9IGe09yDLoS+HjoPUn/oRT7QpexB50F6AXQepOuh8w3FV0CntHsBdEq7F0Bnnn4BdCH09dAp7V4AndLuBdBZkV4AnRXpBdBZka6Hzhd3XwGdFekF0FmRXgCdFekF0IXQ10NnRXoBdFakfw/6myOLTB+OrBt9OLIUdOFYWd35cGTB5sORNZgPR5ZVPhyFHF04svjx4ch6xocj6xkfjqxnfDiynnHh2FjP+HBkPePDkXnPLxxnHu8ZzpL3ODLv8eHIc+YnjvUzw7m7rzvPGR+OPGd8OFI38+FI3cyHo5CjC0fmjz4cmT/6cKRu5sORupkPR9YzLhz5IvhfOJY/r7p6/XOvPQTf7e7EkfWMD0fWMz4chRxdOLKe8eHIesaHI+sZH46sZ3w4sp5x4cjXiDtxZD3jw5H1jA9HIUcXjszDfTgyD/fhyDzchyPzcB+OzMN/4finMXhJc/w7jnXjy5OdODIP9+HIPNyHI/+u4MNRyNGFI+sZH47Me37hmPP2/uKcZYcjX9HpxJHnzE8cxx+Os+9x5Dnjw5HnjA9H6mY+HKmb+XCkbubDkfmjC8fM/NGHI3UzH47UzXw4sp7x4Sjk6MKR9cwvHP/hi0vb5ch6xocj6xkfjqxnfDiynnHhyPea/sRRts8Xy7b39xm+qvS39dj/gePe3xX49lEnjqxnfDgKObpwZD3jw5H1jA9H1jM+HFnP+HBkPePCkW/FdOLIesaHI+sZH46sZ3w4Cjm6cGQ948OR9YwPR9YzPhxZz/hwZD3jwpHvgXTiyHrGhyPrGR+OrGd8OAo5unBkPePDkfWMD0fWMz4cWc/4cGQ948KR74F04sh6xocj6xkfjqxnfDgKObpwZD3jw5H1jA9H1jM+HFnP+HBkPePCke8bduLIesaHI+sZH46sZ3w4Cjm6cGQ948OR9YwPR4d6JqdPt/ec5leOIu3NsQ758unTOJZW5f3Z1vM//3DbPoPYpzhI0YHiJMW/T9HjTcOk6PGeYVL0eMswKXq8Y5gUPd4wTIoe7xcmRY+3C5PiYO3iQZG1iwdF1i6/UCzv72217lCcrF08KLJ28aDI2sWDImsXD4pCig4UWbt4UGTt4kGRtYsHRdYuHhRZu/x9imlj7eJBkbWLB0XWLh4UWbt4UBRSdKDI2sWDImsXD4qsXTwosnbxoMjaxYFiYu3iQZG1iwdF1i4eFFm7eFAUUnSgyNrFgyJrFw+KrF08KLJ28aDI2sWBYmbt4kGRtYsHRdYuHhRZu3hQFFJ0oMjaxYMiaxcPiqxdPCiydvGgyNrFgWJh7eJBkbWLB0XWLh4UWbt4UBRSdKDI2sWDImsXD4qsXTwosnbxoMjaxYGisHbxoMjaxYMia5d/R/GNhgXJIRohmiM0LB0O0bAeOETDJP8QDTP3QzRMx4/QVObYh2iYOB+iYTZ8iIbZ8CEaIZojNMyGD9EwGz5Ew2z4EA2z4UM0zIaP0DRmw4domA0fomE2fIiG2fAhGiGaIzTMhg/RMBs+RMNs+BANs+FDNMyGj9B0ZsOHaJgNH6JhNnyIhtnwIRohmiM0zIYP0TAbPkTDbPgQDbPhQzTMho/Q8K3Hx2iYDR+iYTZ8iIbZ8CEaIZojNMyGD9EwGz5Ew2z4EA2z4UM0zIaP0PA9usdomA0fomE2fIiG2fAhGiGaIzTMhg/RMBs+RMNs+BANs+FDNMyGD9Bkvpn1GA2z4UM0zIYP0TAbPkTz3MN7ftD0re6hee7h/Q3NY98cJ6+/af/1WXmVS+YPvzk+NWZ7c3xqgPfmKOTowvGpQoo3x6eqLt4cn5rleXN8akrozfGp4o8zx8e+S86bI+sZH46sZ3w4sp7x4Sjk6MKR9YwPR9YzPhxZz/hwZD3jw5H1jAvHx75fzpsj6xkfjqxnfDiynvHhKOTowpH1jA9H1jM+HFnP/MAx/xnFqwIsexxZz/hwZD3zE8eS/3CUHY6Pfc+XjqPM94dz3bY9jswffTgKObpwZP7ow5H5ow9H5o8+HJk/+nBk/ujC8bHvU/PmSD3chyPrGR+OrGd8OAo5unBkPePDkXm4D0fm4T4cmYe7cHzsO7l0HId8/q4wmvzzD5fSP6OQbU88f+zbvi6FLoS+HjrTrwugU3u+ADoT5AugM5u+ADpT7/XQH/uOuUuhU1y/ADor0gugsyK9ALoQ+nrorEgvgM6U0Rt6H+/59bkn7D72NWwXIqfu4o18fkY8a99DTtVlNfLHvtHmROT97baYY89E9dg35VyInFXocuSsQZcjFyJfjZz153LkzMuXI2devhw5/xa6HDllrcXIy2PfIHUhclafy5Gz+vRGnrYPjrQN2YPO+vMC6ELo66GzBr0AOqvQC6CzDr0AOivRC6CzFl0PPbEavQA669ELoLMivQA6K9ILoAuhr4fOivQC6KxIL4DOivQC6KxIL4DOinQ9dL439QrorEgvgM6K9ALorEjdoafxgZ5G24MuhL4eOivSC6CzIr0AOivSC6CzIr0AOivS9dD55tsroLMivQA6K9ILoLMivQC6EPp66KxIL4DOivQC6KxIL4DOivQC6KxI10MXVqQXQGdFegF0VqQXQGdFegF0IfT10FmRXgCdFekF0FmRXgCdFel66HwRsj/0nD7QXzz2oDNlvAA6D1J/6EU+0KXsQedBegF0HqQXQKe0ux56o7R7AXRKuxdAZ55+AXTm6RdAF0JfD53S7gXQWZFeAJ0V6QXQWZFeAJ0V6XrofHH3FdBZkV4AnRXpBdBZkV4AXQh9PXRWpH8P+psji0wfjqwbfTiyFPThyOrOheNgwebDkTWYD0eWVT4cWSn5cBRydOHIesaHI+sZH46sZ3w4sp7x4ch6xoXjZD3jw1HI8QeOM4/3DGfJexyZ9/hw5DnzE8eaPhz39zXPGQ+OsvGc8eFI3cyHI3UzH47UzXw4Cjm6cGT+6MORupkPR+pmPhxZz/hwZD3zA8fy51VXr3/utIcQvtvdiSPrGR+OrGd8OLKe8eEo5OjCkfWMD0fWMz4cWc/4cGQ948OR9YwLR74Z3Ikj6xkfjszDfTgKObpwZB7uw5F5uA9H5uE+HJmH/8LxT2PwkubY48g83IUj34fsxJF5uA9H/l3BhyPrGR+OQo4uHJn3/MIx5+39xTnv/Z6Cr+j04ch3Ef7GcfzhOPseR54zPhx5zvhwpG7mw5G6mQ9H6mY+HJk/+nBk/ujCsVI38+FI3cyHI+sZH46sZ3w4Cjn+wPEfvri0XY6sZ3w4sp7x4ch6xocj6xkfjqxnfuEo2+eLZdv7+wxfVfrbeuz/wHHv7wp8+6gTR9YzPhxZz/hwFHJ04ch6xocj6xkfjqxnfDiynvHhyHrGhSNfdOnEkfWMD0fWMz4cWc/4cBRydOHIesaHI+sZH46sZ3w4sp7x4ch6xoUj3wPpxJH1jA9H1jM+HFnP+HAUcnThyHrGhyPrGR+OrGd8OLKe8eHIesaFI98D6cSR9YwPR9YzPhxZz/hwFHJ04ch6xocj6xkfjqxnfDiynvHhyHrGg2Pl+4adOLKe8eHIesaHI+sZH45Cji4cWc/4cNytZ8omfzj29G84vi/s1guH9cJpvHD/naG/XJisF2brhcV6oVgvrNYLrSsnWVdOsq6cZF052bpysnXlZOvKydaVk60rJ1tXTraunGxdOdm6crJ15RTryinWlVOsK6dYV06xrpxiXTnFunKKdeUU68op1pUj1pUj1pUj1pUj1pUj1pUj1pUj1pUj1pUj1pUj1pVTrSunWldOta6cal051bpyqnXlVOvKqdaVU60rp1pXTrOunGZdOc26cpp15TTrymnWldOsK6dZV06zrpxmXTndunK6deV068rp1pXTrSunW1dOt66cbl053bpyunXlDOvKGdaVM6wrZ1hXzrCunGFdOcO6coZ15QzryhnWlTOtK2daV860rpxpXTnTunKmdeVM68qZ1pUzrStnGldO2zbrhcl6YbZeWKwXivXCar2wWS/s1guH9ULryrFqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiE3q4bcrBpys2rIzaohN6uG3KwacrNqyM2qITerhtysGnKzasjNqiF3q4bcrRpyt2rI3aohd6uG3K0acrdqyN2qIXerhtytGnK3asjdqiF3q4bcrRpyt2rI3aohd6uG3K0acrdqyN2qIXerhtytGnK3asjdqiF3q4bcrRpyt2rI3aohd6uG3K0acrdqyN2qIXerhtytGnK3asjdqiF3q4bcrRpyt2rI3aohd6uG3K0acrdqyN2qIXerhtytGnI/0JBTezvRSk7ffGu95b8+3PsfA1gpn3v0BfcYC+4xz7/Hgd7te4+04B55wT3KgnvIgnvUBfdYsM/rgn1eF+zzumCftwX7vC3Y523BPm8L9nlbsM/bgn3eFuzztmCftwX7vC3Y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vyNVSHt/OEv/BwWits9ckU9m57k25HPce67nnvrvu+QldylL7iJL7lKX3KUtuUtfcpex5C5zxV1ObrPzvsuSvd+X7P2+ZO+7tIKZUj936bJ3l7rkLm3JXRz2fk7p/emcSt+7y1hyl7niLh4NQH64S1pyl+xxF/n8Ie3fpEd7mVQf6f3hPur85+lReiVT79U7et3J8MfEGf9fQ5ob3pAS3pA8Fl5uf4Y055cU/uta8vCPew9J8IZU8YbU8IbU8YY08IY00YZUPZzR3kNKeEOCi951g4vedYOL3nWDi951g4vedYOL3nWDi951w4veCS96J7zonfCid8KL3gkveie86J3wonfCi94JL3onvOid8aJ3xoveGS96Z7zonfGid8aL3hkveme86J3xonfGi95ldfR+Ke3zrw+/hNIvH24pv/8Q1tL48+G89c8EUvQJ5OgTKNEnINEnUKNPoEWfQI8+gRF9AjP4BCT6SSzRT2KJfhJL9JPYw1547QSin8QS/SQWoJP4PSSgs/U9JKDT8q8hVaDz7z0koBPtPSSgM+o9JKBT5z0koHPkPSSgk+E9JKBY/x4SXvSueNG74kXvhhe9G170bnjRu+FF74YXvRte9G540bvhRe+GF70bXvTueNG740Xvjhe9O1707njRu+NF744XvTte9O540bvjRe+BF70HXvQeeNF74EXvgRe9h0v0lndnw/xvOhvuDal83Nel/UMrkLnz0ZE+7WhHKv8w+l1jbPsYe1Mr2+fDf/qG1NFWz/UzpNLKP871PaCONqCBNqAJNiAXK7PrgBLagDLagAragARtQBVtQGiReqJF6okWqSdYpG4bWKRuG1ikbhtYpG4bWKRuG1ikbhtYpG4bWKRuG1ikbhtYpG4bWqROaJE6oUXqhBapE1qkTmiROqFF6oQWqRNapE5okTqhReqMFqkzWqTOaJE6o0XqjBapM1qkzmiROqNF6owWqTNapC5okbqgReqCFqkLWqQuaJG6oEXqghapC1qkLmiRuqBFakGL1IIWqQUtUgtapBa0SC1okVrQIrWgRWpBi9SCFqkrWqSuaJG6okXqihapK1qkrmiRuqJF6ooWqStapK5okbqhReqGFqkbWqRuaJG6oUXqhhapG1qkbmiRuqFF6oYWqTtapO5okbqjReqOFqk7WqTuaJG6o0XqjhapO1qk7miReqBF6oEWqQdapB5okXqgReqBFqnRPIoNzaPY0DyKDc2j2NA8ig3No9jQPIoNzaPY0DyKDc2j2NA8ig3No9jQPIoNzaPY0TyKHc2j2NE8ih3No9g3sEjd0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIodzaPY0TyKHc2j2NE8ih3No9jRPIoDzaM40DyKA82jONA8imMDi9QDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjQPIoDzaM40DyKA82jONA8igPNozjRPIoTzaM40TyKE82jODewSD3RPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82jONE8ihPNozjRPIoTzaM40TyKE82j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"},{"name":"compute_note_hash_and_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"parameters":[{"name":"contract_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"param_witnesses":{"contract_address":[{"start":0,"end":1}],"nonce":[{"start":1,"end":2}],"note_type_id":[{"start":3,"end":4}],"serialized_note":[],"storage_slot":[{"start":2,"end":3}]},"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"},"return_witnesses":[4,5,6,7],"error_types":{}},"bytecode":"H4sIAAAAAAAA/+2byW7bMBCGJa9yVC+SZXlf4uTSm+w6tnPzy7Rv3XuBvkPRjMKpx8QkoNARIQImYGhMUfy/+blECRjfey/tt4+v4qZ2pQXbXNQ1+7+yE+wrK5PTd4Sz5ghnXZDTZzjh2lAxXGEut7zbef6vXAQnCRWlUDAwdVL3EdzNQ1BaKgg04IsE9CE7twgNhYYSKnB6MySJ+KQOn62ROtxB6o1rDi35HA4BMU+s37cBDb2r7y3iCcZ4D7RnpK5RUo5N+RzL8i5flehPU/XbJt/Rq46KBXfYHdX21adDND01RhhPSVtsh37UyBhD6XrX8e988lxDe65H2rSY/C+ebP5tjaetMTcVE5QIeLU9oKSxyaDfB/l+b8a8oY3JA8mpK+73/gx7QujdFv2nzIXEXcLzRZwn25WT5/vY9Qi7TL8vB/Cqr3kVal71SBvK0C/BP5/oYt/4vc9oy3lxPIP2wMCLAcMzsOzFgNEW9OIVtCMDLyKGJ7LsRcRoy3lx+gbasYEXMcMTW/YiZrTlvNjn7xZDAy+GDM/QshdDRltwjeTzIjHwImF4EsteJIy2oBc/QHtk4MWI4RlZ9mLEaAt68R20UwMvUoYntexFymgL7p35+8XYwIsxwzO27MWY0Rb0Yg/aEwMvJgzPxLIXE0ZbcI3k2lMDL6YMz9SyF/R31CLMQweZUweZ4wowB1oso33M98+ZgRczhmdm2QvUK8qcVIA50GIZ7eMLaM8NvJgzPHPLXqBeUebIQebYQeaRg8yJg8ypg8xVmM+BFston/I9dGHgxYLhWVj2AvWKMkcOMs8cZI4rwBxosYz2Kf/b3NLAiyXDs7TsBeoVZR47yDyoAHOgxTLapyNorwy8WDE8K8teoF5R5omDzKmDzDMHmWMHmUcOMicOMt/XoB3mqALM9EzT71J59q+hxoOeeRqjpzGGJKbnYNbijFlGx2dNtDbyWjtuvuD3Tana+zP0u5XPKX+Xf1J94Rm+LZPTs4qlz3M9kX59ooP1DRL/Im2xHfqB6xbZYd49qvj5k+dW2nM90uaRyf/iyea/1Xi2GjOMyU/CsRHn2J9N5vXAu67lr4SnhH3wQM/kYjHZd0raY3Yl5ZnRM3x/PNk1vdG8CjSveqQN3aM3JfhnMr/uzHfmj5jp+0RA6vD+mtTVtFzo/zJgezgz/BdsuDj5FjUAAA==","debug_symbols":"ndpBattQGIXRvWgciu8v6UkvWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/Xl7ftse7y/Ol+37ZXgcKw/D7vhyf2qfD8Pr/rAbHqu3z28P99Eio1VGHUbjRkaRUclolNEko1lGUsQoRYxSxChFTFLEJEVMUsQkRUxSxCRFTFLEJEVMUsQkRcxSxCxFzFLELEXMUsQsRcxSxCxFzFLELEU0KaJJEU2KaFJEkyKaFNGkiCZFNCmiSRGLFLFIEYsUsUgRixSxSBGLFLFIEYsUsUgRqxSxShGrFLFKEasUsUoRqxSxShGrFLFKEV2K6FJElyK6FNGliC5FdCmiSxFdiuhSRDYbWoVWRauRVhOtZlo1Wi20WmlFbYTaCLURaiPURqiNUBuhNkJthNoItVHURlEbRW0UtVHURlEbxJkhzwyBZkg0Q6QZMs0QaoZUM8SaIdcMwWZINkO0GbLNEG6GdDPEmyHfDAFnSDhDxBkyzhByhpQzxJwh5wxBZ0g6Q9QZss4Qdoa0M8SdIe8MgWdIPEPkGTLPEHqG1DPEniH3DMFnSD5D9BmyzxB+hvQzxJ8h/wwBaEhAQwQaMtAQgoYUNMSgIQcNQWhIQkMUGrLQEIaGNDTEoSEPDYFoSERDJBoy0RCKhlQ0xKIhFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLbvmafc87aInuWiRixa5aJGLFrlo/beL3k4/t+/77dNhd7/Ze//4cXz+d9H3drz8evv75fbvbw=="},{"name":"rotate_nullifier_public_key","is_unconstrained":true,"custom_attributes":["aztec(public)"],"abi":{"parameters":[{"name":"inputs","type":{"kind":"struct","path":"aztec::context::inputs::public_context_inputs::PublicContextInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"historical_header","type":{"kind":"struct","path":"authwit::aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"gas_fees","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees","fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}]}}]}}]}},{"name":"public_global_variables","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"gas_fees","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees","fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}]}}]}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"gas_left","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas","fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"transaction_fee","type":{"kind":"field"}}]},"visibility":"private"},{"name":"address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]},"visibility":"private"},{"name":"new_nullifier_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"}],"param_witnesses":{"address":[{"start":40,"end":41}],"inputs":[{"start":0,"end":40}],"new_nullifier_public_key":[{"start":41,"end":43}],"nonce":[{"start":43,"end":44}]},"return_type":{"abi_type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_non_existent_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"contract_storage_update_requests","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest","fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"new_value","type":{"kind":"field"}}]}}},{"name":"contract_storage_reads","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_read::StorageRead","fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"current_value","type":{"kind":"field"}}]}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"new_note_hashes","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}]}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message","fields":[{"name":"recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"content","type":{"kind":"field"}}]}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"authwit::aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"gas_fees","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees","fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"gas_fees","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees","fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}]}}]}},{"name":"prover_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas","fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"end_gas_left","type":{"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas","fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"transaction_fee","type":{"kind":"field"}}]},"visibility":"public"},"return_witnesses":[44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271],"error_types":{}},"bytecode":"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","debug_symbols":"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KDqvRyQwGIui83pEAoOxKDqvRyQwGIui83pEAoOxKDqvRyQwGPuP6bxmG89IVP7RSBpMJAITicJEYjCROEwkARNJh4kkgbHPS2b6koxy6nlJy18i+Us0f4nlL/H8JZG/pOcvyT/9yD/9nn/6Pf/0e/7p9/zT7/mn3/NPv+effs8//Z5/+j3/9Ef+6Y/80x/5pz/yT3/kn/7IP/2Rf/oj//RH/umP/NOf+ac/809/5p/+zD/9mX/6M//0Z/7pz/zTn/mnP9NPv21b/pKWv0Tyl2j+Estf4vlLIn9Jz18y8pfkn37LP/2Wf/ot//Rb/um3/NNv+aff8k+/5Z9+yz/9ln/6kn/6kn/6kn/6kn/6kn/6kn/6kn/6kn/6kn/6kn/6mn/6mn/6mn/6mn/6mn/6mn/6mn/6mn/6mn/6mn/6ln/6ln/6ln/6ln/6ln/6ln/6ln/6ln/6ln/6ln/6nn/6nn/6nn/6nn/6nn/6nn/6nn/6nn/6ea6v5bm+luf6Wp7ra3mur+W5vpbn+lqe62t5rq/lub6W5/panutrea6v5bm+luf6Wp7ra3mur+W5vpbn+lqe62t5rq/lub6W5/panutrea6v5bm+luf6Wp7ra3mur+W5vpbn+lqe62t5rq/lub6W5/panutrea6v5bm+luf6Wp7ra3mur+W5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57m+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6+t5rq/nub6e5/p6nuvrea6v57m+nuf6ep7r63mur+e5vp7n+nqe6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zprr0y3N9T0uaflLJH+J5i+x/CWevyTyl/T8JSN/Sf7pt/zTb/mn3/JPv+Wffss//ZZ/+i3/9Fv+6bf802/5py/5py/5py/5py/5py/5py/5py/5py/5py/5py/5p6/5p6/5p6/5p6/5p6/5p6/5p6/5p6/5p6/5p6/5p2/5p2/5p2/5p2/5p2/5p2/5p2/5p2/5p2/5p2/5p+/5p+/5p+/5p+/5p+/5p+/5p+/5p+/5p+/5p+/5px/5px/5px/5px/5px/5px/5px/5px/5px/5px/5p9/zT7/nn37PP/2ef/o9//R7/un3/NPv+aff80+/55/+yD/9kX/6I//0R/7pj/zTH/mnP/JPf+Sf/sg//ZF/+jP/9Gf+6c/805/5pz/zT3/mn/7MP/2Zf/oz//TzXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lxfy3N9Lc/1tTzX1/JcX8tzfS3P9bU819fyXF/Lc30tz/W1PNfX8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf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VBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMCqJmVBA1o4KoGRVEzaggakYFUTMqiJpRQdSMKqJmVBE1o4qoGVVEzahugIiuiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYVUTOqiJpRRdSMKqJmVBE1o4qoGVVEzagiakYNUTNqiJpRQ9SMGqJm1DZARDdEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYNUTNqiJpRQ9SMGqJm1BA1o4aoGTVEzaghakYN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"}],"outputs":{"structs":{"functions":[{"kind":"struct","path":"KeyRegistry::rotate_nullifier_public_key_abi","fields":[{"name":"parameters","type":{"kind":"struct","path":"KeyRegistry::rotate_nullifier_public_key_parameters","fields":[{"name":"address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"new_nullifier_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"nonce","type":{"kind":"field"}}]}}]},{"kind":"struct","path":"KeyRegistry::register_abi","fields":[{"name":"parameters","type":{"kind":"struct","path":"KeyRegistry::register_parameters","fields":[{"name":"address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"partial_address","type":{"kind":"struct","path":"authwit::aztec::protocol_types::address::partial_address::PartialAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"nullifier_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"incoming_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"outgoing_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"tagging_public_key","type":{"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}}]}}]}]},"globals":{"storage":[{"kind":"struct","fields":[{"name":"nullifier_public_key_hash_registry","value":{"kind":"struct","fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"1"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}]}}]}]}},"file_map":{"3":{"source":"use crate::cmp::Eq;\n\nstruct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<Len>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<Len>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n\nimpl<T, MaxLen> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nmod bounded_vec_tests {\n // TODO: Allow imports from \"super\"\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n}\n","path":"std/collections/bounded_vec.nr"},"28":{"source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\nglobal RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n\n pub fn hash<N>(input: [Field; N], message_size: u64) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<N>(input: [Field; N], in_len: u64, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n","path":"std/hash/poseidon2.nr"},"33":{"source":"use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<N, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n","path":"std/option.nr"},"53":{"source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER}, hash::pedersen_hash\n};\nuse dep::aztec::{\n prelude::Deserialize,\n context::{\n PrivateContext, PublicContext, Context, gas::GasOpts,\n interface::{ContextInterface, PublicContextInterface}\n},\n hash::hash_args_array\n};\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n// docs:start:assert_current_call_valid_authwit\n// Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let function_selector = FunctionSelector::from_signature(\"spend_private_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n let result: Field = context.call_private_function(on_behalf_of, function_selector, [inner_hash]).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit\n\n// docs:start:assert_current_call_valid_authwit_public\n// Assert that `on_behalf_of` have authorized the current call in a public context\npub fn assert_current_call_valid_authwit_public<TPublicContext>(\n context: &mut TPublicContext,\n on_behalf_of: AztecAddress\n) where TPublicContext: ContextInterface + PublicContextInterface {\n let function_selector = FunctionSelector::from_signature(\"spend_public_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n let result: Field = PublicContextInterface::call_public_function(\n context,\n on_behalf_of,\n function_selector,\n [inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n// docs:start:compute_call_authwit_hash\n// Compute the message hash to be used by an authentication witness \npub fn compute_call_authwit_hash<N>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_outer_authwit_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_call_authwit_hash\n\npub fn compute_inner_authwit_hash<N>(args: [Field; N]) -> Field {\n pedersen_hash(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\npub fn compute_outer_authwit_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field\n) -> Field {\n pedersen_hash(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n","path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr"},"58":{"source":"use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::protocol_types::{hash::pedersen_hash, traits::ToField};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T> Storage<T> for Map<K, T> {}\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = derive_storage_slot_in_map(self.storage_slot, key);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr"},"64":{"source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\n\n// This data structure is used by SharedMutable to represent a value that changes from `pre` to `post` at some block \n// called the `block_of_change`. The value can only be made to change by scheduling a change event at some future block\n// of change after some minimum delay measured in blocks has elapsed. This means that at any given block number we know \n// both the current value and the smallest block number at which the value might change - this is called the \n// 'block horizon'.\nstruct ScheduledValueChange<T> {\n pre: T,\n post: T,\n block_of_change: u32,\n}\n\nimpl<T> ScheduledValueChange<T> {\n pub fn new(pre: T, post: T, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the value stored in the data structure at a given block. This function can be called both in public \n /// (where `block_number` is simply the current block number, i.e. the number of the block in which the current \n /// transaction will be included) and in private (where `block_number` is the historical block number that is used \n /// to construct the proof).\n /// Reading in private is only safe if the transaction's `max_block_number` property is set to a value lower or \n /// equal to the block horizon (see `get_block_horizon()`).\n pub fn get_current_at(self, block_number: u32) -> T {\n // The post value becomes the current one at the block of change. This means different things in each realm:\n // - in public, any transaction that is included in the block of change will use the post value\n // - in private, any transaction that includes the block of change as part of the historical state will use the\n // post value (barring any follow-up changes)\n\n if block_number < self.block_of_change {\n self.pre\n } else {\n self.post\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change value and the block at which it will become the current \n /// value. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (T, u32) {\n (self.post, self.block_of_change)\n }\n\n /// Returns the largest block number at which the value returned by `get_current_at` is known to remain the current\n /// value. This value is only meaningful in private when constructing a proof at some `historical_block_number`, \n /// since due to its asynchronous nature private execution cannot know about any later scheduled changes.\n /// The caller of this function must know how quickly the value can change due to a scheduled change in the form of \n /// `minimum_delay`. If the delay itself is immutable, then this is just its duration.\n /// The value returned by `get_current_at` in private when called with a historical block number is only safe to use\n /// if the transaction's `max_block_number` property is set to a value lower or equal to the block horizon computed\n /// using the same historical block number.\n pub fn get_block_horizon(self, historical_block_number: u32, minimum_delay: u32) -> u32 {\n // The block horizon is the very last block in which the current value is known. Any block past the horizon \n // (i.e. with a block number larger than the block horizon) may have a different current value. Reading the\n // current value in private typically requires constraining the maximum valid block number to be equal to the\n // block horizon.\n\n if historical_block_number >= self.block_of_change {\n // Once the block of change has been mined, the current value (post) will not change unless a new value\n // change is scheduled. This did not happen at the historical block number (or else it would not be\n // greater or equal to the block of change), and therefore could only happen after the historical block\n // number. The earliest would be the immediate next block, and so the smallest possible next block of change\n // equals `historical_block_number + 1 + minimum_delay`. Our block horizon is simply the previous block to \n // that one.\n //\n // block of historical \n // change block block horizon\n // =======|=============N===================H===========>\n // ^ ^\n // ---------------------\n // minimum delay\n\n historical_block_number + minimum_delay\n } else {\n // If the block of change has not yet been mined however, then there are two possible scenarios.\n // a) It could be so far into the future that the block horizon is actually determined by the minimum \n // delay, because a new change could be scheduled and take place _before_ the currently scheduled one. \n // This is similar to the scenario where the block of change is in the past: the time horizon is the \n // block prior to the earliest one in which a new block of change might land.\n // \n // historical \n // block block horizon block of change\n // =====N=================================H=================|=========>\n // ^ ^\n // | | \n // -----------------------------------\n // minimum delay\n //\n // b) It could be fewer than `minimum_delay` blocks away from the historical block number, in which case \n // the block of change would become the limiting factor for the time horizon, which would equal the \n // block right before the block of change (since by definition the value changes at the block of \n // change).\n //\n // historical block horizon\n // block block of change if not scheduled\n // =======N=============|===================H=================>\n // ^ ^ ^\n // | actual horizon | \n // -----------------------------------\n // minimum delay\n // \n // Note that the current implementation does not allow the caller to set the block of change to an arbitrary\n // value, and therefore scenario a) is not currently possible. However implementing #5501 would allow for \n // this to happen.\n\n // Because historical_block_number < self.block_of_change, then block_of_change > 0 and we can safely\n // subtract 1.\n min(\n self.block_of_change - 1,\n historical_block_number + minimum_delay\n )\n }\n }\n\n /// Mutates a scheduled value change by scheduling a change at the current block number. This function is only\n /// meaningful when called in public with the current block number.\n pub fn schedule_change(\n &mut self,\n new_value: T,\n current_block_number: u32,\n minimum_delay: u32,\n block_of_change: u32\n ) {\n assert(block_of_change >= current_block_number + minimum_delay);\n\n self.pre = self.get_current_at(current_block_number);\n self.post = new_value;\n self.block_of_change = block_of_change;\n }\n}\n\nimpl<T> Serialize<3> for ScheduledValueChange<T> {\n fn serialize(self) -> [Field; 3] where T: ToField {\n [self.pre.to_field(), self.post.to_field(), self.block_of_change.to_field()]\n }\n}\n\nimpl<T> Deserialize<3> for ScheduledValueChange<T> {\n fn deserialize(input: [Field; 3]) -> Self where T: FromField {\n Self { \n pre: FromField::from_field(input[0]), \n post: FromField::from_field(input[1]), \n block_of_change: FromField::from_field(input[2]),\n }\n }\n}\n\nfn min(lhs: u32, rhs: u32) -> u32 {\n if lhs < rhs { lhs } else { rhs }\n}\n\n#[test]\nfn test_min() {\n assert(min(3, 5) == 3);\n assert(min(5, 3) == 3);\n assert(min(3, 3) == 3);\n}\n\nmod test {\n use crate::state_vars::shared_mutable::scheduled_value_change::ScheduledValueChange;\n\n global TEST_DELAY: u32 = 200;\n\n #[test]\n fn test_get_current_at() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value.get_current_at(0), pre);\n assert_eq(value.get_current_at(block_of_change - 1), pre);\n assert_eq(value.get_current_at(block_of_change), post);\n assert_eq(value.get_current_at(block_of_change + 1), post);\n }\n\n #[test]\n fn test_get_scheduled() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value.get_scheduled(), (post, block_of_change));\n }\n\n fn assert_block_horizon_invariants(\n value: &mut ScheduledValueChange<Field>,\n historical_block_number: u32,\n block_horizon: u32\n ) {\n // The current value should not change at the block horizon (but it might later).\n let current_at_historical = value.get_current_at(historical_block_number);\n assert_eq(current_at_historical, value.get_current_at(block_horizon));\n\n // The earliest a new change could be scheduled in would be the immediate next block to the historical one. This\n // should result in the new block of change landing *after* the block horizon, and the current value still not\n // changing at the previously determined block_horizon.\n\n let new = value.pre + value.post; // Make sure it's different to both pre and post\n value.schedule_change(\n new,\n historical_block_number + 1,\n TEST_DELAY,\n historical_block_number + 1 + TEST_DELAY\n );\n\n assert(value.block_of_change > block_horizon);\n assert_eq(current_at_historical, value.get_current_at(block_horizon));\n }\n\n #[test]\n fn test_get_block_horizon_change_in_past() {\n let historical_block_number = 100;\n let block_of_change = 50;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_immediate_past() {\n let historical_block_number = 100;\n let block_of_change = 100;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_near_future() {\n let historical_block_number = 100;\n let block_of_change = 120;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n // Note that this is the only scenario in which the block of change informs the block horizon.\n // This may result in privacy leaks when interacting with applications that have a scheduled change\n // in the near future.\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, block_of_change - 1);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_far_future() {\n let historical_block_number = 100;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_schedule_change_before_prior_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change - 50;\n value.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost.\n assert_eq(value.pre, pre);\n assert_eq(value.post, new);\n assert_eq(value.block_of_change, current_block_number + TEST_DELAY);\n }\n\n #[test]\n fn test_schedule_change_after_prior_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change + 50;\n value.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n assert_eq(value.pre, post);\n assert_eq(value.post, new);\n assert_eq(value.block_of_change, current_block_number + TEST_DELAY);\n }\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_value_change.nr"},"65":{"source":"use dep::protocol_types::{hash::pedersen_hash, traits::FromField};\n\nuse crate::context::{PrivateContext, PublicContext, Context};\nuse crate::history::public_storage::public_storage_historical_read;\nuse crate::public_storage;\nuse crate::state_vars::{storage::Storage, shared_mutable::scheduled_value_change::ScheduledValueChange};\n\nstruct SharedMutable<T, DELAY> {\n context: Context,\n storage_slot: Field,\n // The _dummy variable forces DELAY to be interpreted as a numberic value. This is a workaround to\n // https://github.com/noir-lang/noir/issues/4633. Remove once resolved.\n _dummy: [Field; DELAY],\n}\n\nimpl<T, DELAY> Storage<T> for SharedMutable<T, DELAY> {}\n\n// SharedMutable<T> stores a value of type T that is:\n// - publicly known (i.e. unencrypted)\n// - mutable in public\n// - readable in private with no contention (i.e. multiple parties can all read the same value without blocking one\n// another nor needing to coordinate)\n// This is famously a hard problem to solve. SharedMutable makes it work by introducing a delay to public mutation:\n// the value is not changed immediately but rather a value change is scheduled to happen in the future after some delay\n// measured in blocks. Reads in private are only valid as long as they are included in a block not too far into the \n// future, so that they can guarantee the value will not have possibly changed by then (because of the delay).\nimpl<T, DELAY> SharedMutable<T, DELAY> {\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot, _dummy: [0; DELAY] }\n }\n\n pub fn schedule_value_change(self, new_value: T) {\n let context = self.context.public.unwrap();\n let mut scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n\n let block_number = context.block_number() as u32;\n // TODO: make this configurable\n // https://github.com/AztecProtocol/aztec-packages/issues/5501\n let block_of_change = block_number + DELAY;\n\n scheduled_value_change.schedule_change(new_value, block_number, DELAY, block_of_change);\n\n public_storage::write(self.get_derived_storage_slot(), scheduled_value_change);\n }\n\n pub fn get_current_value_in_public(self) -> T {\n let scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n\n let block_number = self.context.public.unwrap().block_number() as u32;\n scheduled_value_change.get_current_at(block_number)\n }\n\n pub fn get_scheduled_value_in_public(self) -> (T, u32) {\n let scheduled_value_change: ScheduledValueChange<T> = public_storage::read(self.get_derived_storage_slot());\n scheduled_value_change.get_scheduled()\n }\n\n pub fn get_current_value_in_private(self) -> T where T: FromField {\n let mut context = self.context.private.unwrap();\n\n let (scheduled_value_change, historical_block_number) = self.historical_read_from_public_storage(*context);\n let block_horizon = scheduled_value_change.get_block_horizon(historical_block_number, DELAY);\n\n // We prevent this transaction from being included in any block after the block horizon, ensuring that the \n // historical public value matches the current one, since it can only change after the horizon.\n context.set_tx_max_block_number(block_horizon);\n scheduled_value_change.get_current_at(historical_block_number)\n }\n\n fn historical_read_from_public_storage(\n self,\n context: PrivateContext\n ) -> (ScheduledValueChange<T>, u32) where T: FromField {\n let derived_slot = self.get_derived_storage_slot();\n\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let mut raw_fields = [0; 3];\n for i in 0..3 {\n raw_fields[i] = public_storage_historical_read(\n context,\n derived_slot + i as Field,\n context.this_address()\n );\n }\n\n let scheduled_value: ScheduledValueChange<T> = ScheduledValueChange::deserialize(raw_fields);\n let historical_block_number = context.historical_header.global_variables.block_number as u32;\n\n (scheduled_value, historical_block_number)\n }\n\n fn get_derived_storage_slot(self) -> Field {\n // Since we're actually storing three values (a ScheduledValueChange struct), we hash the storage slot to get a\n // unique location in which we can safely store as much data as we need. This could be removed if we informed\n // the slot allocator of how much space we need so that proper padding could be added.\n // See https://github.com/AztecProtocol/aztec-packages/issues/5492\n pedersen_hash([self.storage_slot, 0], 0)\n }\n}\n\nmod test {\n use dep::std::{merkle::compute_merkle_root, test::OracleMock};\n\n use crate::{\n context::{PublicContext, PrivateContext, Context},\n state_vars::shared_mutable::shared_mutable::SharedMutable,\n oracle::get_public_data_witness::PublicDataWitness\n };\n\n use dep::protocol_types::{\n constants::{GENERATOR_INDEX__PUBLIC_LEAF_INDEX, PUBLIC_DATA_TREE_HEIGHT}, hash::pedersen_hash,\n address::AztecAddress, public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage\n };\n\n fn setup(private: bool) -> (SharedMutable<Field, TEST_DELAY>, Field) {\n let block_number = 40;\n let context = create_context(block_number, private);\n\n let storage_slot = 57;\n let state_var: SharedMutable<Field, TEST_DELAY> = SharedMutable::new(context, storage_slot);\n\n (state_var, block_number)\n }\n\n fn create_context(block_number: Field, private: bool) -> Context {\n if private {\n let mut private_context = PrivateContext::empty();\n private_context.historical_header.global_variables.block_number = block_number;\n Context::private(&mut private_context)\n } else {\n let mut public_context = PublicContext::empty();\n public_context.inputs.public_global_variables.block_number = block_number;\n Context::public(&mut public_context)\n }\n }\n\n global TEST_DELAY = 20;\n\n global pre = 13;\n global post = 42;\n\n #[test]\n fn test_get_current_value_in_public_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future, current value is pre\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n assert_eq(state_var.get_current_value_in_public(), pre);\n }\n\n #[test]\n fn test_get_current_value_in_public_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block, current value is post\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n assert_eq(state_var.get_current_value_in_public(), post);\n }\n\n #[test]\n fn test_get_current_value_in_public_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past, current value is post\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n assert_eq(state_var.get_current_value_in_public(), post);\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, (block_number + 1) as u32));\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, block_number as u32));\n }\n\n #[test]\n fn test_get_scheduled_value_in_public_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past, scheduled is post (always is)\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n assert_eq(state_var.get_scheduled_value_in_public(), (post, (block_number - 1) as u32));\n }\n\n #[test]\n fn test_schedule_value_change_before_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the future\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number + 1]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The new scheduled change replaces the old one\n assert_eq(write_mock.get_last_params(), (slot, [pre, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_schedule_value_change_at_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the current block\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The previous 'post' value is the current one and becomes the 'pre' value\n assert_eq(write_mock.get_last_params(), (slot, [post, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_schedule_value_change_after_change() {\n let (state_var, block_number) = setup(false);\n\n let slot = state_var.get_derived_storage_slot();\n\n // Change in the past\n OracleMock::mock(\"storageRead\").with_params((slot, 3)).returns([pre, post, block_number - 1]);\n\n let write_mock = OracleMock::mock(\"storageWrite\").returns([0; 3]); // The oracle return value is actually unused\n\n let new_value = 42;\n state_var.schedule_value_change(new_value);\n\n // The previous 'post' value is the current one and becomes the 'pre' value\n assert_eq(write_mock.get_last_params(), (slot, [post, new_value, block_number + TEST_DELAY]));\n }\n\n #[test]\n fn test_get_current_value_in_private_before_change() {\n // Here we'd want to test that the private getter returns the correct value and sets max_block_number in the\n // context to the expected block horizon, in all the possible scenarios (long before change, before near change,\n // after change).\n // However, this requires mocking the getPublicDataTreeWitness oracle so that we can convince the circuit that\n // it got a valid historical proof. Because we can set the tree root to whatever we want in the context, this is\n // trivial for a single historical value (we add a leaf and compute the root with any random path), but is quite\n // hard if we're reading more than one value for the same root (as SharedMutable does): we essentially need to\n // create an actual indexed tree and compute the correct path for each of the inserted values.\n // TODO: implement an actual tree and use it here https://github.com/AztecProtocol/aztec-packages/issues/5494\n }\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable.nr"},"69":{"source":"use dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::oracle::storage::{storage_read, storage_write};\n\npub fn read<T, N>(storage_slot: Field) -> T where T: Deserialize<N> {\n T::deserialize(storage_read(storage_slot))\n}\n\npub fn write<T, N>(storage_slot: Field, value: T) where T: Serialize<N> {\n storage_write(storage_slot, value.serialize());\n}\n\n// Ideally we'd do the following, but we cannot because of https://github.com/noir-lang/noir/issues/4633\n// pub fn read_historical<T, N>(\n// storage_slot: Field,\n// context: PrivateContext\n// ) -> T where T: Deserialize<N> {\n// let mut fields = [0; N];\n// for i in 0..N {\n// fields[i] = public_storage_historical_read(\n// context,\n// storage_slot + i as Field,\n// context.this_address()\n// );\n// }\n// T::deserialize(fields)\n// }\n\nmod tests {\n use dep::std::test::OracleMock;\n use dep::protocol_types::traits::{Deserialize, Serialize};\n use crate::public_storage;\n\n struct TestStruct {\n a: Field,\n b: Field,\n }\n\n impl Deserialize<2> for TestStruct {\n fn deserialize(fields: [Field; 2]) -> TestStruct {\n TestStruct { a: fields[0], b: fields[1] }\n }\n }\n\n impl Serialize<2> for TestStruct {\n fn serialize(self) -> [Field; 2] {\n [self.a, self.b]\n }\n }\n\n #[test]\n fn test_read() {\n let slot = 7;\n let written = TestStruct { a: 13, b: 42 };\n\n OracleMock::mock(\"storageRead\").with_params((slot, 2)).returns(written.serialize());\n\n let read: TestStruct = public_storage::read(slot);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n\n #[test]\n fn test_write() {\n let slot = 7;\n let to_write = TestStruct { a: 13, b: 42 };\n\n let mock = OracleMock::mock(\"storageWrite\").returns([0; 2]); // The return value is unused\n\n public_storage::write(slot, to_write);\n assert_eq(mock.get_last_params(), (slot, to_write.serialize()));\n }\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/public_storage.nr"},"77":{"source":"use crate::{\n context::{\n inputs::PublicContextInputs, interface::ContextInterface, interface::PublicContextInterface,\n gas::GasOpts\n},\n messaging::process_l1_to_l2_message,\n oracle::{arguments, public_call::call_public_function_internal, returns},\n hash::{hash_args, ArgsHasher}\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables, function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, side_effect::SideEffect\n},\n hash::silo_nullifier, address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest}, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{Deserialize, Empty}\n};\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_hash : Field,\n\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_non_existent_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL>,\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hashes: BoundedVec<SideEffect, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_preimages_length: Field,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n PublicContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter,\n args_hash,\n return_hash: 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_preimages_length: 0,\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero() // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn call_public_function_no_args<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> FunctionReturns<RETURNS_COUNT> {\n let side_effect_counter = self.side_effect_counter;\n // TODO get next value from output of `call_public_function_internal`\n self.side_effect_counter += 1;\n\n let raw_returns = call_public_function_internal(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n FunctionReturns::new(raw_returns)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n returns::pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n // Keep private or ask the AVM team if you want to change it.\n fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n // Keep private or ask the AVM team if you want to change it.\n fn push_nullifier_non_existent_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_non_existent_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_log_preimages_length = 0;\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_non_existent_read_requests: self.nullifier_non_existent_read_requests.storage,\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n returns_hash: self.return_hash,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n unencrypted_log_preimages_length,\n historical_header: self.inputs.historical_header,\n global_variables: self.inputs.public_global_variables,\n prover_address: self.prover_address,\n revert_code: 0,\n start_gas_left: self.inputs.gas_left,\n end_gas_left: self.inputs.gas_left, // AVM should decrease this value\n transaction_fee: self.inputs.transaction_fee\n };\n pub_circuit_pub_inputs\n }\n}\n\nimpl ContextInterface for PublicContext {\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.public_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.public_global_variables.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.side_effect_counter });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PublicContextInterface for PublicContext {\n fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> u64 {\n self.inputs.public_global_variables.timestamp\n }\n\n fn coinbase(self) -> EthAddress {\n self.inputs.public_global_variables.coinbase\n }\n\n fn fee_recipient(self) -> AztecAddress {\n self.inputs.public_global_variables.fee_recipient\n }\n\n fn fee_per_da_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_da_gas\n }\n\n fn fee_per_l2_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_l2_gas\n }\n\n fn nullifier_exists(self, unsiloed_nullifier: Field, address: AztecAddress) -> bool {\n // Current public can only check for settled nullifiers, so we always silo.\n let siloed_nullifier = silo_nullifier(address, unsiloed_nullifier);\n nullifier_exists_oracle(siloed_nullifier) == 1\n }\n\n fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n let message = L2ToL1Message { recipient, content };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // We can consume message with a secret in public context because the message cannot be modified and therefore\n // there is no front-running risk (e.g. somebody could front run you to claim your tokens to your address).\n // Leaf index is not used in public context, but it is used in the AVMContext which will replace it.\n fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress, _leaf_index: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n this,\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n\n fn emit_unencrypted_log<T>(&mut self, log: T) {\n let event_selector = 5;\n let log_hash = emit_unencrypted_log_oracle(self.this_address(), event_selector, log);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // Once we hash inside circuits, this replaces push_unencrypted_log\n // For now we need an oracle to get the hash\n let side_effect = SideEffect { value: log_hash, counter: self.side_effect_counter };\n self.unencrypted_logs_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n fn static_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n fn delegate_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field]\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n}\n\nimpl Empty for PublicContext {\n fn empty() -> Self {\n PublicContext {\n inputs: PublicContextInputs::empty(),\n side_effect_counter: 0 as u32,\n args_hash : 0,\n return_hash : 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n }\n }\n}\n\n#[oracle(checkNullifierExists)]\nfn nullifier_exists_oracle(nullifier: Field) -> Field {}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T\n) -> Field {}\n\nstruct FunctionReturns<N> {\n values: [Field; N]\n}\n\nimpl<N> FunctionReturns<N> {\n pub fn new(values: [Field; N]) -> FunctionReturns<N> {\n FunctionReturns { values }\n }\n\n pub fn assert_empty(returns: FunctionReturns<0>) {\n assert(returns.values.len() == 0);\n }\n\n pub fn raw(self) -> [Field; N] {\n self.values\n }\n\n pub fn deserialize_into<T>(self) -> T where T: Deserialize<N> {\n Deserialize::deserialize(self.raw())\n }\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/public_context.nr"},"96":{"source":"#[oracle(packArgumentsArray)]\nfn pack_arguments_array_oracle<N>(_args: [Field; N]) -> Field {}\n\n#[oracle(packArguments)]\nfn pack_arguments_oracle(_args: [Field]) -> Field {}\n\n/// - Pack arguments (array version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments_array<N>(args: [Field; N]) -> Field {\n pack_arguments_array_oracle(args)\n}\n\n/// - Pack arguments (slice version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments(args: [Field]) -> Field {\n pack_arguments_oracle(args)\n}\n\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/arguments.nr"},"108":{"source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress};\n\n#[oracle(callPublicFunction)]\nfn call_public_function_oracle<RETURNS_COUNT>(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; RETURNS_COUNT] {}\n\nunconstrained pub fn call_public_function_internal<RETURNS_COUNT>(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; RETURNS_COUNT] {\n call_public_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr"},"110":{"source":"use dep::protocol_types::traits::{Deserialize, Serialize};\n\n#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<N>(storage_slot: Field) -> [Field; N] {\n storage_read_oracle_wrapper(storage_slot)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr"},"114":{"source":"mod globals;\nmod inputs;\n\nmod private_context;\nmod public_context;\nmod avm_context;\nmod interface;\nmod gas;\n\nuse interface::{\n ContextInterface, PrivateCallInterface, PublicCallInterface, PrivateVoidCallInterface,\n PublicVoidCallInterface, AvmCallInterface, AvmVoidCallInterface\n};\nuse private_context::PrivateContext;\nuse private_context::PackedReturns;\nuse public_context::PublicContext;\nuse public_context::FunctionReturns;\nuse avm_context::AvmContext;\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n avm: Option<&mut AvmContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context { private: Option::some(context), public: Option::none(), avm: Option::none() }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context { public: Option::some(context), private: Option::none(), avm: Option::none() }\n }\n\n pub fn avm(context: &mut AvmContext) -> Context {\n Context { avm: Option::some(context), public: Option::none(), private: Option::none() }\n }\n\n pub fn none() -> Context {\n Context { public: Option::none(), private: Option::none(), avm: Option::none() }\n }\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/context.nr"},"115":{"source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, poseidon2_hash, silo_nullifier, sha256_to_field}\n};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr"},"133":{"source":"pub fn field_from_bytes<N>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\n assert_eq(field2, field);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr"},"149":{"source":"use crate::{\n address::{\n eth_address::EthAddress, salted_initialization_hash::SaltedInitializationHash,\n aztec_address::AztecAddress\n},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, contract_class_id::ContractClassId,\n hash::pedersen_hash, traits::{ToField, FromField, Serialize, Deserialize}\n};\n\nglobal PARTIAL_ADDRESS_LENGTH = 1;\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[0] }\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n deployer: AztecAddress\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, deployer)\n )\n }\n\n pub fn compute_from_salted_initialization_hash(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash\n ) -> Self {\n PartialAddress::from_field(\n pedersen_hash(\n [\n contract_class_id.to_field(),\n salted_initialization_hash.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.to_field() == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr"},"150":{"source":"use crate::{\n constants::{GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__PUBLIC_KEYS_HASH}, hash::pedersen_hash, grumpkin_point::GrumpkinPoint,\n traits::{ToField, Serialize, Deserialize},\n hash::poseidon2_hash,\n};\n\n// Public keys hash. Used in the computation of an address.\nstruct PublicKeysHash {\n inner: Field\n}\n\nimpl ToField for PublicKeysHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<1> for PublicKeysHash {\n fn serialize(self: Self) -> [Field; 1] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<1> for PublicKeysHash {\n fn deserialize(fields: [Field; 1]) -> Self {\n PublicKeysHash::from_field(fields[0])\n }\n}\n\nimpl Eq for PublicKeysHash {\n fn eq(self, other: Self) -> bool {\n self.inner == other.inner\n }\n}\n\nimpl PublicKeysHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n // TODO(#5830): When we do this refactor, rename compute_new -> compute\n pub fn compute(public_key: GrumpkinPoint) -> Self {\n PublicKeysHash::from_field(\n pedersen_hash(\n [\n public_key.x,\n public_key.y\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n // TODO(#5830): When we do this refactor, rename compute_new -> compute\n pub fn compute_new(\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint\n ) -> Self {\n PublicKeysHash::from_field(\n poseidon2_hash([\n nullifier_public_key.x,\n nullifier_public_key.y,\n incoming_public_key.x,\n incoming_public_key.y,\n outgoing_public_key.x,\n outgoing_public_key.y,\n tagging_public_key.x,\n tagging_public_key.y,\n GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n ])\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\n// TODO(#5830): re-enable this test once the compute function is updated\n// #[test]\n// fn compute_public_keys_hash() {\n// let point = GrumpkinPoint { x: 1, y: 2 };\n// let actual = PublicKeysHash::compute(point);\n// let expected_public_keys_hash = 0x22d83a089d7650514c2de24cd30185a414d943eaa19817c67bffe2c3183006a3;\n// assert(actual.to_field() == expected_public_keys_hash);\n// }\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/public_keys_hash.nr"},"151":{"source":"use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash(\n [pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1]\n )\n )\n }\n\n pub fn compute_from_public_keys_and_partial_address(\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint,\n partial_address: PartialAddress,\n ) -> AztecAddress {\n let public_keys_hash = PublicKeysHash::compute_new(\n nullifier_public_key,\n incoming_public_key,\n outgoing_public_key,\n tagging_public_key,\n );\n\n let computed_address = AztecAddress::compute(public_keys_hash, partial_address);\n\n computed_address\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pubkey() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr"},"156":{"source":"use dep::std::cmp::Eq;\nuse crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<N> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<N> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr"},"185":{"source":"use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr"},"205":{"source":"use crate::traits::{Serialize, Deserialize};\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\nglobal U8_SERIALIZED_LEN: Field = 1;\nglobal U32_SERIALIZED_LEN: Field = 1;\nglobal U64_SERIALIZED_LEN: Field = 1;\nglobal U128_SERIALIZED_LEN: Field = 1;\nglobal FIELD_SERIALIZED_LEN: Field = 1;\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U64_SERIALIZED_LEN> for u64 {\n fn serialize(self) -> [Field; U64_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U64_SERIALIZED_LEN> for u64 {\n fn deserialize(fields: [Field; U64_SERIALIZED_LEN]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Serialize<U128_SERIALIZED_LEN> for U128 {\n fn serialize(self) -> [Field; 1] {\n [self.to_integer()]\n }\n\n}\n\nimpl Deserialize<U128_SERIALIZED_LEN> for U128 {\n fn deserialize(fields: [Field; U128_SERIALIZED_LEN]) -> Self {\n U128::from_integer(fields[0])\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr"},"207":{"source":"use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::side_effect::SideEffect;\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH\n};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\npub fn compute_tx_logs_hash<MAX_ENCRYPTED_LOGS_PER_TX>(logs: [SideEffect; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // TODO(Miranda): Below is flat hashing which would reduce constraints (we now only hash once in tail) - convert to this?\n\n // // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n // // Ideally we would define a new global here but for now we assert in case MAX_LOGS changes\n // assert(MAX_ENCRYPTED_LOGS_PER_TX * 32 == 256);\n // let mut hash_input_flattened = [0; 256];\n // for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n // let input_as_bytes = logs[offset].value.to_be_bytes(32);\n // for byte_index in 0..32 {\n // hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n // }\n // }\n // // This differs from accumulate_sha256 as we could increase MAX_LOGS and\n // // ideally we would push to a slice then hash, but in practice compilation was very slow\n // // Hardcode to 256 bytes for now\n // sha256_to_field(hash_input_flattened)\n\n // Assuming logs are pre-sorted\n let mut accumulated_logs_hash = 0;\n for i in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n if !is_empty(logs[i]) {\n accumulated_logs_hash = accumulate_sha256([accumulated_logs_hash, logs[i].value]);\n }\n }\n\n accumulated_logs_hash\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr"},"216":{"source":"use crate::traits::{Serialize, Deserialize};\nuse dep::std::cmp::Eq;\n\nglobal GRUMPKIN_POINT_SERIALIZED_LEN: Field = 2;\n\n// TODO(https://github.com/noir-lang/noir/issues/4931)\nstruct GrumpkinPoint {\n x: Field,\n y: Field,\n}\n\nimpl Serialize<GRUMPKIN_POINT_SERIALIZED_LEN> for GrumpkinPoint {\n fn serialize(self) -> [Field; GRUMPKIN_POINT_SERIALIZED_LEN] {\n [self.x, self.y]\n }\n}\n\nimpl Deserialize<GRUMPKIN_POINT_SERIALIZED_LEN> for GrumpkinPoint {\n fn deserialize(serialized: [Field; GRUMPKIN_POINT_SERIALIZED_LEN]) -> Self {\n Self {\n x: serialized[0],\n y: serialized[1],\n }\n }\n}\n\nimpl Eq for GrumpkinPoint {\n fn eq(self, point: GrumpkinPoint) -> bool {\n (point.x == self.x) & (point.y == self.y)\n }\n}\n\nimpl GrumpkinPoint {\n pub fn new(x: Field, y: Field) -> Self {\n Self { x, y }\n }\n\n pub fn zero() -> Self {\n Self { x: 0, y: 0 }\n }\n\n pub fn is_zero(self) -> bool {\n (self.x == 0) & (self.y == 0)\n }\n\n // TODO(David): Would be quite careful here as (0,0) is not a point\n // on the curve. A boolean flag may be the better approach here,\n // would also cost less constraints. It seems like we don't need to \n // group arithmetic either. \n fn assert_is_zero(self) {\n assert(self.x == 0);\n assert(self.y == 0);\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 64] {\n let mut result = [0 as u8; 64];\n let x_bytes = self.x.to_be_bytes(32);\n let y_bytes = self.y.to_be_bytes(32);\n for i in 0..32 {\n result[i] = x_bytes[i];\n result[i + 32] = y_bytes[i];\n }\n result\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/grumpkin_point.nr"},"296":{"source":"contract KeyRegistry {\n use dep::authwit::auth::assert_current_call_valid_authwit_public;\n\n use dep::aztec::{\n state_vars::{\n SharedMutable,\n Map\n }, \n protocol_types::{\n grumpkin_point::GrumpkinPoint,\n address::{\n AztecAddress,\n PublicKeysHash,\n PartialAddress,\n },\n constants::{\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1,\n GENERATOR_INDEX__PUBLIC_KEYS_HASH\n },\n hash::poseidon2_hash,\n },\n };\n\n global KEY_ROTATION_DELAY = 5;\n\n #[aztec(storage)]\n struct Storage {\n //! This should stay at storage slot 1. If you change this, make sure you change the hardcoded value in keys/assert_public_key_freshness.\n //! We use this hardcoded storage slot with derive_storage_slot_in_map and the SharedMutablePrivateGetter to directly read the value at an address in this contract.\n nullifier_public_key_hash_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n\n // We are not supporting rotating / changing keys other than the nullifier public in the registry at the moment, but will in the future.\n // Uncomment lines below to enable that functionality\n // incoming_public_key_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n // outgoing_public_key_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n // tagging_public_key_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n }\n\n #[aztec(public)]\n fn rotate_nullifier_public_key(\n address: AztecAddress,\n new_nullifier_public_key: GrumpkinPoint,\n nonce: Field,\n ) {\n assert(\n !new_nullifier_public_key.is_zero(),\n \"New nullifier public key must be non-zero\"\n );\n\n // TODO: (#6137)\n if (!address.eq(context.msg_sender())) {\n assert_current_call_valid_authwit_public(&mut context, address);\n } else {\n assert(nonce == 0, \"invalid nonce\");\n }\n\n let nullifier_key_registry = storage.nullifier_public_key_hash_registry.at(address);\n\n nullifier_key_registry.schedule_value_change(poseidon2_hash(new_nullifier_public_key.serialize()));\n }\n\n #[aztec(public)]\n fn register(\n address: AztecAddress,\n partial_address: PartialAddress,\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint,\n ) {\n assert(\n !partial_address.is_zero() &\n !nullifier_public_key.is_zero() &\n !incoming_public_key.is_zero() &\n !outgoing_public_key.is_zero() &\n !tagging_public_key.is_zero(),\n \"All public keys must be non-zero\"\n );\n\n // We could also pass in original_public_keys_hash instead of computing it here, if all we need the original one is for being able to prove ownership of address\n let computed_address = AztecAddress::compute_from_public_keys_and_partial_address(\n nullifier_public_key,\n incoming_public_key,\n outgoing_public_key,\n tagging_public_key,\n partial_address,\n );\n\n assert(computed_address.eq(address), \"Computed address does not match supplied address\");\n\n let nullifier_key_hash_registry = storage.nullifier_public_key_hash_registry.at(address);\n // We are not supporting rotating / changing keys other than the nullifier public in the registry at the moment, but will in the future.\n // Uncomment lines below to enable that functionality\n // let incoming_key_registry = storage.incoming_public_key_registry.at(address);\n // let outgoing_key_registry = storage.outgoing_public_key_registry.at(address);\n // let tagging_key_registry = storage.taggin_public_key_registry.at(address);\n\n nullifier_key_hash_registry.schedule_value_change(poseidon2_hash(nullifier_public_key.serialize()));\n // We are not supporting rotating / changing keys other than the nullifier public in the registry at the moment, but will in the future.\n // Uncomment lines below to enable that functionality // incoming_key_registry.schedule_value_change(new_incoming_public_key);\n // outgoing_key_registry.schedule_value_change(new_outgoing_public_key);\n // tagging_key_registry.schedule_value_change(new_tagging_public_key);\n }\n}\n","path":"/usr/src/noir-projects/noir-contracts/contracts/key_registry_contract/src/main.nr"}}}
|