@aztec/noir-protocol-circuits-types 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +1 -0
  2. package/dest/index.d.ts +69 -0
  3. package/dest/index.d.ts.map +1 -0
  4. package/dest/index.js +268 -0
  5. package/dest/scripts/generate_ts_from_abi.d.ts +2 -0
  6. package/dest/scripts/generate_ts_from_abi.d.ts.map +1 -0
  7. package/dest/scripts/generate_ts_from_abi.js +180 -0
  8. package/dest/target/private_kernel_init.json +1 -0
  9. package/dest/target/private_kernel_init_simulated.json +1 -0
  10. package/dest/target/private_kernel_inner.json +1 -0
  11. package/dest/target/private_kernel_inner_simulated.json +1 -0
  12. package/dest/target/private_kernel_tail.json +1 -0
  13. package/dest/target/private_kernel_tail_simulated.json +1 -0
  14. package/dest/target/public_kernel_app_logic.json +1 -0
  15. package/dest/target/public_kernel_app_logic_simulated.json +1 -0
  16. package/dest/target/public_kernel_setup.json +1 -0
  17. package/dest/target/public_kernel_setup_simulated.json +1 -0
  18. package/dest/target/rollup_base.json +1 -0
  19. package/dest/target/rollup_base_simulated.json +1 -0
  20. package/dest/target/rollup_merge.json +1 -0
  21. package/dest/target/rollup_root.json +1 -0
  22. package/dest/type_conversion.d.ts +574 -0
  23. package/dest/type_conversion.d.ts.map +1 -0
  24. package/dest/type_conversion.js +1115 -0
  25. package/dest/types/private_kernel_init_types.d.ts +232 -0
  26. package/dest/types/private_kernel_init_types.d.ts.map +1 -0
  27. package/dest/types/private_kernel_init_types.js +3 -0
  28. package/dest/types/private_kernel_inner_types.d.ts +233 -0
  29. package/dest/types/private_kernel_inner_types.d.ts.map +1 -0
  30. package/dest/types/private_kernel_inner_types.js +3 -0
  31. package/dest/types/private_kernel_tail_types.d.ts +182 -0
  32. package/dest/types/private_kernel_tail_types.d.ts.map +1 -0
  33. package/dest/types/private_kernel_tail_types.js +3 -0
  34. package/dest/types/public_kernel_app_logic_types.d.ts +212 -0
  35. package/dest/types/public_kernel_app_logic_types.d.ts.map +1 -0
  36. package/dest/types/public_kernel_app_logic_types.js +3 -0
  37. package/dest/types/public_kernel_setup_types.d.ts +212 -0
  38. package/dest/types/public_kernel_setup_types.d.ts.map +1 -0
  39. package/dest/types/public_kernel_setup_types.js +3 -0
  40. package/dest/types/rollup_base_types.d.ts +220 -0
  41. package/dest/types/rollup_base_types.d.ts.map +1 -0
  42. package/dest/types/rollup_base_types.js +3 -0
  43. package/dest/types/rollup_merge_types.d.ts +71 -0
  44. package/dest/types/rollup_merge_types.d.ts.map +1 -0
  45. package/dest/types/rollup_merge_types.js +3 -0
  46. package/dest/types/rollup_root_types.d.ts +92 -0
  47. package/dest/types/rollup_root_types.d.ts.map +1 -0
  48. package/dest/types/rollup_root_types.js +3 -0
  49. package/package.json +60 -0
  50. package/src/fixtures/nested-call-private-kernel-init.hex +1 -0
  51. package/src/fixtures/nested-call-private-kernel-inner.hex +1 -0
  52. package/src/fixtures/nested-call-private-kernel-ordering.hex +1 -0
  53. package/src/index.ts +438 -0
  54. package/src/scripts/generate_ts_from_abi.ts +233 -0
  55. package/src/target/private_kernel_init.json +1 -0
  56. package/src/target/private_kernel_init_simulated.json +1 -0
  57. package/src/target/private_kernel_inner.json +1 -0
  58. package/src/target/private_kernel_inner_simulated.json +1 -0
  59. package/src/target/private_kernel_tail.json +1 -0
  60. package/src/target/private_kernel_tail_simulated.json +1 -0
  61. package/src/target/public_kernel_app_logic.json +1 -0
  62. package/src/target/public_kernel_app_logic_simulated.json +1 -0
  63. package/src/target/public_kernel_setup.json +1 -0
  64. package/src/target/public_kernel_setup_simulated.json +1 -0
  65. package/src/target/rollup_base.json +1 -0
  66. package/src/target/rollup_base_simulated.json +1 -0
  67. package/src/target/rollup_merge.json +1 -0
  68. package/src/target/rollup_root.json +1 -0
  69. package/src/type_conversion.ts +1673 -0
  70. package/src/types/private_kernel_init_types.ts +272 -0
  71. package/src/types/private_kernel_inner_types.ts +273 -0
  72. package/src/types/private_kernel_tail_types.ts +214 -0
  73. package/src/types/public_kernel_app_logic_types.ts +250 -0
  74. package/src/types/public_kernel_setup_types.ts +250 -0
  75. package/src/types/rollup_base_types.ts +259 -0
  76. package/src/types/rollup_merge_types.ts +85 -0
  77. package/src/types/rollup_root_types.ts +109 -0
@@ -0,0 +1 @@
1
+ {"noir_version":"0.23.0+5f5843e35052b9d3599b8ab4f7633db0a225e82f","hash":13639226524165033753,"abi":{"parameters":[{"name":"input","type":{"kind":"struct","path":"private_kernel_lib::private_kernel_inner::PrivateKernelInnerCircuitPrivateInputs","fields":[{"name":"previous_kernel","type":{"kind":"struct","path":"private_kernel_lib::types::abis::kernel_data::PrivateKernelInnerData","fields":[{"name":"public_inputs","type":{"kind":"struct","path":"private_kernel_lib::types::abis::kernel_circuit_public_inputs::PrivateKernelInnerCircuitPublicInputs","fields":[{"name":"aggregation_object","type":{"kind":"struct","path":"private_kernel_lib::types::mocked::AggregationObject","fields":[]}},{"name":"max_non_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end","type":{"kind":"struct","path":"private_kernel_lib::types::abis::combined_accumulated_data::CombinedAccumulatedData","fields":[{"name":"read_requests","type":{"kind":"array","length":128,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":4,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::nullifier_key_validation_request::NullifierKeyValidationRequestContext","fields":[{"name":"public_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}},{"name":"contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}},{"name":"new_commitments","type":{"kind":"array","length":64,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":64,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack","type":{"kind":"array","length":8,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallRequest","fields":[{"name":"hash","type":{"kind":"field"}},{"name":"caller_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"caller_context","type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallerContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","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":"public_call_stack","type":{"kind":"array","length":8,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallRequest","fields":[{"name":"hash","type":{"kind":"field"}},{"name":"caller_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"caller_context","type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallerContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","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":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"encrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"unencrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"new_contracts","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::new_contract_data::NewContractData","fields":[{"name":"contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"contract_class_id","type":{"kind":"struct","path":"private_kernel_lib::types::contract_class::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}},{"name":"public_data_update_requests","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::public_data_update_request::PublicDataUpdateRequest","fields":[{"name":"leaf_slot","type":{"kind":"field"}},{"name":"new_value","type":{"kind":"field"}}]}}},{"name":"public_data_reads","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::public_data_read::PublicDataRead","fields":[{"name":"leaf_slot","type":{"kind":"field"}},{"name":"value","type":{"kind":"field"}}]}}}]}},{"name":"constants","type":{"kind":"struct","path":"private_kernel_lib::types::abis::combined_constant_data::CombinedConstantData","fields":[{"name":"historical_header","type":{"kind":"struct","path":"private_kernel_lib::types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"private_kernel_lib::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":"body_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"state","type":{"kind":"struct","path":"private_kernel_lib::types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::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":"contract_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::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":"private_kernel_lib::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":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"tx_context","type":{"kind":"struct","path":"private_kernel_lib::types::transaction::context::TxContext","fields":[{"name":"is_fee_payment_tx","type":{"kind":"boolean"}},{"name":"is_rebate_payment_tx","type":{"kind":"boolean"}},{"name":"is_contract_deployment_tx","type":{"kind":"boolean"}},{"name":"contract_deployment_data","type":{"kind":"struct","path":"private_kernel_lib::types::contrakt::deployment_data::ContractDeploymentData","fields":[{"name":"public_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"initialization_hash","type":{"kind":"field"}},{"name":"contract_class_id","type":{"kind":"struct","path":"private_kernel_lib::types::contract_class::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"contract_address_salt","type":{"kind":"field"}},{"name":"portal_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}}]}},{"name":"is_private","type":{"kind":"boolean"}}]}},{"name":"proof","type":{"kind":"struct","path":"private_kernel_lib::types::mocked::Proof","fields":[]}},{"name":"vk","type":{"kind":"struct","path":"private_kernel_lib::types::mocked::VerificationKey","fields":[]}},{"name":"vk_index","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"vk_path","type":{"kind":"array","length":3,"type":{"kind":"field"}}}]}},{"name":"private_call","type":{"kind":"struct","path":"private_kernel_lib::types::abis::private_kernel::private_call_data::PrivateCallData","fields":[{"name":"call_stack_item","type":{"kind":"struct","path":"private_kernel_lib::types::abis::private_call_stack_item::PrivateCallStackItem","fields":[{"name":"contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_data","type":{"kind":"struct","path":"private_kernel_lib::types::abis::function_data::FunctionData","fields":[{"name":"selector","type":{"kind":"struct","path":"private_kernel_lib::types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_internal","type":{"kind":"boolean"}},{"name":"is_private","type":{"kind":"boolean"}},{"name":"is_constructor","type":{"kind":"boolean"}}]}},{"name":"public_inputs","type":{"kind":"struct","path":"private_kernel_lib::types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"private_kernel_lib::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":"is_contract_deployment","type":{"kind":"boolean"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"return_values","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"max_non_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"read_requests","type":{"kind":"array","length":32,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest","fields":[{"name":"public_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}}]}}},{"name":"new_commitments","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::side_effect::SideEffect","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":"private_kernel_lib::types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"encrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"unencrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"private_kernel_lib::types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"private_kernel_lib::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":"body_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"state","type":{"kind":"struct","path":"private_kernel_lib::types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::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":"contract_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::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":"private_kernel_lib::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":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"contract_deployment_data","type":{"kind":"struct","path":"private_kernel_lib::types::contrakt::deployment_data::ContractDeploymentData","fields":[{"name":"public_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"initialization_hash","type":{"kind":"field"}},{"name":"contract_class_id","type":{"kind":"struct","path":"private_kernel_lib::types::contract_class::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"contract_address_salt","type":{"kind":"field"}},{"name":"portal_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}}]}},{"name":"private_call_stack","type":{"kind":"array","length":4,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallRequest","fields":[{"name":"hash","type":{"kind":"field"}},{"name":"caller_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"caller_context","type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallerContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","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":"public_call_stack","type":{"kind":"array","length":4,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallRequest","fields":[{"name":"hash","type":{"kind":"field"}},{"name":"caller_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"caller_context","type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallerContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","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":"proof","type":{"kind":"struct","path":"private_kernel_lib::types::mocked::Proof","fields":[]}},{"name":"vk","type":{"kind":"struct","path":"private_kernel_lib::types::mocked::VerificationKey","fields":[]}},{"name":"salted_initialization_hash","type":{"kind":"struct","path":"private_kernel_lib::types::address::SaltedInitializationHash","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"public_keys_hash","type":{"kind":"struct","path":"private_kernel_lib::types::address::PublicKeysHash","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"contract_class_artifact_hash","type":{"kind":"field"}},{"name":"contract_class_public_bytecode_commitment","type":{"kind":"field"}},{"name":"function_leaf_membership_witness","type":{"kind":"struct","path":"private_kernel_lib::types::abis::membership_witness::FunctionLeafMembershipWitness","fields":[{"name":"leaf_index","type":{"kind":"field"}},{"name":"sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}}]}},{"name":"read_request_membership_witnesses","type":{"kind":"array","length":32,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::membership_witness::ReadRequestMembershipWitness","fields":[{"name":"leaf_index","type":{"kind":"field"}},{"name":"sibling_path","type":{"kind":"array","length":32,"type":{"kind":"field"}}},{"name":"is_transient","type":{"kind":"boolean"}},{"name":"hint_to_commitment","type":{"kind":"field"}}]}}},{"name":"portal_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"acir_hash","type":{"kind":"field"}}]}}]},"visibility":"private"}],"param_witnesses":{"input":[{"start":0,"end":2196}]},"return_type":{"abi_type":{"kind":"struct","path":"private_kernel_lib::types::abis::kernel_circuit_public_inputs::PrivateKernelInnerCircuitPublicInputs","fields":[{"name":"aggregation_object","type":{"kind":"struct","path":"private_kernel_lib::types::mocked::AggregationObject","fields":[]}},{"name":"max_non_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end","type":{"kind":"struct","path":"private_kernel_lib::types::abis::combined_accumulated_data::CombinedAccumulatedData","fields":[{"name":"read_requests","type":{"kind":"array","length":128,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":4,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::nullifier_key_validation_request::NullifierKeyValidationRequestContext","fields":[{"name":"public_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}},{"name":"contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}},{"name":"new_commitments","type":{"kind":"array","length":64,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":64,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack","type":{"kind":"array","length":8,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallRequest","fields":[{"name":"hash","type":{"kind":"field"}},{"name":"caller_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"caller_context","type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallerContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","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":"public_call_stack","type":{"kind":"array","length":8,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallRequest","fields":[{"name":"hash","type":{"kind":"field"}},{"name":"caller_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"caller_context","type":{"kind":"struct","path":"private_kernel_lib::types::abis::call_request::CallerContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","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":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"encrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"unencrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"new_contracts","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::new_contract_data::NewContractData","fields":[{"name":"contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"contract_class_id","type":{"kind":"struct","path":"private_kernel_lib::types::contract_class::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}},{"name":"public_data_update_requests","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::public_data_update_request::PublicDataUpdateRequest","fields":[{"name":"leaf_slot","type":{"kind":"field"}},{"name":"new_value","type":{"kind":"field"}}]}}},{"name":"public_data_reads","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"private_kernel_lib::types::abis::public_data_read::PublicDataRead","fields":[{"name":"leaf_slot","type":{"kind":"field"}},{"name":"value","type":{"kind":"field"}}]}}}]}},{"name":"constants","type":{"kind":"struct","path":"private_kernel_lib::types::abis::combined_constant_data::CombinedConstantData","fields":[{"name":"historical_header","type":{"kind":"struct","path":"private_kernel_lib::types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"private_kernel_lib::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":"body_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"state","type":{"kind":"struct","path":"private_kernel_lib::types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::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":"contract_tree","type":{"kind":"struct","path":"private_kernel_lib::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":"private_kernel_lib::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":"private_kernel_lib::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":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"private_kernel_lib::types::address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"tx_context","type":{"kind":"struct","path":"private_kernel_lib::types::transaction::context::TxContext","fields":[{"name":"is_fee_payment_tx","type":{"kind":"boolean"}},{"name":"is_rebate_payment_tx","type":{"kind":"boolean"}},{"name":"is_contract_deployment_tx","type":{"kind":"boolean"}},{"name":"contract_deployment_data","type":{"kind":"struct","path":"private_kernel_lib::types::contrakt::deployment_data::ContractDeploymentData","fields":[{"name":"public_key","type":{"kind":"struct","path":"private_kernel_lib::types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"initialization_hash","type":{"kind":"field"}},{"name":"contract_class_id","type":{"kind":"struct","path":"private_kernel_lib::types::contract_class::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"contract_address_salt","type":{"kind":"field"}},{"name":"portal_contract_address","type":{"kind":"struct","path":"private_kernel_lib::types::address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}}]}},{"name":"is_private","type":{"kind":"boolean"}}]},"visibility":"public"},"return_witnesses":[2996,2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3133,3134,3135,3136,3137,3138,3139,3140,3141,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172,3173,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264,3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,3278,3279,3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553,3554,3555,3556,3557,3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3582,3583,3584,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,3643,3644,3645,3646,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679,3680,3681,3682,3683,3684,3685,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695,3696,3697,3698,3699,3700,3701,3702,3703,3704,3705,3706,3707,3708,3709,3710,3711,3712,3713,3714,3715,3716,3717,3718,3719,3720,3721,3722,3723,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738,3739,3740,3741,3742,3743,3744,3745,3746,3747,3748,3749,3750,3751,3752,3753,3754,3755,3756,3757,3758,3759,3760,3761,3762,3763,3764,3765,3766,3767,3768,3769,3770,3771,3772,3773,3774,3775,3776,3777,3778,3779,3780,3781,3782,3783,3784,3785,3786,3787,3788,3789,3790,3791,3792,3793,3794,3795]},"bytecode":"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9x1X7zst951W79dY7tdYve+83Hdeve+y+b56v85yv87qfdflvuvqfbflvtvqfY/lvsfqfc/lvufqfa/lvtfqfe/lvvfqvVru1eq9We7N6r1d7u3qvVvu3eq9X+796v3Gy/3Gq/d9lvs+q/ebLfebrd73Xe77rt73W+77rd5vtdxvtXq/zXK/zep9/+W+/+r9gOV+wOr9Dsv9Dqv3A5f7gav3Oy/3O6/e77rc77p6P2i5H7R6v8dyv8fq/V7L/V6r94OX+8Gr90OW+yGr90OX+6Gr98OW+2Grd7/c/ep9Wu7T6n1e7vPq/fDlfvjq/YjlfsTq/cjlfuTq/ajlftTq/ejlfvTq/Zjlfszq/djlfuzq/bjlftzq/fjlfvzq/ZHL/ZGr9xOW+wmr9xOX+4mr95OW+0mr95OX+8mr91OW+ymr91OX+6mr99OW+2mr99OX++mr9zOW+xmr9zOX+5mr97OW+1mr97OX+9mr93OW+zmr92cs92es3s9f7uev3p+z3J+zen/+cn/+6v1Fy/1Fq/cLlvsFq/eXL/eXr95ftdxftXp/7XJ/7er9Dcv9Dav3Ny/3N6/e37bc37Z6f+dyf+fq/cLlfuHq/X3L/X2r9w8u9w+u3j+y3D+yev/4cv/46v1Ty/1Tq/fPLvfPrt6/sNy/sHr/8nL/8ur9a8v9a6v3by73b67ev7Pcv7N6//5y//7q/UfL/Uer958u95+u3n+x3H+xev/1cv/16v13y/13q/c/Lvc/rt7/stz/snr/+3L/++r9X8v9X6t3teXF981/bn7fYrlvsXrfcrlvuXrferlvvXrfdrlvu3q/wnK/wur9ysv9yqv37Zf79qv3HZf7jqv3qy/3q6/ed17uO6/er73cr71633W577p63325775633O577l6v+Fyv+HqvVru1epdL3e9eu+We7d6H5b7sHrfZ7nvs3q/+XK/+ep9v+W+3+r91sv91qv3/Zf7/qv32y/326/eD1zuB67e77Lc77J6P2i5H7R6v/dyv/fq/eDlfvDq/X7L/X6r98OW+2Gr97Dcw+p9Xu7z6v2By/2Bq/cjl/uRq/eHLPeHrN6PWe7HrN4fvtwfvno/frkfv3p/9HJ/9Or9xOV+4ur9ccv9cav3U5b7Kav3Jy73J67eT1/up6/en7Lcn7J6P2u5n7V6f/pyf/rq/dzlfu7q/VnL/Vmr92cv92ev3l+w3F+wen/hcn/h6v2ly/2lq/eXLfeXrd5fvdxfvXp/zXJ/zer9jcv9jav3Ny33N63eL3GZi++b/9z8funlfunV+2WW+2VW71sv961X79ss921W75db7pdbvW+33Df/eYnlffvlvv3qfYflvsPq/VrL/Vqr9102/+Ot/nGvt9yvt3rfbbnvtvp7dl/uu6/e91jue6ze91rue63+/hsu9xuu/t/vvdz3Xr3faLnfaPVeLfdq9fd3y71bvffLvV+933i533j1vs9y32f1frPlfrPV+77Lfd/V+37Lfb/V+62W+61W77dZ7rdZve+/3PdfvR+w3A9Yvd9hud9h9X7gcj9w9X7n5X7n1ftdl/tdV+8HLfeDVu/3WO73WL3fa7nfa/V+8HI/ePV+yHI/ZPV+6HI/dPV+2HI/bPXul7tfvU/LfVq9z8t9Xr0fvtwPX70fsdyPWL0fudyPXL0ftdyPWr0fvdyPXr0fs9yPWb0fu9yPXb0ft9yPW72fsNxPWL2fuNxPXL2ftNxPWr2fvNxPXr2fstxPWb2futxPXb2fttxPW72fvtxPX72fsdzPWL2fudzPXL2ftdzPWr2fvdzPXr2fs9zPWb2fu9zPXb2ft9zPW72fv9zPX70/Z7k/Z/X+/OX+/NX7i5b7i1bvFyz3C1bvL1/uL1+9v2q5v2r1/trl/trV+xuW+xtW729e7m9evb9tub9t9f7O5f7O1fuFy/3C1fv7lvv7Vu8fXO4fXL1/ZLl/ZPX+8eX+8dX7l5b7l1bv31ru31q9f2+5f2/1/oPl/oPV+4+W+49W7z9Z7j9Zvf9suf9s9f7P5f7P1fu/lvu/Vu+XXLw/m//c/L7Fct9i9b7Vct9q9b71ct969X755X751fsVlvsVVu/bLfftVu/bL/ftV+87LfedVu9XX+5XX73vsvm+er/2cr/26n235b7b6n335b776v1uy33zn5v//cZxy/241fszl/szV+/vWu7vWr1/Z7l/Z/W+KQeiNvy5+f16y/16q/f9l/v+q/cHLvcHrt7PXO5nrt5fv9xfv3r/4nL/4ur9L8v9L6v3TX5yteHPze83Xe43Xb0fttwPW70/brk/bvV+wXK/YPX+seX+sdX7L5f7L1fvV1g8epv/3PzeLPdm9X735X731fvxy/341fuzVh7Gze8XLvcLV+/fW+7fW71fatuL75v//K9/H77cd1+9H7DcD1i9P2i5P2j1ftZyP2vD+zbLf+/if+CL/9j0mW72vu4Sz77Lf139v6m22vR/4vW/LIrF/t7q4r/30qX/XnPx37slSO9liuu96P9k6X95T0vr3bq43uEivZcF6d2m9N/bmYv0bgvSe7nievuL9F4epPcKxfX6i/ReEaT3SuX1bvo/bauuDNJ7lfJ6N/2fkP2vrGBJvZtmbfvl73rn8i+Ym952WN7etbxt+se/avm+Nv2v41Y7Avra9PderbjecdP/OXa1E0jv1YvrDRfpvQbou7nm8ndt/h+Im952Xp42/+e1m/7xr1X6H99Wm/7PuV/09yH6uvbyd11qQ1/XWd4uveHtusvblhvedt38k2x4u97yttWGt92Wt603vO2+vF12w9sey9s2G96uv7xtu+Ftz+XtchvebrC8XX7D217L2xU2vN1webvihrfN/3sLrrTh7UbL25U3vG3On11lw1u9vG234a1Z3rbf8KaXtx02vLXL21U3vJnlbccNb93ydrUNb3Z522nDW7+8XX3D27C8XWPD242Xt2tueLvJ8rbzhrd9lrdrbXi76fK2y4Zv/mab31Spb7656F8jbl76712++c1/164b+rrF8na9DW/7LW+7bXi75fK2+4a3Wy1ve2x4u/Xydv0Nb7dZ3vbc8Hbb5e0GG972X9722vB2u+XthhveDlje9t7wdvvl7UYb3u6wvFUb3u64vNUb/nk8cHnbRZX651Ff9K9ddyr99y7/PN55+bu6DT3cpXwPF/37p7sCetj0996tuF57kd6DQHrvXl7vpv9zL+oeIL33LK53uEjvvUB6711c73iR3oNBeu9TXu+m/3Mr6hCQ3vsW1zvpTX/voQC9m/417n7L3/WlDf8ad1j5HrpNf68D/ea+vN5+0987gn7zafm7vr7hf16G5e0bG97m5e2bG97uv7x9a8M/X4eX73/T/9kk9YDSf+/S/xHL3/XdDX09cHn73oa3I5e37294e9Dy9oMNb0ctbz/c8Pbg5e1HG96OXt5+vOHtIcvbTza8HbO8/XTD20OXt59teDt2efv5hreHLW+/2PB23PL2yw1vD1/efrXh7fjl7dcb3h6xvP1mw9sjl7ffbnh71PL2uw1vJyxvv9/w9ujl7Q8b3k5c3v644e0xy9ufNrydtLz9ecPbY5e3v2z4Hk9e3nZR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","debug_symbols":"7P3bjmxLci5mvguvhUaam/lpv0qjL4Q+AAIEqdHSnaB37zEBriwSXLVzUvQa/ILLsW+IjUTGH1blv4dlxTfm//FP//P/+v/8H//3/+l//V/+t3/6b//HP33933LtNv/pv/3f/49/+t/+v//j//Lr/+9/+9//x//f//5P/631+h/+6f/9v/y/nv9rz//zf/in/8//9D//v//pv0Xs//N/+Dc/G3usf/7h2Kv+xU/H//n/+B/++VXWK6+y33iV/HrlVeKVV2mvvEq+8ir1yqv0V15lvPIqr5z9fOXs5ytnv145+/XK2a9Xzn69cvbrlbNfr5z9euXs1ytnv145+/XK2e+vnP3+ytnvr5z9/srZ76+c/f7K2e+vnP3+ytnvr5z9/srZH6+c/fHK2R+vnP3xytkfr5z98crZH6+c/fHK2R+vnP3xytmfr5z9+crZn6+c/fnK2Z+vnP35ytmfr5z9+crZn6+c/fnK2V+vnP31ytlfr5z99crZX6+c/fXK2V+vnP31ytlfr5z99crZ36+c/f3K2d+vnP39ytnfr5z9/crZ36+c/f3K2d+vnP39wtnfX19fr7xKvPIq7ZVXyVdepV55lf7Kq4xXXmW+8irrlVd55ezHK2c/Xjn78crZj1fOfrxy9uOVsx+vnP145ezHK2c/Xjn77ZWz3145++2Vs99eOfvtlbPfXjn77ZWz3145++2Vs99eOfv5ytnPV85+vnL285Wzn6+c/Xzl7OcrZz9fOfv5ytnPV85+vXL265WzX6+c/Xrl7NcrZ79eOfv1ytmvV85+vXL265Wz3185+/2Vs99fOfv9lbPfXzn7/ZWz3185+/2Vs99fOfv9lbM/Xjn745WzP145++OVsz9eOfvjlbM/Xjn745WzP145++OVsz9fOfvzlbM/Xzn785WzP185+/OVsz9fOfvzlbM/Xzn785Wzv145++uVs79eOfvrlbO/Xjn765Wzv145++uVs79eOfvrlbO/Xzn7+5Wzv185+/uVs79fOfv7lbO/Xzn7+5Wzv185+698ry9e+V5fvPK9vnjle33xyvf64qteeZX+yquMV15lvvIq65VXeeXsv/K9vnjle33xyvf64pXv9cUr3+uLV77XF698ry9e+V5fvPK9vnjle33xyvf64pXv9cUr3+uLV77XF698ry9e+V5fvPK9vnjle33xyvf64pXv9cUr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0HMO0HMO0HMO0HMO0HMO0HMO0HMO0HMO0HMO0HMO0HMO0HMO0HNO0HNO0HNO0HNO0HPOL6/HJ+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5J+g5F+g5F+g5F+g5F+g515fX4wv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nAv0nBv0nBv0nBv0nBv0nPvL6/ENes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4Nes4N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oOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOfsoOccoOccoOccoOccoOccX16PD9BzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzDtBzTtBzTtBzTtBzTtBzzi+vxyfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoOSfoORfoORfoORfoORfoOdeX1+ML9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9JwL9Jwb9Jwb9Jwb9Jwb9Jz7y+vxDXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrODXrO7XnO+PI855OJ6/EnE9fjTyaux59MXI8/mbgefzJxPf5k4nr8ycT1+JMJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mbweD9BzBug5A/ScAXrO53/MBzN5PR6g5wzQcwboOQP0nAF6zgA9Z4CeM0DPGaDnDNBzBug5A/ScAXrOAD1ngJ4zQM8ZoOcM0HMG6DkD9JwBes4APWeAnjNAzxmg5wzQcwboOQP0nAF6zgA9Z4CeM0DPGaDnDNBzBug5A/ScAXrOAD1ngJ4zQM8ZoOcM0HMG6DkD9JwBes4APWeAnjNAzxmg5wzQcwboOQP0nAF6zgA9Z4CeM0DPGaDnDNBzBug5A/ScAXrOAD1ngJ4z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E/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScE/ScC/ScC/ScC/ScC/Sc68vr8QV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zgV6zg16zg16zg16zg16zv3l9fgGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPecGPef2PGf78jznk4nr8ScT1+NPJq7Hn0xcjz+ZuB5/MnE9/mTievzJxPX4kwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe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QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85Qc85Qc85Qc85Qc85v7wen6DnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnnKDnXKDnXKDnXKDnXKDnXF9ejy/Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qcy7Qc27Qc27Qc27Qc27Qc+4vr8c36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk36Dk3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Qc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc85QM85QM85QM85QM85vrweH6DnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnnKDnnKDnnKDnnKDnnF9ej0/Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qcy7Qcy7Qcy7Qcy7Qc64vr8cX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX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Hvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTCexxz3M+mcAe9zznkwnscc9zPpnAHvc855MJ7HHPcz6ZwB73POeTyevxAD1ngJ4zQM8ZoOeML6/HA/ScAXrOAD1ngJ4zQM8ZoOcM0HMG6DkD9JwBes4APWeAnjNAzxmg5wzQcwboOQP0nAF6zgA9Z4CeM0DPGaDnDNBzBug5A/ScAXrOAD1ngJ4zQM8ZoOcM0HMG6DkD9JwBes4APWeAnjNAzxmg5wzQcwboOQP0nAF6zgA9Z4CeM0DPGaDnDNBzBug5A/ScAXrOAD1ngJ4zQM8ZoOcM0HMG6DkD9JwBes4APWeAnjNAzxmg5wzQcwboOQP0nAF6zgA9Z4CeM0DPGaDnDNBzBug5A/ScAXrOAD1ngJ4zQM8ZoOcM0HMG6DkD9JwBes4APWeAnjNAzxmg5wzQcwboOQP0nAF6zgA9Z4CeM0DPGaDnDNBzNtBzNtBzNtBzNtBzti+vxxvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORvoORP0nAl6zgQ9Z4KeM7+8Hk/QcyboORP0nAl6zgQ9Z4KeM0HPmaDnTNBzJug5E/ScCXrOBD1ngp4zQc+ZoOdM0HMm6DkT9JwJes4EPWeCnjNBz5mg50zQcyboORP0nAl6zgQ9Z4KeM0HPmaDnTNBzJug5E/ScCXrOBD1ngp4zQc+ZoOdM0HMm6DkT9JwJes4EPWeCnjNBz5mg50zQcyboORP0nAl6zgQ9Z4KeM0HPmaDnTNBzJug5E/ScCXrOBD1ngp4zQc+ZoOdM0HMm6DkT9JwJes4EPWeCnjNBz5mg50zQcyboORP0nAl6zgQ9Z4KeM0HPmaDnTNBzJug5E/ScCXrOBD1ngp4zQc+ZoOdM0HMm6DkT9JwJes4EPWeCnjNBz1mg5yzQcxboOQv0nPXl9XiBnrNAz1mg5yzQcxboOQv0nAV6zgI9Z4Ges0DPWaDnLNBzFug5C/ScBXrOAj1ngZ6zQM9ZoOcs0HMW6DkL9JwFes4CPWeBnrNAz1mg5yzQcxboOQv0nAV6zgI9Z4Ges0DPWaDnLNBzFug5C/ScBXrOAj1ngZ6zQM9ZoOcs0HMW6DkL9JwFes4CPWeBnrNAz1mg5yzQcxboOQv0nAV6zgI9Z4Ges0DPWaDnLNBzFug5C/ScBXrOAj1ngZ6zQM9ZoOcs0HMW6DkL9JwFes4CPWeBnrNAz1mg5yzQcxboOQv0nAV6zgI9Z4Ges0DPWaDnLNBzFug5C/ScBXrOAj1ngZ6zQM9ZoOcs0HMW6DkL9JwFes4Oes4Oes4Oes4Oes7+5fV4Bz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nBz1nL7DHQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc/ZQc85QM85QM85QM85QM85vrweH6DnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnHKDnnKDnnKDnnKDnnKDnnF9ej0/Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qc07Qcy7Qcy7Qcy7Qcy7Qc64vr8cX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6DkX6Dk36Dk36Dk36Dk36Dn3l9fjG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/ScG/Sc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2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHP2UHPOUDPOUDPOUDPOUDPOb68Hh+g5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg5xyg55yg55yg55yg55yg55xfXo9P0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HNO0HMu0HMu0HMu0HMu0HOuL6/HF+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5F+g5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es4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Jes4Fes4Fes4Fes4Fes715fX4Aj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nAj3nBj3nBj3nBj3nBj3n/vJ6fIOec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec4Oec3uec315nvPJxPX4k4nr8ScT1+NPJq7Hn0xcjz+ZuB5/MnE9/mTievzJBPa45zmfTGCPe57zyQT2uOc5n0xgj3ue88kE9rjnOZ9MYI97nvPJ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njNBz5mg50zQcyboORP0nAl6zgQ9Z4KeM0HPmaDnTNBzJug5E/ScCXrOBD1ngp4zQc+ZoOdM0HMm6DkT9JwJes4EPWeCnjNBz5mg50zQcyboORP0nAl6zgQ9Z4KeM0HPmaDnTNBzJug5E/ScBXrOAj1ngZ6zQM9ZX16PF+g5C/ScBXrOAj1ngZ6zQM9ZoOcs0HMW6DkL9JwFes4CPWeBnrNAz1mg5yzQcxboOQv0nAV6zgI9Z4Ges0DPWaDnLNBzFug5C/ScBXrOAj1ngZ6zQM9ZoOcs0HMW6DkL9JwFes4CPWeBnrNAz1mg5yzQcxboOQv0nAV6zgI9Z4Ges0DPWaDnLNBzFug5C/ScBXrOAj1ngZ6zQM9ZoOcs0HMW6DkL9JwFes4CPWeBnrNAz1mg5yzQcxboOQv0nAV6zgI9Z4Ges0DPWaDnLNBzFug5C/ScBXrOAj1ngZ6zQM9ZoOcs0HMW6DkL9JwFes4CPWeBnrNAz1mg5yzQcxboOQv0nAV6zgI9Z4Ges0DPWaDn7KDn7KDn7KDn7KDnfP5bDmbyeryDnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnrODnnOAnnOAnnOAnnOAnnN8eT0+QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85QM85Xvecz39b/sg01vxXmf7tT8f+44dj5/fPzv23+OOz48/Pjr8+O/7+6PivM9XD8UOO3yL++NUx/jR+++z4dO//HJ/u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t4z46i0jvnrLiK/eMuKrt4z46i0jvnrLiK/eMuKrt4z46i0jvnrLiK/eMuKrt4z46i0jvnrLiK/eMuKrt4z46i0jvnrLiK/eMuKrt4z46i0jvnrLiK/eMuKrt4z46i0jvnrLiK/eMuKrt4z45i0jvnnLiG/eMuKbt4z4doi3hp0preYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4hv3jLim7eM+OYtI755y4jv3jLiu7eM+O4tI757y4jvh3hr2JnS6t4y4ru3jPjuLSO+e8uI794y4ru3jPjuLSO+e8uI794y4ru3jPjuLSO+e8uI794y4ru3jPjuLSO+e8uI794y4ru3jPjuLSO+e8uI794y4ru3jPjuLSO+e8uI794y4ru3jPjuLSO+e8uI794y4ru3jPjuLSO+e8uI77sliLdyNtzqZcObzeFxw3ut0iXkd8Ml9cuG91qlJxrea5WeaHivVXqi4b388ETDe/nhccOb5UtPNLzXHK7Hu5Zec7pseC8/PNHwXn54omHx1vBeSmui4b2U1kTDeymtiYb3UloTDe+ltMYNb5YvPdHwZkqrHGfD/bj/cD3en63H5/FXCx82m4kyVTab6TdVNkI2P7LZTBWqstlMQKqy2UxrqrLZTJb+OzYhX7LZTMH+BpvS33XXGK/YbBbxrcvGsS6W856Sy/Vms+BwXTaOdfGQjZDNj2wc6+IhG8e6eMjGsS4esnGsiz9s8qUu3ixl/bfYpFP7lUvtt1kguy4bv7r41fzJJl2y8auLx2z86uIxGyGb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suTeL0vu/bLk3i9L7v2y5N4vS+79suTeL0vu/brk3q9L7v265N6vS+79uuTer0vu/brk3q9L7v265N6vS+79tuTeb0vu/bbk3m9L7v225N5vS+79tuTeb0vu/bbk3m9L7v2+5N7vS+79vuTe70vu/b7k3u9L7v0l7/XFJe/1xSXv9cUl7/WlJe/1pSXv9aUl7/WlJe/1pUOW/Ja85LeUJb+lLvktbclvWXLvL3mvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea8vLXmvLy15ry8tea9PlrzXJ0ve65Ml7/XJkvf65JAlvyUv+S1lyW+pS35LW/Jbltz7S97rkyXv9cmS9/pkyXt9suS9PlnyXp8sea9PlrzXJ0ve65Ml7/XJkvf6ZMl7fbLkvT5Z8l6fLHmvT5a81ydL3uuTJe/1yZL3+mTJe32y5L0+WfJenyx5r0+WvNcnS97rkyXv9cmS9/pkyXt9suS9PlnyXp8sea9PlrzXJ0ve65Ml7/XJkvf6ZMl7fbLkvT5Z8l6fLHmvT5a81ydL3uuTJe/1yZL3+mTJe32y5L0+WfJenyx5r0+WvNcnS97rkyXv9cmS9/pkyXt9suS9PlnyXp8sea9PlrzXJ0ve65Ml7/XJkvf6ZMl7fbLkvT5Z8l6fLHmvT5a81ydL3uuTJe/1yZL3+mTJe32y5L0+WfJenyx5r0+WvNcnS97rkyXv9cmS9/pkyXt9suS9PlnyXp8sea9PlrzXJ0ve65Ml7/XJkvf6ZMl7fbLkvT5Z8l6f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pHR40Ujp8KKR0uFGIwU3Gim40UjBqEY66wdXPoPnA2l5tpl2/eAqZVg/uPYY1g+uKIb1/3/tndGu67iyXX9JJEuU+Dk3QB4C5CFIggB5yL/HjbTl1d1yc+1sLs4qerzdg+uzT2nMZVWNkk07nxO69Tvv/r36s/Oe3q3feafu1h/7s7slB++/0887G11/8P6bg/ffHLz/5uD9NwfvvyV4/y3B+28J3n9L8P47/Qy00fUH778leP8twftvCd5/S/D+a8H7rwXvvxa8/1rw/jv9XLTR9Qfvvxa8/1rw/mvB+68F77978P67B++/e/D+uwfvv3vw/uv87L5+/cH7r/Oz+/r1B++/zs/u69bv/Oy+fv3B+28N3n+dn53Yrz94/3V+dmK//uD91/nZif36g/df52cndut3fnZiv/7g/Tf42YnF+9mJ3fqD91/vZyd26w/ef72fcditP3j/9X4WYa9+7+cLdusP3r+8n43XrX/y/fNs9jzN92y1/qX+q6Zjdk2tPpluKd/XdDqsqfmrafa5Xd+qKTmsKTusqTisyRzWNHtm3uz6DartOO9rqg5rOhzWdDqsqbmryaafJ/SdmpLDmrLDmorDmibfx1tKz8n38eJ8X9PusKbqsKbDYU3T7+MtvWoqtzVNP3XjOzXNvj/l/Zqf8nGf3fQzL75TkzmsaXdYU3VY0+GwptNhTc1fTdPPb/hOTclhTdPv4+fz1a2Y/aWmf766PvaIf7667n/8r//5arsrJKVyHer0+OfyX15+XW/5sOu1D7ve/cOut37Y9R4fdr3nh11v+6zrnX7Ohfp604dd74fNV+XD5qvp53Sor/fD5qvyYfNV+bD5avo5I+m1Wy1ffnX6zedsvnUJzfMlVHteQL37kW2bftDI2OpT6OpzkOqPeld9CV29ha5+D119DV39Ebp61w23W32UXntb/R6l195XH6XX3lcfutfuoXvt9MNExlYfutfuoXvtHrrX7q577ZHLny8+Srqr3nWv7VVfXffabvWue223ete9tlu9617brd51r+1W77rXdqt33Wu71bvutd3qQ/faGrrXHqF77RG61x6he+0RutdOPyRkbPWhe+0RutceoXvtEbrXHqF77Rm6156he+0ZuteeoXvtGbrXnqF77Rm6156he+0ZuteeoXttC91rW+he20L32ha6184+nGdw9aF7bQvda1vo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ztMvP6bUXeX7fut26ft+6/bKn32KRWqvXzjdcu2U3/3E5+xTLH6t/O5Ca/YpFqPLt9jl77HLr7HLP2KXf8Yuv4Uuf/YpFqPLd911++XH7rpn7K47+xSL0eXH7rpn7K57xu66p++uqzluop6+m7mISvM9I2iOm6jN9+ihouJ7otEcwlGb70Gpt1lsFrt83626W77rVt19ptFc99Re+cfmuvn11tLH5vrO0y/ftyR03rrH5vut26Xv+63bKz9Nn0Xy9cMx7Sid8nuPZI5UPJffM8xj9ikWo8vfY5dfY5d/xC7/jF1+c13+T/3s1/PjAKm+/tl8QckbUP4JJYWEcpXvekLol++7R3XLd92jumaYXfeofvmue1R3uC+u7zz98i30W7f4fut26ft+6/bKH/DV5XRepp3r1im/btcvota0HZ3yc3rOFzndl59il59jl19il2+xy99jl19jl3/ELv+MXX4LXf4eu+vusbvuHrvr7rG77h676+6xu+4eu+vusbvuHrvr7rG7bo3ddWvsrltjd90au+vW2F23+u665SrfRn4WtFyfBT2/LPr+OIPoH6/dy/OUrP3LUrDWF0HfjT8CQd+zxw8RbBeVvXUI5np9GiDXPd0y9D0A/fRf4d8ZXlh8D1Y/g2U/npdXc+/Nafn6soB9fUKyXQgP38PdT/9l/R3hhcX30PgOy1W+76GxW37MseUq3/fMULer25y35ftu2N3yfffKXvmn7xtyt3zfN85u+Ta3/L3a8+N9ez1/2/fOPXb5NXb5R+zyz9jlt9Dlty12+cl1+T/jEb3PZrcMlH9CKSGhXOVb7PJ996hu+b57VG+8bL57VKf8c/Pdo7rl+74dd8v3fePslj97uN/38tofn7854JzbEbv8M3b5LXT5aYtdfopdfo5dfoldvsUuf49dfuyum2J33RS766bYXTfH7ro5dtfNsbtujt11c+yum2N33Ry76+bYXTfH7ro5dtctsbtuid11S+yuW2J33QFnikjLj911S+yuW2J33RK765bYXddid12L3XUtdte12F139oE0o8uP3XUtdte12F3XYnddi91199hdd4/ddffYXXeP3XVnH0gzunzfXfeHPpu7mV0vPl4njz/+my8wvvu5EIzvSeGnwLTrxelryX/8F/9ZcucwgHP3Pa782B9XeTFM939cvgehHwKTjucpxynns/PHla8Xl5x/9w+x+p7cPPAu5fpVyvTbb/zqe9T09ff9d94XRN8D78/fPXNu92B8j9I/BObxrz1fXNJxD8YAcw/mQ8f/8gJz3oP5yPG/lGv8ty3fg/nM8f/1F2NbuQcTc6a/yo85eT/LP2LOBFf5vjt370tth+/+2i3fdxfslu/7ltwt3/eNs1f+7KN+dquv8rfWK7+3AD5z7PJL7PItdvl77PJr7PKP2OWfsctvocufftDS4PJjd90Wu+u22F13+uFFg8uP3XVb7K7bYnfdFrvrttBdt22hu27bQnfdtoXuum0L3XXbFrrrti10121b6K7bttBdt22hu27bYnfdFLvrpthdN8Xuuil2151+7tjg8mN33RS766bYXTfF7ropdtfNsbtujt11c+yum2N33ennjg0uP3bXzbG7bo7ddXPsrptjd93iu+vKvrfYiu9+LgTje1KI8IXOVnyPK7IvdLbpR8G5ACP7Qmcrvie31b7Q2YrvUTPEFzpb8T3wyr7Q2YrvUVr2vcVWfA/pOjD2oeN/7wudzT5y/O9/obPZZ47/3S90Nos501/lW+zyY84EV/m+O3fnS23NfPfXXvm77y7YLd/3Lblbvu8bZ7f82UpXjudYt9vXse7/bwE8/Xy2weWfsctvocuffh7Y4PJT7PJz7PJL7PItdvl77PJjd90au+vW2F23xu66R+yue8TuukfsrnvE7rrTj44aXH7srnvE7rpH7K57xO66R+yue8buuqfvrvtDz22sXi+29nqgde4vLr7buY6L7znhh7g89sHPF+923nKxz/x72V5c2i0X35PNT/291Pp8cd3SLRffI5OOi+9Z7OffR3W7v+/6HvJ6D7JP30Ner/wWcxq4yvfdtHuPUqcftDa4fN8tsFu+7ztyt3zfN85/L//Ypp+Vla9vtOyl2O/p5aP8HLv8Ert8i13+Hrv8Grv8I3b5Z+zyW+jyp5+VNbj82F03xe66KXbXnX5W1uDyY3fdFLvrpthdN/nuuj+zvnto3p+vtbuHAw8qvpu5iEr2PSP8EJXrCZu1ekvF9+ihouJ7ovmpd1C9qBy3VHwPSv++ln6Ub7HL992qu+X7btW9xWj23VN75Rffza9bvu/7cbd83zfObvmzHSedz1luz9b9rcueJEw/qGVw+Wfs8lvo8qcfTTK4/BS7/By7/BK7fItd/h67/Nhd12J3XYvddS12191jd909dtfdY3fdPXbX3WN33T12191jd909dtfdY3fdPXbXrbG7bo3ddWvsrltjd93p5+gMLj92162xu26N3XVr7K5bY3fdI3bXPWJ33SN21z1id93p5+gMLj921z1id93Dd9f9mQ9p5XSdAf+o/vWd9lZuXlzr84dg6vmlhtcnug7fnT8EQt/ThweE7fn5kgetO4Sn7wnIxV/hcSE8bxH6nsJ+CmE7r5JL/XeEZX9+urUcLxb1C0Lfk6AHhGf+87X25TSVrwh9T6Mu/gr3C2G+RWifeS/ML4THV4QXF9+j9g9xyfvVI8qXH/y5/dPq/OrfA6Hvcf/n/7TKZrd/WjE94io/5gz/LL/FnFyu8n1PDb2PdjffHbtbvu9u2S3f9x25W77vG2en/EfvmFz+owM/y0+5e1RTZ/2Vph/VNLj8HLv8Ert8i13+Hrv8Grv8I3b5Z+zyW+jyU+yum2J33RS766bYXXf6UU2Dy4/ddVPsrpt8d13NqT4p+W7mKiq+ZwTNqT4p+x49VFR8TzSas45S9j0oddbSKfselLrl+27V3fJ9t+reYjT77qnd8n03v175xff9uFu+7xvn2/If/+F//cd//y//8Z/+63/+H4//wuM//s///d/+3//5f/4v","file_map":{"0":{"source":"use crate::cmp::{Ord};\n\n// TODO: Once we fully move to the new SSA pass this module can be removed and replaced\n// by the methods in the `slice` module\nimpl<T, N> [T; N] {\n #[builtin(array_len)]\n pub fn len(self) -> Field {}\n\n pub fn sort(self) -> Self where T: Ord {\n self.sort_via(|a, b| a <= b)\n }\n\n pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n let sorted_index = self.get_sorting_index(ordering);\n let mut result = self;\n // Ensure the indexes are correct\n for i in 0..N {\n let pos = find_index(sorted_index, i);\n assert(sorted_index[pos] == i);\n }\n // Sort the array using the indexes\n for i in 0..N {\n result[i] = self[sorted_index[i]];\n }\n // Ensure the array is sorted\n for i in 0..N-1 {\n assert(ordering(result[i], result[i+1]));\n }\n\n result\n }\n\n /// Returns the index of the elements in the array that would sort it, using the provided custom sorting function.\n unconstrained fn get_sorting_index<Env>(self, ordering: fn[Env](T, T) -> bool) -> [Field; N] {\n let mut result = [0;N];\n let mut a = self;\n for i in 0..N {\n result[i] = i;\n }\n for i in 1 .. N {\n for j in 0..i {\n if ordering(a[i], a[j]) {\n let old_a_j = a[j];\n a[j] = a[i];\n a[i] = old_a_j;\n let old_j = result[j];\n result[j] = result[i];\n result[i] = old_j; \n }\n }\n }\n result\n }\n\n\n // Converts an array into a slice.\n pub fn as_slice(self) -> [T] {\n let mut slice = [];\n for elem in self {\n slice = slice.push_back(elem);\n }\n slice\n }\n\n // Apply a function to each element of an array, returning a new array\n // containing the mapped elements.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n let first_elem = f(self[0]);\n let mut ret = [first_elem; N];\n\n for i in 1 .. self.len() {\n ret[i] = f(self[i]);\n }\n\n ret\n }\n\n // Apply a function to each element of the array and an accumulator value,\n // returning the final accumulated value. This function is also sometimes\n // called `foldl`, `fold_left`, `reduce`, or `inject`.\n pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n for elem in self {\n accumulator = f(accumulator, elem);\n }\n accumulator\n }\n\n // Apply a function to each element of the array and an accumulator value,\n // returning the final accumulated value. Unlike fold, reduce uses the first\n // element of the given array as its starting accumulator value.\n pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n let mut accumulator = self[0];\n for i in 1 .. self.len() {\n accumulator = f(accumulator, self[i]);\n }\n accumulator\n }\n\n // Returns true if all elements in the array satisfy the predicate\n pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = true;\n for elem in self {\n ret &= predicate(elem);\n }\n ret\n }\n\n // Returns true if any element in the array satisfies the predicate\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n for elem in self {\n ret |= predicate(elem);\n }\n ret\n }\n}\n\n// helper function used to look up the position of a value in an array of Field\n// Note that function returns 0 if the value is not found\nunconstrained fn find_index<N>(a: [Field;N], find: Field) -> Field {\n let mut result = 0;\n for i in 0..a.len() {\n if a[i] == find {\n result = i;\n } \n }\n result\n}","path":"std/array.nr"},"2":{"source":"// docs:start:eq-trait\ntrait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\nimpl Eq for Field { fn eq(self, other: Field) -> bool { self == other } }\n\nimpl Eq for u1 { fn eq(self, other: u1) -> bool { self == other } }\nimpl Eq for u8 { fn eq(self, other: u8) -> bool { self == other } }\nimpl Eq for u32 { fn eq(self, other: u32) -> bool { self == other } }\nimpl Eq for u64 { fn eq(self, other: u64) -> bool { self == other } }\n\nimpl Eq for i8 { fn eq(self, other: i8) -> bool { self == other } }\nimpl Eq for i32 { fn eq(self, other: i32) -> bool { self == other } }\nimpl Eq for i64 { fn eq(self, other: i64) -> bool { self == other } }\n\nimpl Eq for () { fn eq(_self: Self, _other: ()) -> bool { true } }\nimpl Eq for bool { fn eq(self, other: bool) -> bool { self == other } }\n\nimpl<T, N> Eq for [T; N] where T: Eq {\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<N> Eq for str<N> {\n fn eq(self, other: str<N>) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl<A, B> Eq for (A, B) where A: Eq, B: Eq {\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl<A, B, C> Eq for (A, B, C) where A: Eq, B: Eq, C: Eq {\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl<A, B, C, D> Eq for (A, B, C, D) where A: Eq, B: Eq, C: Eq, D: Eq {\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl<A, B, C, D, E> Eq for (A, B, C, D, E) where A: Eq, B: Eq, C: Eq, D: Eq, E: Eq {\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3) & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\nstruct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n// docs:start:ord-trait\ntrait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else {\n if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n\nimpl<T, N> Ord for [T; N] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<A, B> Ord for (A, B) where A: Ord, B: Ord {\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl<A, B, C> Ord for (A, B, C) where A: Ord, B: Ord, C: Ord {\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D> Ord for (A, B, C, D) where A: Ord, B: Ord, C: Ord, D: Ord {\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D, E> Ord for (A, B, C, D, E) where A: Ord, B: Ord, C: Ord, D: Ord, E: Ord {\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n","path":"std/cmp.nr"},"3":{"source":"struct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n // TODO: change this to return a u64 as Noir now\n // uses u64 for indexing\n len: Field,\n empty_value: T,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0, empty_value: initial_value }\n }\n\n pub fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: Field) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> Field {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> Field {\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 as u64 <= MaxLen as u64, \"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_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 as u64 <= MaxLen as u64, \"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 as Field)] = vec.get_unchecked(i as Field);\n }\n }\n self.len = new_len;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = self.empty_value;\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}","path":"std/collections/bounded_vec.nr"},"19":{"source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n \n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n \n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n \n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n","path":"std/field.nr"},"27":{"source":"mod poseidon;\nmod mimc;\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\nstruct PedersenPoint {\n x : Field,\n y : Field,\n}\n\npub fn pedersen_commitment<N>(input: [Field; N]) -> PedersenPoint\n// docs:end:pedersen_commitment\n{\n pedersen_commitment_with_separator(input, 0)\n}\n\n#[foreign(pedersen_commitment)]\npub fn __pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\npub fn pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> PedersenPoint {\n let values = __pedersen_commitment_with_separator(input, separator);\n PedersenPoint { x: values[0], y: values[1] }\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<N>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\npub fn pedersen_hash_with_separator<N>(input: [Field; N], separator: u32) -> Field {}\n\npub fn hash_to_field<N>(input: [Field; N]) -> Field {\n let mut inputs_as_bytes = [];\n\n for i in 0..N {\n let input_bytes = input[i].to_le_bytes(32);\n for i in 0..32 {\n inputs_as_bytes = inputs_as_bytes.push_back(input_bytes[i]);\n }\n }\n\n let hashed_input = blake2s(inputs_as_bytes);\n crate::field::bytes32_to_field(hashed_input)\n}\n\n#[foreign(keccak256)]\n// docs:start:keccak256\npub fn keccak256<N>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<N>(_input: [u8; N], _state_length: u32) -> [u8; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n","path":"std/hash.nr"},"40":{"source":"use crate::ops::{Add, Sub, Mul, Div, Rem, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\n\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 {\n lo: lo as Field,\n hi: hi as Field,\n }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo,hi)\n }\n\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 {\n lo,\n hi,\n }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0;16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0;16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<N>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1; \n if N <= 18 {\n for i in 0..N-2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N-1 { \n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 {\n lo: lo as Field,\n hi: hi as Field,\n }\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n if ascii < 58 {\n ascii - 48\n } else {\n if ascii < 71 {\n ascii - 55\n } else {\n ascii - 87\n }\n \n } as Field\n }\n\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if self < b {\n (U128::from_u64s_le(0, 0), self)\n } else {\n //TODO check if this can overflow?\n let (q,r) = self.unconstrained_div(b * U128::from_u64s_le(2,0));\n let q_mul_2 = q * U128::from_u64s_le(2,0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::from_u64s_le(1,0), r - b)\n }\n\n } \n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f-lo) / pow64;\n U128 {\n lo,\n hi,\n }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo+self.hi*pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64))as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: U128) -> U128 { \n assert(other < U128::from_u64s_le(128,0), \"attempt to shift left with overflow\");\n let exp_bits = other.lo.to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: U128) -> U128 { \n assert(other < U128::from_u64s_le(128,0), \"attempt to shift right with overflow\");\n let exp_bits = other.lo.to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\n } \n}\n","path":"std/uint128.nr"},"43":{"source":"global ARGS_LENGTH: Field = 16;\nglobal RETURN_VALUES_LENGTH: Field = 4;\n\n/**\n * Convention for constant array lengths are mainly divided in 2 classes:\n * - FUNCTION CALL\n * - TRANSACTION\n *\n * Agreed convention is to use MAX_XXX_PER_CALL resp. MAX_XXX_PER_TX, where XXX denotes a type of element such as\n * commitment, or nullifier, e.g.,:\n * - MAX_NEW_NULLIFIERS_PER_CALL\n * - MAX_NEW_COMMITMENTS_PER_TX\n *\n * In the kernel circuits, we accumulate elements such as commitments and the nullifiers from all functions calls in a\n * transaction. Therefore, we always must have:\n * MAX_XXX_PER_TX ≥ MAX_XXX_PER_CALL\n *\n * For instance:\n * MAX_NEW_COMMITMENTS_PER_TX ≥ MAX_NEW_COMMITMENTS_PER_CALL\n * MAX_NEW_NULLIFIERS_PER_TX ≥ MAX_NEW_NULLIFIERS_PER_CALL\n *\n */\n\n// docs:start:constants\n// \"PER CALL\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_CALL: Field = 16;\nglobal MAX_NEW_NULLIFIERS_PER_CALL: Field = 16;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_CALL: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_CALL: Field = 16;\nglobal MAX_READ_REQUESTS_PER_CALL: Field = 32;\nglobal MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL: Field = 1;\n\n// \"PER TRANSACTION\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_TX: Field = 64;\nglobal MAX_NEW_NULLIFIERS_PER_TX: Field = 64;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_TX: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_TX: Field = 16;\nglobal MAX_NEW_CONTRACTS_PER_TX: Field = 1;\nglobal MAX_READ_REQUESTS_PER_TX: Field = 128;\nglobal MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_TX: Field = 4;\nglobal NUM_ENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\nglobal NUM_UNENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\n\nglobal MAX_NEW_COMMITMENTS_PER_TX_META: Field = 8;\nglobal MAX_NEW_NULLIFIERS_PER_TX_META: Field = 8;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX_META: Field = 2;\n// docs:end:constants\n\n// ROLLUP CONTRACT CONSTANTS - constants used only in l1-contracts\nglobal NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP: Field = 16;\n\n// TREES RELATED CONSTANTS\nglobal VK_TREE_HEIGHT: Field = 3;\nglobal FUNCTION_TREE_HEIGHT: Field = 5;\nglobal CONTRACT_TREE_HEIGHT: Field = 16;\nglobal NOTE_HASH_TREE_HEIGHT: Field = 32;\nglobal PUBLIC_DATA_TREE_HEIGHT: Field = 40;\nglobal NULLIFIER_TREE_HEIGHT: Field = 20;\nglobal L1_TO_L2_MSG_TREE_HEIGHT: Field = 16;\nglobal ROLLUP_VK_TREE_HEIGHT: Field = 8;\nglobal ARTIFACT_FUNCTION_TREE_MAX_HEIGHT = 5;\n\n// SUB-TREES RELATED CONSTANTS\nglobal CONTRACT_SUBTREE_HEIGHT: Field = 0;\nglobal CONTRACT_SUBTREE_SIBLING_PATH_LENGTH: Field = 16;\nglobal NOTE_HASH_SUBTREE_HEIGHT: Field = 6;\nglobal NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH: Field = 26;\nglobal NULLIFIER_SUBTREE_HEIGHT: Field = 6;\nglobal PUBLIC_DATA_SUBTREE_HEIGHT: Field = 4;\nglobal ARCHIVE_HEIGHT: Field = 16;\nglobal NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH: Field = 14;\nglobal PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH: Field = 36;\nglobal L1_TO_L2_MSG_SUBTREE_HEIGHT: Field = 4;\nglobal L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH: Field = 12;\n\n// MISC CONSTANTS\nglobal FUNCTION_SELECTOR_NUM_BYTES: Field = 4;\nglobal MAPPING_SLOT_PEDERSEN_SEPARATOR: Field = 4;\n// sha256 hash is stored in two fields to accommodate all 256-bits of the hash\nglobal NUM_FIELDS_PER_SHA256: Field = 2;\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 32;\n\n// CONTRACT CLASS CONSTANTS\n// This should be around 8192 (assuming 2**15 instructions packed at 8 bytes each),\n// but it's reduced to speed up build times, otherwise the ClassRegisterer takes over 5 mins to compile.\n// We are not using 1024 so we can squeeze in a few more args to methods that consume packed public bytecode,\n// such as the ClassRegisterer.register, and still land below the 32 * 32 max args limit for hashing.\nglobal MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS: Field = 1000;\n// Bytecode size for private functions is per function, not for the entire contract.\n// Note that private functions bytecode includes a mix of acir and brillig.\nglobal MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS: Field = 500;\n// Same for unconstrained functions: the size is per function.\nglobal MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS: Field = 500;\n// Since we are not yet emitting selectors we'll use this magic value to identify events emitted by the ClassRegisterer.\n// This is just a stopgap until we implement proper selectors.\n// sha224sum 'struct ContractClassRegistered {contract_class_id: ContractClassId, version: Field, artifact_hash: Field, private_functions_root: Field, packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] }'\nglobal REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE = 0x6999d1e02b08a447a463563453cb36919c9dd7150336fc7c4d2b52f8;\n// sha224sum 'struct ClassPrivateFunctionBroadcasted'\nglobal REGISTERER_PRIVATE_FUNCTION_BROADCASTED_MAGIC_VALUE = 0x1b70e95fde0b70adc30496b90a327af6a5e383e028e7a43211a07bcd;\n// sha224sum 'struct ClassUnconstrainedFunctionBroadcasted'\nglobal REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_MAGIC_VALUE = 0xe7af816635466f128568edb04c9fa024f6c87fb9010fdbffa68b3d99;\n\n// CONTRACT INSTANCE CONSTANTS\n// sha224sum 'struct ContractInstanceDeployed'\nglobal DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_MAGIC_VALUE = 0x85864497636cf755ae7bde03f267ce01a520981c21c3682aaf82a631;\n\n// NOIR CONSTANTS - constants used only in yarn-packages/noir-contracts\n// Some are defined here because Noir doesn't yet support globals referencing other globals yet.\n// Move these constants to a noir file once the issue below is resolved:\n// https://github.com/noir-lang/noir/issues/1734\nglobal L1_TO_L2_MESSAGE_LENGTH: Field = 8;\nglobal L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH: Field = 25;\nglobal MAX_NOTE_FIELDS_LENGTH: Field = 20;\n// GET_NOTE_ORACLE_RETURN_LENGT = MAX_NOTE_FIELDS_LENGTH + 1 + 2\n// The plus 1 is 1 extra field for nonce.\n// + 2 for EXTRA_DATA: [number_of_return_notes, contract_address]\nglobal GET_NOTE_ORACLE_RETURN_LENGTH: Field = 23;\nglobal MAX_NOTES_PER_PAGE: Field = 10;\n// VIEW_NOTE_ORACLE_RETURN_LENGTH = MAX_NOTES_PER_PAGE * (MAX_NOTE_FIELDS_LENGTH + 1) + 2;\nglobal VIEW_NOTE_ORACLE_RETURN_LENGTH: Field = 212;\nglobal CALL_CONTEXT_LENGTH: Field = 8;\nglobal GLOBAL_VARIABLES_LENGTH: Field = 6;\nglobal PARTIAL_STATE_REFERENCE_LENGTH: Field = 8;\nglobal STATE_REFERENCE_LENGTH: Field = 10; // 2 for snap + 8 for partial\nglobal HEADER_LENGTH: Field = 20; // 2 for last_archive, 2 for body hash, 10 for state reference, 6 for global vars\nglobal FUNCTION_DATA_LENGTH: Field = 4;\nglobal CONTRACT_DEPLOYMENT_DATA_LENGTH: Field = 6;\n// Change this ONLY if you have changed the PrivateCircuitPublicInputs structure.\n// In other words, if the structure/size of the public inputs of a function call changes then we should change this\n// constant as well PRIVATE_CALL_STACK_ITEM_LENGTH\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 207;\nglobal PRIVATE_CALL_STACK_ITEM_LENGTH: Field = 212;\nglobal CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH: Field = 2;\nglobal CONTRACT_STORAGE_READ_LENGTH: Field = 2;\n// Change this ONLY if you have changed the PublicCircuitPublicInputs structure.\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 187;\nglobal GET_NOTES_ORACLE_RETURN_LENGTH: Field = 674;\nglobal COMMITMENTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal PUBLIC_DATA_WRITES_NUM_BYTES_PER_BASE_ROLLUP: Field = 1024;\nglobal CONTRACTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 32;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED: Field = 52;\nglobal L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\n\n/**\n * Enumerate the hash_indices which are used for pedersen hashing.\n * We start from 1 to avoid the default generators. The generator indices are listed\n * based on the number of elements each index hashes. The following conditions must be met:\n *\n * +-----------+-------------------------------+----------------------+\n * | Hash size | Number of elements hashed (n) | Condition to use |\n * |-----------+-------------------------------+----------------------|\n * | LOW | n ≤ 8 | 0 < hash_index ≤ 32 |\n * | MID | 8 < n ≤ 16 | 32 < hash_index ≤ 40 |\n * | HIGH | 16 < n ≤ 48 | 40 < hash_index ≤ 48 |\n * +-----------+-------------------------------+----------------------+\n *\n * Note: When modifying, modify `GeneratorIndexPacker` in packer.hpp accordingly.\n */\n// Indices with size ≤ 8\nglobal GENERATOR_INDEX__COMMITMENT = 1;\nglobal GENERATOR_INDEX__COMMITMENT_NONCE = 2;\nglobal GENERATOR_INDEX__UNIQUE_COMMITMENT = 3;\nglobal GENERATOR_INDEX__SILOED_COMMITMENT = 4;\nglobal GENERATOR_INDEX__NULLIFIER = 5;\nglobal GENERATOR_INDEX__INITIALIZATION_NULLIFIER = 6;\nglobal GENERATOR_INDEX__OUTER_NULLIFIER = 7;\nglobal GENERATOR_INDEX__PUBLIC_DATA_READ = 8;\nglobal GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST = 9;\nglobal GENERATOR_INDEX__FUNCTION_DATA = 10;\nglobal GENERATOR_INDEX__FUNCTION_LEAF = 11;\nglobal GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA = 12;\nglobal GENERATOR_INDEX__CONSTRUCTOR = 13;\nglobal GENERATOR_INDEX__CONSTRUCTOR_ARGS = 14;\nglobal GENERATOR_INDEX__CONTRACT_ADDRESS = 15;\nglobal GENERATOR_INDEX__CONTRACT_LEAF = 16;\nglobal GENERATOR_INDEX__CALL_CONTEXT = 17;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM = 18;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM_2 = 19;\nglobal GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET = 20;\nglobal GENERATOR_INDEX__L2_TO_L1_MSG = 21;\nglobal GENERATOR_INDEX__TX_CONTEXT = 22;\nglobal GENERATOR_INDEX__PUBLIC_LEAF_INDEX = 23;\nglobal GENERATOR_INDEX__PUBLIC_DATA_LEAF = 24;\nglobal GENERATOR_INDEX__SIGNED_TX_REQUEST = 25;\nglobal GENERATOR_INDEX__GLOBAL_VARIABLES = 26;\nglobal GENERATOR_INDEX__PARTIAL_ADDRESS = 27;\nglobal GENERATOR_INDEX__BLOCK_HASH = 28;\nglobal GENERATOR_INDEX__SIDE_EFFECT = 29;\nglobal GENERATOR_INDEX__FEE_PAYLOAD = 30;\n// Indices with size ≤ 16\nglobal GENERATOR_INDEX__TX_REQUEST = 33;\nglobal GENERATOR_INDEX__SIGNATURE_PAYLOAD = 34;\n// Indices with size ≤ 44\nglobal GENERATOR_INDEX__VK = 41;\nglobal GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS = 42;\nglobal GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS = 43;\nglobal GENERATOR_INDEX__FUNCTION_ARGS = 44;\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/constants.nr"},"44":{"source":"use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Hash, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n contract_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.contract_tree.eq(other.contract_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_contract_tree = self.contract_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0],\n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_contract_tree[0],\n serialized_contract_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n contract_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[6], serialized[7]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n contract_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial: PartialStateReference = dep::std::unsafe::zeroed();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/partial_state_reference.nr"},"45":{"source":"use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::{arr_copy_slice}\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new(0);\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state: StateReference = dep::std::unsafe::zeroed();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/state_reference.nr"},"48":{"source":"use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, NUM_FIELDS_PER_SHA256, STATE_REFERENCE_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::{arr_copy_slice}\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n body_hash: [Field; NUM_FIELDS_PER_SHA256],\n state: StateReference,\n global_variables: GlobalVariables,\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n (self.body_hash == other.body_hash) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new(0);\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.body_hash);\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let body_hash = arr_copy_slice(serialized, [0; NUM_FIELDS_PER_SHA256], offset);\n offset = offset + NUM_FIELDS_PER_SHA256;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n body_hash,\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n body_hash: [0; NUM_FIELDS_PER_SHA256],\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header: Header = dep::std::unsafe::zeroed();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header: Header = dep::std::unsafe::zeroed();\n let _hashed = header.hash();\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/header.nr"},"49":{"source":"use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::function_leaf_preimage::{ContractClassFunctionLeafPreimage, FunctionLeafPreimage};\nuse crate::contract_class::ContractClassId;\nuse crate::abis::new_contract_data::NewContractData as ContractLeafPreimage;\nuse crate::abis::function_data::FunctionData;\nuse crate::abis::side_effect::{SideEffect};\nuse crate::utils::uint256::U256;\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT, ARGS_HASH_CHUNK_LENGTH, CONTRACT_TREE_HEIGHT, FUNCTION_TREE_HEIGHT,\n NOTE_HASH_TREE_HEIGHT, NUM_FIELDS_PER_SHA256, GENERATOR_INDEX__SILOED_COMMITMENT,\n GENERATOR_INDEX__OUTER_NULLIFIER, GENERATOR_INDEX__VK, GENERATOR_INDEX__CONSTRUCTOR,\n GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__COMMITMENT_NONCE, GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__FUNCTION_ARGS\n};\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn hash_args<N>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n// Checks that `value` is a member of a merkle tree with root `root` at position `index`\n// The witness being the `sibling_path`\npub fn assert_check_membership<N>(value: Field, index: Field, sibling_path: [Field; N], root: Field) {\n let calculated_root = root_from_sibling_path(value, index, sibling_path);\n assert(calculated_root == root, \"membership check failed\");\n}\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<N>(leaf: Field, leaf_index: Field, sibling_path: [Field; N]) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\n// Calculate the function tree root from the sibling path and leaf preimage.\n//\n// TODO: The cpp code passes in components of the FunctionLeafPreimage and then \n// builds it up. We should build it up and then pass the leaf preimage as a parameter.\n// We can then choose to have a general method that takes in anything hashable\n// and deduplicate the logic in `contract_tree_root_from_siblings`\npub fn function_tree_root_from_siblings(\n selector: FunctionSelector,\n is_internal: bool,\n is_private: bool,\n vk_hash: Field,\n acir_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = FunctionLeafPreimage { selector, is_internal, is_private, vk_hash, acir_hash };\n\n let function_leaf = function_leaf_preimage.hash();\n\n let function_tree_root = root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path);\n\n function_tree_root\n}\n\n// Calculate the contract tree root from the sibling path and leaf preimage.\npub fn contract_tree_root_from_siblings(\n contract_class_id: ContractClassId,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n contract_leaf_index: Field,\n contract_leaf_sibling_path: [Field; CONTRACT_TREE_HEIGHT]\n) -> Field {\n //TODO(Kev): if we use shorthand syntax here, we get an error as expected,\n // since variable name is `storage_contract_address` but the span is incorrect.\n let contract_leaf_preimage = ContractLeafPreimage { contract_address: storage_contract_address, portal_contract_address, contract_class_id };\n\n let contract_leaf = contract_leaf_preimage.hash();\n\n let computed_contract_tree_root = root_from_sibling_path(contract_leaf, contract_leaf_index, contract_leaf_sibling_path);\n\n computed_contract_tree_root\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 read_request_root_from_siblings(\n read_request: Field,\n leaf_index: Field,\n sibling_path: [Field; NOTE_HASH_TREE_HEIGHT]\n) -> Field {\n root_from_sibling_path(read_request, leaf_index, sibling_path)\n}\n\npub fn silo_commitment(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_COMMITMENT\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\nfn 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\n// TODO CPP uses blake2s for this\npub fn compute_new_contract_address_hash(new_contract_address: AztecAddress) -> Field {\n dep::std::hash::pedersen_hash([new_contract_address.to_field()])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n portal_contract_address: EthAddress,\n chain_id: Field,\n content: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new(0);\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, portal_contract_address.to_field(), chain_id, 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\npub fn compute_constructor_hash(\n function_data: FunctionData,\n args_hash: Field,\n constructor_vk_hash: Field\n) -> Field {\n let function_data_hash = function_data.hash();\n\n pedersen_hash(\n [\n function_data_hash,\n args_hash,\n constructor_vk_hash\n ],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n\n// Computes sha256 hash of 2 input hashes stored in 4 fields.\n// \n// This method is bn254 specific. Two fields is needed in order to \n// encode the sha256 output. It can be abstracted away with any 4-2 hash function.\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//\n// Returning a Field would be desirable because then this can be replaced with \n// poseidon without changing the rest of the code\n//\npub fn accumulate_sha256(input: [U128; 4]) -> [Field; NUM_FIELDS_PER_SHA256] {\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 // Concatenate 4 u128 bit integers into a byte array.\n let mut hash_input_flattened = [0; 64];\n for offset in 0..4 {\n let input_as_bytes = input[offset].to_be_bytes();\n for byte_index in 0..16 {\n hash_input_flattened[offset * 16 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n let sha_digest = dep::std::hash::sha256(hash_input_flattened);\n\n U256::from_bytes32(sha_digest).to_u128_limbs()\n}\n\npub fn compute_logs_hash(\n previous_log_hash: [Field; 2],\n current_log_hash: [Field; 2]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n accumulate_sha256(\n [\n U128::from_integer(previous_log_hash[0]),\n U128::from_integer(previous_log_hash[1]),\n U128::from_integer(current_log_hash[0]),\n U128::from_integer(current_log_hash[1])\n ]\n )\n}\n\npub fn compute_commitment_nonce(first_nullifier: Field, commitment_index: Field) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index\n ],\n GENERATOR_INDEX__COMMITMENT_NONCE\n )\n}\n\npub fn compute_unique_siloed_commitment(nonce: Field, siloed_commitment: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_commitment\n ],\n GENERATOR_INDEX__UNIQUE_COMMITMENT\n )\n}\n\npub fn compute_unique_siloed_commitments<N>(\n first_nullifier: Field,\n siloed_commitments: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_commitments = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_commitment = siloed_commitments[i];\n if siloed_commitment.value != 0 {\n let nonce = compute_commitment_nonce(first_nullifier, i);\n unique_siloed_commitments[i] = SideEffect {\n value: compute_unique_siloed_commitment(nonce, siloed_commitment.value),\n counter: siloed_commitment.counter\n };\n }\n }\n unique_siloed_commitments\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","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/hash.nr"},"65":{"source":"use dep::std::{cmp::Eq, grumpkin_scalar::GrumpkinScalar, grumpkin_scalar_mul::grumpkin_fixed_base};\nuse crate::grumpkin_point::GrumpkinPoint;\n\nglobal GRUMPKIN_PRIVATE_KEY_SERIALIZED_LEN: Field = 2;\n\nstruct GrumpkinPrivateKey {\n high: Field,\n low: Field,\n}\n\nimpl Eq for GrumpkinPrivateKey {\n fn eq(self, key: GrumpkinPrivateKey) -> bool {\n (key.high == self.high) & (key.low == self.low)\n }\n}\n\nimpl GrumpkinPrivateKey {\n pub fn new(high: Field, low: Field) -> Self {\n GrumpkinPrivateKey { high, low }\n }\n\n pub fn zero() -> Self {\n Self { high: 0, low: 0 }\n }\n\n pub fn is_zero(self) -> bool {\n (self.high == 0) & (self.low == 0)\n }\n\n pub fn serialize(self) -> [Field; GRUMPKIN_PRIVATE_KEY_SERIALIZED_LEN] {\n [self.high, self.low]\n }\n\n pub fn derive_public_key(self) -> GrumpkinPoint {\n let public_key = grumpkin_fixed_base(GrumpkinScalar { high: self.high, low: self.low });\n GrumpkinPoint { x: public_key[0], y: public_key[1] }\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/grumpkin_private_key.nr"},"66":{"source":"use crate::{\n constants::{GENERATOR_INDEX__CONTRACT_ADDRESS, GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__CONSTRUCTOR},\n hash::pedersen_hash, contract_class::ContractClassId, utils, grumpkin_point::GrumpkinPoint\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, ToField, Serialize, Deserialize};\nuse crate::type_serialization::{ETH_ADDRESS_SERIALIZED_LEN, AZTEC_ADDRESS_SERIALIZED_LEN};\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 Serialize<AZTEC_ADDRESS_SERIALIZED_LEN> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_SERIALIZED_LEN] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_SERIALIZED_LEN> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_SERIALIZED_LEN]) -> Self {\n AztecAddress::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute_from_public_key(\n pub_key: GrumpkinPoint,\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n portal_contract_address: EthAddress\n ) -> AztecAddress {\n AztecAddress::compute(\n PublicKeysHash::compute(pub_key),\n PartialAddress::compute(\n contract_class_id,\n salt,\n initialization_hash,\n portal_contract_address\n )\n )\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_SERIALIZED_LEN> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_SERIALIZED_LEN] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_SERIALIZED_LEN> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_SERIALIZED_LEN]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\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 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 portal_contract_address: EthAddress\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, portal_contract_address)\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 assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n\n// Salted initialization hash. Used in the computation of a partial address.\nstruct SaltedInitializationHash {\n inner: Field\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, portal_contract_address: EthAddress) -> Self {\n SaltedInitializationHash::from_field(\n pedersen_hash(\n [\n salt,\n initialization_hash,\n portal_contract_address.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 assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\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 PublicKeysHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\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 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\npub fn compute_initialization_hash(selector: Field, args_hash: Field) -> Field {\n pedersen_hash(\n [\n selector,\n args_hash\n ],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/address.nr"},"75":{"source":"use crate::traits::{Serialize, Deserialize};\nuse dep::std::cmp::Eq;\n\nglobal GRUMPKIN_POINT_SERIALIZED_LEN: Field = 2;\n\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","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/grumpkin_point.nr"},"76":{"source":"use dep::std::cmp::Eq;\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 u16 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {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\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/traits.nr"},"79":{"source":"use dep::std::array;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, is_empty};\n\npub fn array_to_bounded_vec<T, N>(array: [T; N]) -> BoundedVec<T, N> where T: Empty + Eq {\n let mut len = 0;\n for elem in array {\n if !is_empty(elem) {\n len += 1;\n }\n }\n\n BoundedVec { storage: array, len, empty_value: T::empty() }\n}\n\n// Routine which validates that all zero values of an array form a contiguous region at the end, i.e.,\n// of the form: [*,*,*...,0,0,0,0] where any * is non-zero. Note that a full array of non-zero values is\n// valid.\npub fn validate_array<T, N>(array: [T; N]) where T: Empty + Eq {\n let array_length = array.len();\n\n let mut first_zero_pos = array_length;\n let mut last_non_zero_pos = 0;\n\n for i in 0..array_length {\n let is_empty = is_empty(array[i]);\n if !is_empty {\n last_non_zero_pos = i;\n } else if is_empty & (first_zero_pos == array_length) {\n first_zero_pos = i;\n }\n }\n assert((last_non_zero_pos as u64) <= (first_zero_pos as u64), \"invalid array\");\n}\n\n// Helper method to determine the number of non-zero/empty elements in a validated array (ie, validate_array(array) \n// should be true).\npub fn array_length<T, N>(array: [T; N]) -> Field where T: Empty + Eq {\n let mut length = 0;\n let mut end = false;\n for elem in array {\n end |= is_empty(elem);\n if !end {\n length += 1;\n }\n }\n length\n}\n\npub fn array_eq<T, N, S>(array: [T; N], expected: [T; S]) -> bool where T: Empty + Eq {\n let mut eq = array_length(array) == S;\n\n for i in 0..S {\n eq &= array[i].eq(expected[i]);\n }\n\n eq\n}\n\n#[test]\nfn smoke_validate_array() {\n let valid_array = [];\n validate_array(valid_array);\n\n let valid_array = [0];\n validate_array(valid_array);\n\n let valid_array = [1, 2, 3];\n validate_array(valid_array);\n\n let valid_array = [1, 2, 3, 0];\n validate_array(valid_array);\n\n let valid_array = [1, 2, 3, 0, 0];\n validate_array(valid_array);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid() {\n let invalid_array = [0, 1];\n validate_array(invalid_array);\n}\n\n#[test(should_fail_with = \"invalid array\")]\nfn smoke_validate_array_invalid_case2() {\n let invalid_array = [0, 0, 0, 0, 1];\n validate_array(invalid_array);\n}\n\n#[test]\nfn test_empty_array_length() {\n assert_eq(array_length([]), 0);\n assert_eq(array_length([0]), 0);\n assert_eq(array_length([0, 0, 0]), 0);\n}\n\n#[test]\nfn test_array_length() {\n assert_eq(array_length([123]), 1);\n assert_eq(array_length([123, 456]), 2);\n assert_eq(array_length([123, 456, 0]), 2);\n assert_eq(array_length([123, 0, 456]), 1);\n assert_eq(array_length([0, 123, 0, 456]), 0);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/utils/arrays.nr"},"81":{"source":"// This is a quick struct made to pack 32 bytes into 4 u64s\n// and then pack those into two u128s.\n//\n// Creating a u256 was made for convenience.\n//\n// This is needed because in the cpp code, we have accumulate_sha256\n// which returns 2 field elements, one for the high and low limb.\nstruct U256 {\n // This is in big-endian order, typically because\n // sha256 is usually in big endian order.\n // Note: this means that inner[0] has the most significant 64 bits.\n inner : [u64; 4]\n}\n\nimpl U256 {\n pub fn from_bytes32(bytes: [u8; 32]) -> U256 {\n // We use addition rather than a bitwise OR as the bitshifts ensure that none of the bytes overlap each other.\n let high_0 = ((bytes[0] as u64) << 56)\n + ((bytes[1] as u64) << 48)\n + ((bytes[2] as u64) << 40)\n + ((bytes[3] as u64) << 32)\n + ((bytes[4] as u64) << 24)\n + ((bytes[5] as u64) << 16)\n + ((bytes[6] as u64) << 8)\n + (bytes[7] as u64);\n\n let high_1 = ((bytes[8] as u64) << 56)\n + ((bytes[9] as u64) << 48)\n + ((bytes[10] as u64) << 40)\n + ((bytes[11] as u64) << 32)\n + ((bytes[12] as u64) << 24)\n + ((bytes[13] as u64) << 16)\n + ((bytes[14] as u64) << 8)\n + (bytes[15] as u64);\n\n let low_0 = ((bytes[16] as u64) << 56)\n + ((bytes[17] as u64) << 48)\n + ((bytes[18] as u64) << 40)\n + ((bytes[19] as u64) << 32)\n + ((bytes[20] as u64) << 24)\n + ((bytes[21] as u64) << 16)\n + ((bytes[22] as u64) << 8)\n + (bytes[23] as u64);\n\n let low_1 = ((bytes[24] as u64) << 56)\n + ((bytes[25] as u64) << 48)\n + ((bytes[26] as u64) << 40)\n + ((bytes[27] as u64) << 32)\n + ((bytes[28] as u64) << 24)\n + ((bytes[29] as u64) << 16)\n + ((bytes[30] as u64) << 8)\n + (bytes[31] as u64);\n\n U256 { inner: [high_0, high_1, low_0, low_1] }\n }\n\n // We cannot represent u128 in the type system\n // so we cannot return a u128 type.\n // \n // This as conversion assumes that Field can store 128 bits of information\n // or else the conversion is lossy.\n //\n // TODO: Add a test for this.\n pub fn to_u128_limbs(self) -> [Field; 2] {\n let two_pow_64 = 2.pow_32(64);\n\n let high = (self.inner[0] as Field) * two_pow_64 + self.inner[1] as Field;\n let low = (self.inner[2] as Field) * two_pow_64 + self.inner[3] as Field;\n\n [high, low]\n }\n}\n\n#[test]\nfn smoke_u256_from_bytes32_all_zeroes() {\n let input = [0; 32];\n let result = U256::from_bytes32(input);\n assert(result.inner[0] == 0);\n assert(result.inner[1] == 0);\n assert(result.inner[2] == 0);\n assert(result.inner[3] == 0);\n}\n\n#[test]\nfn smoke_u256_from_bytes32_one_zero_zero_zero() {\n // We want to output [1,0,0,0]\n let input = [\n 0, 0, 0, 0, 0, 0, 0, 1,\n 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0\n ];\n let result = U256::from_bytes32(input);\n\n assert(result.inner[0] == 1);\n assert(result.inner[1] == 0);\n assert(result.inner[2] == 0);\n assert(result.inner[3] == 0);\n}\n\n#[test]\nfn smoke_u256_from_bytes32_test() {\n /*\n input: [ 0xAA, 0xBB, 0xCC, 0xDD, \n 0xEE, 0xFF, 0x00, 0x11, \n 0x22, 0x33, 0x44, 0x55, \n 0x66, 0x77, 0x88, 0x99, \n 0x11, 0x22, 0x33, 0x44, \n 0x55, 0x66, 0x77, 0x88, \n 0x99, 0xAA, 0xBB, 0xCC, \n 0xDD, 0xEE, 0xFF, 0x00\n ]\n output: inner[0]: 0xAABBCCDDEEFF0011\n inner[1]: 0x2233445566778899\n inner[2]: 0x1122334455667788\n inner[3]: 0x99AABBCCDDEEFF00\n */\n let input : [u8;32] = [\n 0xAA, 0xBB, 0xCC, 0xDD,\n 0xEE, 0xFF, 0x00, 0x11,\n 0x22, 0x33, 0x44, 0x55,\n 0x66, 0x77, 0x88, 0x99,\n 0x11, 0x22, 0x33, 0x44,\n 0x55, 0x66, 0x77, 0x88,\n 0x99, 0xAA, 0xBB, 0xCC,\n 0xDD, 0xEE, 0xFF, 0x00\n ];\n let result = U256::from_bytes32(input);\n\n assert(result.inner[0] == 0xAABBCCDDEEFF0011);\n assert(result.inner[1] == 0x2233445566778899);\n assert(result.inner[2] == 0x1122334455667788);\n assert(result.inner[3] == 0x99AABBCCDDEEFF00);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/utils/uint256.nr"},"85":{"source":"use crate::constants::{GENERATOR_INDEX__SIDE_EFFECT};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Hash, Serialize, Deserialize};\n\ntrait Ordered {\n fn counter(self) -> u32;\n}\n\nstruct SideEffect{\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffect {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffect {\n fn eq(self, side_effect: SideEffect) -> bool {\n (self.value == side_effect.value)\n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffect {\n fn empty() -> Self {\n SideEffect {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffect {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize() , GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl Serialize<2> for SideEffect {\n fn serialize(self) -> [Field; 2] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<2> for SideEffect {\n fn deserialize(values: [Field; 2]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nstruct SideEffectLinkedToNoteHash{\n value: Field,\n note_hash: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffectLinkedToNoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffectLinkedToNoteHash {\n fn eq(self, side_effect: SideEffectLinkedToNoteHash) -> bool {\n (self.value == side_effect.value)\n & (self.note_hash == side_effect.note_hash) \n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffectLinkedToNoteHash {\n fn empty() -> Self {\n SideEffectLinkedToNoteHash {\n value: 0,\n note_hash: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffectLinkedToNoteHash {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl Serialize<3> for SideEffectLinkedToNoteHash {\n fn serialize(self) -> [Field; 3] {\n [self.value, self.note_hash, self.counter as Field]\n }\n}\n\nimpl Deserialize<3> for SideEffectLinkedToNoteHash {\n fn deserialize(values: [Field; 3]) -> Self {\n Self {\n value: values[0],\n note_hash: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/side_effect.nr"},"92":{"source":"use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new(0); \n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item: PrivateCallStackItem = dep::std::unsafe::zeroed();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item: PrivateCallStackItem = dep::std::unsafe::zeroed();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n assert_eq(hash, 0x2442dd521c59987a4291be0fd11198e5a4d87c8bc36cf3b65c5229f61fc37b30);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/private_call_stack_item.nr"},"93":{"source":"use dep::std::cmp::Eq;\nuse crate::{\n address::AztecAddress, traits::{Empty, Serialize, Deserialize}, grumpkin_point::GrumpkinPoint,\n grumpkin_private_key::GrumpkinPrivateKey\n};\n\nglobal NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN = 4;\nglobal NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN = 5;\n\nstruct NullifierKeyValidationRequest {\n public_key: GrumpkinPoint,\n secret_key: GrumpkinPrivateKey,\n}\n\nimpl Eq for NullifierKeyValidationRequest {\n fn eq(self, request: NullifierKeyValidationRequest) -> bool {\n (request.public_key.eq(self.public_key))\n & (request.secret_key.eq(self.secret_key))\n }\n}\n\nimpl Empty for NullifierKeyValidationRequest {\n fn empty() -> Self {\n NullifierKeyValidationRequest {\n public_key: GrumpkinPoint::zero(),\n secret_key: GrumpkinPrivateKey::zero(),\n }\n }\n}\n\nimpl Serialize<NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN> for NullifierKeyValidationRequest {\n fn serialize(self) -> [Field; NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN] {\n [\n self.public_key.x,\n self.public_key.y,\n self.secret_key.high,\n self.secret_key.low,\n ]\n }\n}\n\nimpl Deserialize<NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN> for NullifierKeyValidationRequest {\n fn deserialize(fields: [Field; NULLIFIER_KEY_VALIDATION_REQUEST_SERIALIZED_LEN]) -> Self {\n Self {\n public_key: GrumpkinPoint::new(fields[0], fields[1]),\n secret_key: GrumpkinPrivateKey::new(fields[2], fields[3]),\n }\n }\n}\n\nimpl NullifierKeyValidationRequest {\n pub fn to_context(self, contract_address: AztecAddress) -> NullifierKeyValidationRequestContext {\n NullifierKeyValidationRequestContext { public_key: self.public_key, secret_key: self.secret_key, contract_address }\n }\n}\n\nstruct NullifierKeyValidationRequestContext {\n public_key: GrumpkinPoint,\n secret_key: GrumpkinPrivateKey,\n contract_address: AztecAddress,\n}\n\nimpl Eq for NullifierKeyValidationRequestContext {\n fn eq(self, request: NullifierKeyValidationRequestContext) -> bool {\n (request.public_key.eq(self.public_key))\n & (request.secret_key.eq(self.secret_key))\n & (request.contract_address.eq(self.contract_address))\n }\n}\n\nimpl Empty for NullifierKeyValidationRequestContext {\n fn empty() -> Self {\n NullifierKeyValidationRequestContext {\n public_key: GrumpkinPoint::zero(),\n secret_key: GrumpkinPrivateKey::zero(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN> for NullifierKeyValidationRequestContext {\n fn serialize(self) -> [Field; NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN] {\n [\n self.public_key.x,\n self.public_key.y,\n self.secret_key.high,\n self.secret_key.low,\n self.contract_address.to_field(),\n ]\n }\n}\n\nimpl Deserialize<NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN> for NullifierKeyValidationRequestContext {\n fn deserialize(fields: [Field; NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_SERIALIZED_LEN]) -> Self {\n Self {\n public_key: GrumpkinPoint::new(fields[0], fields[1]),\n secret_key: GrumpkinPrivateKey::new(fields[2], fields[3]),\n contract_address: AztecAddress::from_field(fields[4]),\n }\n }\n}\n\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/nullifier_key_validation_request.nr"},"94":{"source":"use crate::{\n abis::{\n call_context::CallContext, nullifier_key_validation_request::NullifierKeyValidationRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n constants::{\n MAX_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS\n},\n contrakt::deployment_data::ContractDeploymentData, header::Header, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize}, utils::reader::Reader\n};\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n max_non_revertible_side_effect_counter: u32,\n\n read_requests: [SideEffect; MAX_READ_REQUESTS_PER_CALL],\n nullifier_key_validation_requests: [NullifierKeyValidationRequest; MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter : u32,\n\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n contract_deployment_data: ContractDeploymentData,\n\n // Note: The following 2 values are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n chain_id: Field,\n version: Field,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.return_values == other.return_values) &\n (self.read_requests == other.read_requests) &\n (self.nullifier_key_validation_requests == other.nullifier_key_validation_requests) &\n (self.new_commitments == other.new_commitments) &\n (self.new_nullifiers == other.new_nullifiers) &\n (self.private_call_stack_hashes == other.private_call_stack_hashes) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.new_l2_to_l1_msgs == other.new_l2_to_l1_msgs) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.encrypted_logs_hash == other.encrypted_logs_hash) &\n (self.unencrypted_logs_hash == other.unencrypted_logs_hash) &\n (self.encrypted_log_preimages_length == other.encrypted_log_preimages_length) &\n (self.unencrypted_log_preimages_length == other.unencrypted_log_preimages_length) &\n self.historical_header.eq(other.historical_header) &\n self.contract_deployment_data.eq(other.contract_deployment_data) &\n self.chain_id.eq(other.chain_id) &\n self.version.eq(other.version)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0);\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.extend_from_array(self.return_values);\n\n fields.push(self.max_non_revertible_side_effect_counter as Field);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.extend_from_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL{\n fields.extend_from_array(self.nullifier_key_validation_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.extend_from_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n fields.extend_from_array(self.private_call_stack_hashes);\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.extend_from_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter as Field);\n fields.extend_from_array(self.encrypted_logs_hash);\n fields.extend_from_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n return_values: reader.read_array([0; RETURN_VALUES_LENGTH]),\n max_non_revertible_side_effect_counter: reader.read() as u32,\n read_requests: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_READ_REQUESTS_PER_CALL]),\n nullifier_key_validation_requests: reader.read_struct_array(NullifierKeyValidationRequest::deserialize, [NullifierKeyValidationRequest::empty(); MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_commitments: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL]),\n new_nullifiers: reader.read_struct_array(SideEffectLinkedToNoteHash::deserialize, [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_stack_hashes: reader.read_array([0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_array([0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n end_side_effect_counter: reader.read() as u32,\n encrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n unencrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n encrypted_log_preimages_length: reader.read(),\n unencrypted_log_preimages_length: reader.read(),\n historical_header: reader.read_struct(Header::deserialize),\n contract_deployment_data: reader.read_struct(ContractDeploymentData::deserialize),\n chain_id: reader.read(),\n version: reader.read(),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let hash = inputs.hash();\n\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n assert_eq(hash, 0x1304e6c42e3c53fc7c918cbf1ea70333b4f214726c0784cf9878cd641967dab1);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/private_circuit_public_inputs.nr"},"96":{"source":"use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize}\n};\n\nstruct FunctionData {\n // First four bytes of the abi encoding \n // of a function. \n selector : FunctionSelector,\n is_internal : bool,\n is_private : bool,\n is_constructor : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n self.is_internal == other.is_internal &\n self.is_private == other.is_private &\n self.is_constructor == other.is_constructor\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_internal: serialized[1] as bool,\n is_private: serialized[2] as bool,\n is_constructor: serialized[3] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let data: FunctionData = dep::std::unsafe::zeroed();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data: FunctionData = dep::std::unsafe::zeroed();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty item hash\" test\n assert_eq(hash, 0x200569267c0f73ac89aaa414239398db9445dd4ad3a8cf37015cd55b8d4c5e8d);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/function_data.nr"},"97":{"source":"use dep::std::cmp::Eq;\n\nstruct AppendOnlyTreeSnapshot {\n root : Field,\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: Field = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/append_only_tree_snapshot.nr"},"100":{"source":"use crate::address::AztecAddress;\nuse dep::std::cmp::Eq;\nuse crate::traits::Empty;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, caller_context: CallerContext) -> bool {\n caller_context.msg_sender.eq(self.msg_sender)\n & caller_context.storage_contract_address.eq(self.storage_contract_address)\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nstruct CallRequest {\n hash: Field,\n caller_contract_address: AztecAddress,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Eq for CallRequest {\n fn eq(self, call_request: CallRequest) -> bool {\n (call_request.hash == self.hash)\n & (call_request.caller_contract_address.eq(self.caller_contract_address))\n & (call_request.caller_context.eq(self.caller_context))\n & (call_request.start_side_effect_counter == self.start_side_effect_counter)\n & (call_request.end_side_effect_counter == self.end_side_effect_counter)\n }\n}\n\nimpl Empty for CallRequest {\n fn empty() -> Self {\n CallRequest {\n hash: 0,\n caller_contract_address: AztecAddress::zero(),\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl CallRequest {\n pub fn is_empty(self) -> bool {\n self.hash == 0\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/call_request.nr"},"101":{"source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize}\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n portal_contract_address : EthAddress,\n\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment : bool,\n\n start_side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl CallContext {\n fn assert_is_zero(self) {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n assert(self.msg_sender.to_field() == 0);\n assert(self.storage_contract_address.to_field() == 0);\n assert(self.portal_contract_address.to_field() == 0);\n assert(self.function_selector.to_field() == 0);\n assert(self.is_delegate_call == false);\n assert(self.is_static_call == false);\n assert(self.is_contract_deployment == false);\n assert(self.start_side_effect_counter == 0);\n }\n}\n\nimpl Eq for CallContext {\n fn eq(self, call_context: CallContext) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n call_context.msg_sender.eq(self.msg_sender)\n & call_context.storage_contract_address.eq(self.storage_contract_address)\n & call_context.portal_contract_address.eq(self.portal_contract_address)\n & call_context.function_selector.eq(self.function_selector)\n & (call_context.is_delegate_call == self.is_delegate_call)\n & (call_context.is_static_call == self.is_static_call)\n & (call_context.is_contract_deployment == self.is_contract_deployment)\n & (call_context.start_side_effect_counter == self.start_side_effect_counter)\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender.to_field(),\n self.storage_contract_address.to_field(),\n self.portal_contract_address.to_field(),\n self.function_selector.to_field(),\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n self.start_side_effect_counter as Field,\n ]\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n CallContext {\n msg_sender: AztecAddress::from_field(serialized[0]),\n storage_contract_address: AztecAddress::from_field(serialized[1]),\n portal_contract_address: EthAddress::from_field(serialized[2]),\n function_selector: FunctionSelector::from_field(serialized[3]),\n is_delegate_call: serialized[4] as bool,\n is_static_call: serialized[5] as bool,\n is_contract_deployment: serialized[6] as bool,\n start_side_effect_counter: serialized[7] as u32,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context: CallContext = dep::std::unsafe::zeroed();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let context: CallContext = dep::std::unsafe::zeroed();\n let _hashed = context.hash();\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/call_context.nr"},"103":{"source":"use crate::abis::function_selector::FunctionSelector;\nuse crate::constants::GENERATOR_INDEX__FUNCTION_LEAF;\nuse crate::traits::Hash;\n\nstruct FunctionLeafPreimage {\n selector : FunctionSelector,\n is_internal : bool,\n is_private : bool,\n vk_hash : Field,\n acir_hash : Field\n}\n\nimpl Hash for FunctionLeafPreimage {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator([\n self.selector.to_field(),\n self.is_internal as Field,\n self.is_private as Field,\n self.vk_hash,\n self.acir_hash\n ], GENERATOR_INDEX__FUNCTION_LEAF)\n }\n}\n\nstruct ContractClassFunctionLeafPreimage {\n selector : FunctionSelector,\n vk_hash : Field,\n}\n\nimpl Hash for ContractClassFunctionLeafPreimage {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator([\n self.selector.to_field(),\n self.vk_hash,\n ], GENERATOR_INDEX__FUNCTION_LEAF)\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/function_leaf_preimage.nr"},"105":{"source":"use crate::abis::{\n combined_accumulated_data::{\n CombinedAccumulatedData, FinalAccumulatedData, AccumulatedNonRevertibleData,\n CombinedAccumulatedDataBuilder\n},\n combined_constant_data::CombinedConstantData\n};\nuse crate::mocked::AggregationObject;\n\nstruct PrivateKernelInnerCircuitPublicInputs {\n aggregation_object: AggregationObject,\n max_non_revertible_side_effect_counter: u32,\n end: CombinedAccumulatedData,\n constants: CombinedConstantData,\n is_private: bool,\n}\n\nstruct PrivateKernelTailCircuitPublicInputs {\n aggregation_object: AggregationObject,\n end_non_revertible: AccumulatedNonRevertibleData,\n end: FinalAccumulatedData,\n constants: CombinedConstantData,\n is_private: bool,\n}\n\nstruct PublicKernelCircuitPublicInputs {\n aggregation_object: AggregationObject,\n end_non_revertible: AccumulatedNonRevertibleData,\n end: CombinedAccumulatedData,\n constants: CombinedConstantData,\n is_private: bool,\n}\n\nstruct PrivateKernelCircuitPublicInputsBuilder {\n aggregation_object: AggregationObject,\n max_non_revertible_side_effect_counter: u32,\n end: CombinedAccumulatedDataBuilder,\n constants: CombinedConstantData,\n is_private: bool,\n}\n\nimpl PrivateKernelCircuitPublicInputsBuilder {\n pub fn to_inner(self) -> PrivateKernelInnerCircuitPublicInputs {\n PrivateKernelInnerCircuitPublicInputs {\n aggregation_object: self.aggregation_object,\n max_non_revertible_side_effect_counter: self.max_non_revertible_side_effect_counter,\n end: self.end.finish(),\n constants: self.constants,\n is_private: self.is_private\n }\n }\n\n pub fn to_tail(\n self,\n end_non_revertible: AccumulatedNonRevertibleData\n ) -> PrivateKernelTailCircuitPublicInputs {\n PrivateKernelTailCircuitPublicInputs {\n aggregation_object: self.aggregation_object,\n end_non_revertible,\n end: self.end.to_final(),\n constants: self.constants,\n is_private: self.is_private\n }\n }\n}\n\nstruct PublicKernelCircuitPublicInputsBuilder {\n aggregation_object: AggregationObject,\n end_non_revertible: AccumulatedNonRevertibleData,\n end: CombinedAccumulatedDataBuilder,\n constants: CombinedConstantData,\n is_private: bool,\n}\n\nimpl PublicKernelCircuitPublicInputsBuilder {\n pub fn to_inner(self) -> PublicKernelCircuitPublicInputs {\n PublicKernelCircuitPublicInputs {\n aggregation_object: self.aggregation_object,\n end_non_revertible: self.end_non_revertible,\n end: self.end.finish(),\n constants: self.constants,\n is_private: self.is_private\n }\n }\n}\n\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/kernel_circuit_public_inputs.nr"},"107":{"source":"use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize};\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 FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_field(value: Field) -> Self {\n Self { inner: value as u32 }\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/src/crates/types/src/abis/function_selector.nr"},"108":{"source":"use crate::address::{AztecAddress, EthAddress};\nuse crate::contract_class::ContractClassId;\nuse crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Hash};\n\nstruct NewContractData {\n contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n contract_class_id: ContractClassId,\n}\n\nimpl Eq for NewContractData {\n fn eq(self, data: NewContractData) -> bool {\n data.contract_address.eq(self.contract_address)\n & data.portal_contract_address.eq(self.portal_contract_address)\n & data.contract_class_id.eq(self.contract_class_id)\n }\n}\n\nimpl Empty for NewContractData {\n fn empty() -> Self {\n Self {\n contract_address : AztecAddress::empty(),\n portal_contract_address : EthAddress::empty(),\n contract_class_id: ContractClassId::from_field(0),\n }\n }\n}\n\nimpl Hash for NewContractData {\n fn hash(self) -> Field {\n if self.is_empty() {\n 0 // We want to return 0 here since the contract_address is zero\n } else {\n dep::std::hash::pedersen_hash_with_separator([\n self.contract_address.to_field(),\n self.portal_contract_address.to_field(),\n self.contract_class_id.to_field(),\n ], GENERATOR_INDEX__CONTRACT_LEAF)\n }\n }\n}\n\nimpl NewContractData {\n pub fn is_empty(self) -> bool {\n (self.contract_address.to_field() == 0)\n & (self.portal_contract_address.to_field() == 0)\n & (self.contract_class_id.to_field() == 0)\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/types/src/abis/new_contract_data.nr"},"110":{"source":"use crate::abis::{\n function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs\n};\nuse crate::address::AztecAddress;\nuse crate::constants::{GENERATOR_INDEX__CONTRACT_LEAF};\nuse crate::traits::Hash;\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = dep::std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n fn to_field(self) -> Field {\n self.inner as Field\n }\n\n pub fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[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/src/crates/types/src/contract_class.nr"},"111":{"source":"use crate::common;\nuse dep::std::unsafe;\nuse dep::types::{\n abis::{\n kernel_data::PrivateKernelInnerData, private_kernel::private_call_data::PrivateCallData,\n kernel_circuit_public_inputs::{PrivateKernelInnerCircuitPublicInputs, PrivateKernelCircuitPublicInputsBuilder},\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n mocked::verify_previous_kernel_state\n};\n\nstruct PrivateKernelInnerCircuitPrivateInputs {\n previous_kernel: PrivateKernelInnerData,\n private_call: PrivateCallData,\n}\n\nimpl PrivateKernelInnerCircuitPrivateInputs {\n fn pop_and_validate_this_private_call_hash(self, public_inputs: &mut PrivateKernelCircuitPublicInputsBuilder) {\n let call_request = public_inputs.end.private_call_stack.pop();\n common::validate_call_against_request(self.private_call, call_request);\n }\n\n fn validate_contract_tree_root(self) {\n let purported_contract_tree_root = self.private_call.call_stack_item.public_inputs.historical_header.state.partial.contract_tree.root;\n let previous_kernel_contract_tree_root = self.previous_kernel.public_inputs.constants.historical_header.state.partial.contract_tree.root;\n\n assert(\n purported_contract_tree_root == previous_kernel_contract_tree_root, \"purported_contract_tree_root does not match previous_kernel_contract_tree_root\"\n );\n }\n\n fn validate_inputs(self) {\n let this_call_stack_item = self.private_call.call_stack_item;\n let function_data = this_call_stack_item.function_data;\n assert(function_data.is_private, \"Private kernel circuit can only execute a private function\");\n assert(\n self.previous_kernel.public_inputs.is_private, \"Can only verify a private kernel snark in the private kernel circuit\"\n );\n }\n\n pub fn native_private_kernel_circuit_inner(self) -> PrivateKernelInnerCircuitPublicInputs {\n let mut public_inputs : PrivateKernelCircuitPublicInputsBuilder = unsafe::zeroed();\n public_inputs.is_private = true;\n\n common::validate_previous_kernel_values(self.previous_kernel.public_inputs.end);\n\n // Do this before any functions can modify the inputs.\n common::initialize_end_values(self.previous_kernel, &mut public_inputs);\n\n self.validate_inputs();\n\n common::validate_arrays(self.private_call.call_stack_item.public_inputs);\n\n self.pop_and_validate_this_private_call_hash(&mut public_inputs);\n\n common::validate_read_requests(\n public_inputs.constants.historical_header.state.partial.note_hash_tree.root,\n self.private_call.call_stack_item.public_inputs.read_requests, // read requests from private call\n self.private_call.read_request_membership_witnesses\n );\n\n //TODO(David): feels like update_end_values should happen later\n common::update_end_values(self.private_call, &mut public_inputs);\n\n // ensure that historical/purported contract tree root matches the one in previous kernel\n self.validate_contract_tree_root();\n\n let this_call_stack_item = self.private_call.call_stack_item;\n\n common::contract_logic(\n self.private_call,\n &mut public_inputs,\n this_call_stack_item.public_inputs.contract_deployment_data,\n this_call_stack_item.function_data\n );\n\n let (is_previous_state_valid, updated_aggregation_object) = verify_previous_kernel_state(public_inputs.aggregation_object, self.private_call.proof);\n assert(is_previous_state_valid);\n\n public_inputs.aggregation_object = updated_aggregation_object;\n\n public_inputs.to_inner()\n }\n}\n\nmod tests {\n use crate::private_kernel_inner::PrivateKernelInnerCircuitPrivateInputs;\n use dep::types::constants::{MAX_READ_REQUESTS_PER_CALL, MAX_NEW_COMMITMENTS_PER_TX};\n use dep::types::{\n abis::{\n kernel_circuit_public_inputs::PrivateKernelInnerCircuitPublicInputs,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n },\n tests::{kernel_data_builder::PreviousKernelDataBuilder, private_call_data_builder::PrivateCallDataBuilder},\n address::AztecAddress, hash::compute_logs_hash, utils::{arrays::array_length}\n };\n\n struct PrivateKernelInnerInputsBuilder {\n previous_kernel: PreviousKernelDataBuilder,\n private_call: PrivateCallDataBuilder,\n }\n\n impl PrivateKernelInnerInputsBuilder {\n pub fn new() -> Self {\n let previous_kernel = PreviousKernelDataBuilder::new();\n let private_call = PrivateCallDataBuilder::new(false);\n\n PrivateKernelInnerInputsBuilder { previous_kernel, private_call }\n }\n\n pub fn is_delegate_call(&mut self) -> Self {\n let _ = self.private_call.is_delegate_call();\n *self\n }\n\n pub fn is_static_call(&mut self) -> Self {\n let _ = self.private_call.is_static_call();\n *self\n }\n\n pub fn is_internal_call(&mut self) -> Self {\n let _ = self.private_call.is_internal_call();\n self.previous_kernel.contract_address = self.private_call.contract_address;\n *self\n }\n\n pub fn execute(&mut self) -> PrivateKernelInnerCircuitPublicInputs {\n let private_call = self.private_call.finish();\n // Update the previous_kernel's private_call_stack with the current call_stack_item.\n let hash = private_call.call_stack_item.hash();\n let is_delegate_call = private_call.call_stack_item.public_inputs.call_context.is_delegate_call;\n self.previous_kernel.push_private_call_request(hash, is_delegate_call);\n let previous_kernel = self.previous_kernel.to_private_kernel_inner_data();\n\n let kernel = PrivateKernelInnerCircuitPrivateInputs { previous_kernel, private_call };\n\n kernel.native_private_kernel_circuit_inner()\n }\n\n pub fn succeeded(&mut self) {\n let _ = self.execute();\n }\n\n pub fn failed(&mut self) {\n let _ = self.execute();\n }\n }\n\n #[test(should_fail_with = \"contract address cannot be zero\")]\n fn private_function_zero_storage_contract_address_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n // Set (storage) contract_address to 0\n builder.private_call.contract_address = AztecAddress::zero();\n builder.private_call.public_inputs.call_context.storage_contract_address = AztecAddress::zero();\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"purported_contract_tree_root does not match previous_kernel_contract_tree_root\")]\n fn private_function_incorrect_contract_tree_root_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n // Set historical contract tree root to a wrong value (the correct value + 1).\n let contract_tree_root = builder.previous_kernel.historical_header.state.partial.contract_tree.root;\n builder.previous_kernel.historical_header.state.partial.contract_tree.root = contract_tree_root + 1;\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"computed contract address does not match expected one\")]\n fn private_function_incorrect_function_leaf_index_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n // Set the leaf index of the function leaf to a wrong value (the correct value + 1).\n let leaf_index = builder.private_call.function_leaf_membership_witness.leaf_index;\n builder.private_call.function_leaf_membership_witness.leaf_index = leaf_index + 1;\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"computed contract address does not match expected one\")]\n fn private_function_incorrect_function_leaf_sibling_path_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n // Set the first value of the sibling path to a wrong value (the correct value + 1).\n let sibling_path_0 = builder.private_call.function_leaf_membership_witness.sibling_path[0];\n builder.private_call.function_leaf_membership_witness.sibling_path[0] = sibling_path_0 + 1;\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"computed contract address does not match expected one\")]\n fn private_function_incorrect_contract_class_preimage_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n builder.private_call.contract_class_artifact_hash = builder.private_call.contract_class_artifact_hash + 1;\n builder.failed();\n }\n\n #[test(should_fail_with=\"computed contract address does not match expected one\")]\n fn private_function_incorrect_partial_address_preimage_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n builder.private_call.salted_initialization_hash.inner = builder.private_call.salted_initialization_hash.inner + 1;\n builder.failed();\n }\n\n #[test(should_fail_with=\"computed contract address does not match expected one\")]\n fn private_function_incorrect_address_preimage_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n builder.private_call.public_keys_hash.inner = builder.private_call.public_keys_hash.inner + 1;\n builder.failed();\n }\n\n #[test(should_fail_with = \"calculated private_call_hash does not match provided private_call_hash at the top of the call stack\")]\n fn private_function_incorrect_call_stack_item_hash_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n let private_call = builder.private_call.finish();\n let hash = private_call.call_stack_item.hash();\n // Set the first call stack hash to a wrong value (the correct hash + 1).\n builder.previous_kernel.push_private_call_request(hash + 1, false);\n let previous_kernel = builder.previous_kernel.to_private_kernel_inner_data();\n\n let kernel = PrivateKernelInnerCircuitPrivateInputs { previous_kernel, private_call };\n\n let _ = kernel.native_private_kernel_circuit_inner();\n }\n\n #[test(should_fail_with=\"call stack msg_sender does not match caller contract address\")]\n fn incorrect_msg_sender_for_regular_calls_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n // Set the msg_sender to a wrong value.\n builder.private_call.public_inputs.call_context.msg_sender.inner += 1;\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"call stack storage address does not match expected contract address\")]\n fn incorrect_storage_contract_for_regular_calls_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n // Set the storage contract address to a wrong value.\n builder.private_call.public_inputs.call_context.storage_contract_address.inner += 1;\n\n builder.failed();\n }\n\n #[test]\n fn delegate_call_succeeds() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_delegate_call();\n builder.succeeded();\n }\n\n #[test(should_fail_with=\"caller context cannot be empty for delegate calls\")]\n fn empty_caller_context_for_delegate_calls_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_delegate_call();\n\n let private_call = builder.private_call.finish();\n let hash = private_call.call_stack_item.hash();\n // Caller context is empty for regular calls.\n let is_delegate_call = false;\n builder.previous_kernel.push_private_call_request(hash, is_delegate_call);\n let previous_kernel = builder.previous_kernel.to_private_kernel_inner_data();\n\n let kernel = PrivateKernelInnerCircuitPrivateInputs { previous_kernel, private_call };\n\n let _ = kernel.native_private_kernel_circuit_inner();\n }\n\n #[test(should_fail_with=\"call stack msg_sender does not match expected msg_sender for delegate calls\")]\n fn incorrect_msg_sender_for_delegate_calls_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_delegate_call();\n\n // Set the msg_sender to be the caller contract.\n builder.private_call.public_inputs.call_context.msg_sender = builder.previous_kernel.contract_address;\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"call stack storage address does not match expected contract address for delegate calls\")]\n fn incorrect_storage_address_for_delegate_calls_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_delegate_call();\n\n // Set the storage contract address to be the contract address.\n builder.private_call.public_inputs.call_context.storage_contract_address = builder.private_call.contract_address;\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"curent contract address must not match storage contract address for delegate calls\")]\n fn incorrect_storage_contract_for_delegate_calls_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_delegate_call();\n\n builder.private_call.contract_address = builder.private_call.public_inputs.call_context.storage_contract_address;\n\n builder.failed();\n }\n\n #[test]\n fn internal_call_succeeds() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_internal_call();\n builder.succeeded();\n }\n\n #[test(should_fail_with = \"call is internal but msg_sender is not self\")]\n fn private_function_incorrect_is_internal() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_internal_call();\n\n // Tweak the (storage) contract_address to be different to msg_sender.\n let msg_sender = builder.private_call.public_inputs.call_context.msg_sender.to_field();\n builder.private_call.contract_address = AztecAddress::from_field(msg_sender + 1);\n builder.private_call.public_inputs.call_context.storage_contract_address = AztecAddress::from_field(msg_sender + 1);\n\n builder.failed();\n }\n\n #[test]\n fn call_requests_succeeds() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_private_call_requests(2, false);\n builder.private_call.append_private_call_requests(1, true);\n builder.private_call.append_public_call_requests(1, false);\n builder.private_call.append_public_call_requests(2, true);\n\n builder.succeeded();\n }\n\n #[test(should_fail_with = \"call requests length does not match the expected length\")]\n fn incorrect_private_call_requests_length_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_private_call_requests(2, false);\n // Remove one call request.\n let _ = builder.private_call.private_call_stack.pop();\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"call requests length does not match the expected length\")]\n fn incorrect_public_call_requests_length_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_public_call_requests(2, false);\n // Remove one call request.\n let _ = builder.private_call.public_call_stack.pop();\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"call stack hash does not match call request hash\")]\n fn incorrect_private_call_request_hash_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_private_call_requests(2, false);\n let mut call_request = builder.private_call.private_call_stack.pop();\n // Change the hash to be a different value.\n call_request.hash += 1;\n builder.private_call.private_call_stack.push(call_request);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"call stack hash does not match call request hash\")]\n fn incorrect_public_call_request_hash_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_public_call_requests(2, false);\n let mut call_request = builder.private_call.public_call_stack.pop();\n // Change the hash to be a different value.\n call_request.hash += 1;\n builder.private_call.public_call_stack.push(call_request);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid caller\")]\n fn incorrect_caller_address_for_private_call_request_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_private_call_requests(1, false);\n let mut call_request = builder.private_call.private_call_stack.pop();\n // Change the caller contract address to be a different value.\n call_request.caller_contract_address.inner += 1;\n builder.private_call.private_call_stack.push(call_request);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid caller\")]\n fn incorrect_caller_address_for_public_call_request_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_public_call_requests(1, false);\n let mut call_request = builder.private_call.public_call_stack.pop();\n // Change the caller contract address to be a different value.\n call_request.caller_contract_address.inner += 1;\n builder.private_call.public_call_stack.push(call_request);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid caller\")]\n fn incorrect_caller_context_for_private_delegate_call_request_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_private_call_requests(1, true);\n let mut call_request = builder.private_call.private_call_stack.pop();\n // Change the storage contract to be a different value.\n call_request.caller_context.storage_contract_address.inner += 1;\n builder.private_call.private_call_stack.push(call_request);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid caller\")]\n fn incorrect_caller_context_for_public_delegate_call_request_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_public_call_requests(1, true);\n let mut call_request = builder.private_call.public_call_stack.pop();\n // Change the storage contract to be a different value.\n call_request.caller_context.storage_contract_address.inner += 1;\n builder.private_call.public_call_stack.push(call_request);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid array\")]\n fn input_validation_malformed_arrays_return_values() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.public_inputs.return_values.extend_from_array([0, 553]);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid array\")]\n fn input_validation_malformed_arrays_read_requests() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.public_inputs.read_requests.extend_from_array(\n [\n SideEffect { value: 0, counter: 0 },\n SideEffect { value: 9123, counter: 1 }\n ]\n );\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid array\")]\n fn input_validation_malformed_arrays_commitments() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.public_inputs.new_commitments.extend_from_array(\n [\n SideEffect { value: 0, counter: 0 },\n SideEffect { value: 9123, counter: 1 }\n ]\n );\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid array\")]\n fn input_validation_malformed_arrays_nullifiers() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.public_inputs.new_nullifiers.extend_from_array(\n [\n SideEffectLinkedToNoteHash { value: 0, note_hash: 0, counter: 0 },\n SideEffectLinkedToNoteHash { value: 12, note_hash: 0, counter: 1 }\n ]\n );\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid array\")]\n fn input_validation_malformed_arrays_private_call_stack() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.public_inputs.private_call_stack_hashes.extend_from_array([0, 888]);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid array\")]\n fn input_validation_malformed_arrays_public_call_stack() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.public_inputs.public_call_stack_hashes.extend_from_array([0, 888]);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"invalid array\")]\n fn input_validation_malformed_arrays_new_l2_to_l1_msgs() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.public_inputs.new_l2_to_l1_msgs.extend_from_array([0, 888]);\n\n builder.failed();\n }\n\n #[test(should_fail_with = \"extend_from_bounded_vec out of bounds\")]\n fn private_kernel_should_fail_if_aggregating_too_many_commitments() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n // The current call stack has 1 commitment;\n builder.private_call.public_inputs.new_commitments.push(SideEffect { value: 4321, counter: 0 });\n\n // Mock the previous new commitments to be full, therefore no more commitments can be added.\n let mut full_new_commitments = [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_TX];\n for i in 0..MAX_NEW_COMMITMENTS_PER_TX {\n full_new_commitments[i] = SideEffect {\n value: i + 1,\n counter: i as u32,\n };\n }\n builder.previous_kernel.end.new_commitments.extend_from_array(full_new_commitments);\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"Private kernel circuit can only execute a private function\")]\n fn private_function_is_private_false_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.function_data.is_private = false;\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"Can only verify a private kernel snark in the private kernel circuit\")]\n fn previous_kernel_is_private_false_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.previous_kernel.is_private = false;\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"note hash tree root mismatch\")]\n fn native_read_request_bad_request() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_read_requests(2);\n\n // tweak read_request so it gives wrong root when paired with its sibling path\n let read_request = builder.private_call.public_inputs.read_requests.pop();\n builder.private_call.public_inputs.read_requests.push(SideEffect { value: read_request.value + 1, counter: read_request.counter });\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"note hash tree root mismatch\")]\n fn native_read_request_bad_leaf_index() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_read_requests(2);\n\n // Tweak leaf index so it gives wrong root when paired with its request and sibling path.\n let mut read_request_membership_witness = builder.private_call.read_request_membership_witnesses.pop();\n read_request_membership_witness.leaf_index += 1;\n builder.private_call.read_request_membership_witnesses.push(read_request_membership_witness);\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"note hash tree root mismatch\")]\n fn native_read_request_bad_sibling_path() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_read_requests(2);\n\n // Tweak the sibling path of the second read so it gives wrong root when paired with its request.\n let mut read_request_membership_witness = builder.private_call.read_request_membership_witnesses.pop();\n read_request_membership_witness.sibling_path[1] += 1;\n builder.private_call.read_request_membership_witnesses.push(read_request_membership_witness);\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"note hash tree root mismatch\")]\n fn native_read_request_root_mismatch() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_read_requests(1);\n\n // Set the root to be a different root so the above read request is not under this root.\n let old_root = builder.previous_kernel.historical_header.state.partial.note_hash_tree.root;\n builder.previous_kernel.historical_header.state.partial.note_hash_tree.root = old_root + 1;\n\n builder.failed();\n }\n\n #[test]\n fn native_no_read_requests_works() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n assert_eq(builder.private_call.public_inputs.read_requests.len(), 0);\n\n let public_inputs = builder.execute();\n\n // non-transient read requests are NOT forwarded\n assert_eq(array_length(public_inputs.end.read_requests), 0);\n }\n\n #[test]\n fn native_one_read_requests_works() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_read_requests(1);\n\n let public_inputs = builder.execute();\n\n // non-transient read requests are NOT forwarded\n assert_eq(array_length(public_inputs.end.read_requests), 0);\n }\n\n #[test]\n fn native_two_read_requests_works() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_read_requests(2);\n\n let public_inputs = builder.execute();\n\n // non-transient read requests are NOT forwarded\n assert_eq(array_length(public_inputs.end.read_requests), 0);\n }\n\n #[test]\n fn native_max_read_requests_works() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_read_requests(MAX_READ_REQUESTS_PER_CALL);\n\n let public_inputs = builder.execute();\n\n // non-transient read requests are NOT forwarded\n assert_eq(array_length(public_inputs.end.read_requests), 0);\n }\n\n #[test]\n fn native_one_transient_read_requests_works() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_transient_read_requests(1);\n\n let public_inputs = builder.execute();\n\n // non-transient read requests are NOT forwarded\n assert_eq(array_length(public_inputs.end.read_requests), 1);\n }\n\n #[test]\n fn native_max_read_requests_one_transient_works() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_read_requests(1);\n builder.private_call.append_transient_read_requests(1);\n builder.private_call.append_read_requests(MAX_READ_REQUESTS_PER_CALL - 2);\n\n let public_inputs = builder.execute();\n\n // non-transient read requests are NOT forwarded\n assert_eq(array_length(public_inputs.end.read_requests), 1);\n }\n\n #[test]\n fn native_max_read_requests_all_transient_works() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.private_call.append_transient_read_requests(MAX_READ_REQUESTS_PER_CALL);\n\n let public_inputs = builder.execute();\n\n // non-transient read requests are NOT forwarded\n assert_eq(array_length(public_inputs.end.read_requests), MAX_READ_REQUESTS_PER_CALL);\n }\n\n #[test]\n fn native_logs_are_hashed_as_expected() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n // Logs for the current call stack.\n let encrypted_logs_hash = [16, 69];\n let encrypted_log_preimages_length = 100;\n let unencrypted_logs_hash = [26, 47];\n let unencrypted_log_preimages_length = 50;\n builder.private_call.set_encrypted_logs(encrypted_logs_hash, encrypted_log_preimages_length);\n builder.private_call.set_unencrypted_logs(unencrypted_logs_hash, unencrypted_log_preimages_length);\n\n // Logs for the previous call stack.\n let prev_encrypted_logs_hash = [80, 429];\n let prev_encrypted_log_preimages_length = 13;\n let prev_unencrypted_logs_hash = [956, 112];\n let prev_unencrypted_log_preimages_length = 24;\n builder.previous_kernel.set_encrypted_logs(prev_encrypted_logs_hash, prev_encrypted_log_preimages_length);\n builder.previous_kernel.set_unencrypted_logs(\n prev_unencrypted_logs_hash,\n prev_unencrypted_log_preimages_length\n );\n\n let public_inputs = builder.execute();\n\n assert_eq(\n public_inputs.end.encrypted_log_preimages_length, encrypted_log_preimages_length + prev_encrypted_log_preimages_length\n );\n assert_eq(\n public_inputs.end.unencrypted_log_preimages_length, unencrypted_log_preimages_length + prev_unencrypted_log_preimages_length\n );\n\n let expected_encrypted_logs_hash = compute_logs_hash(prev_encrypted_logs_hash, encrypted_logs_hash);\n assert_eq(public_inputs.end.encrypted_logs_hash, expected_encrypted_logs_hash);\n\n let expected_unencrypted_logs_hash = compute_logs_hash(prev_unencrypted_logs_hash, unencrypted_logs_hash);\n assert_eq(public_inputs.end.unencrypted_logs_hash, expected_unencrypted_logs_hash);\n }\n\n #[test(should_fail_with=\"new_commitments must be empty for static calls\")]\n fn creating_new_commitments_on_static_call_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_static_call();\n\n builder.private_call.public_inputs.new_commitments.push(SideEffect { value: 1, counter: 0 });\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"new_nullifiers must be empty for static calls\")]\n fn creating_new_nullifiers_on_static_call_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new().is_static_call();\n\n builder.private_call.public_inputs.new_nullifiers.push(SideEffectLinkedToNoteHash { value: 1, note_hash: 0, counter: 0 });\n\n builder.failed();\n }\n\n #[test(should_fail_with=\"The 0th nullifier in the accumulated nullifier array is zero\")]\n fn zero_0th_nullifier_fails() {\n let mut builder = PrivateKernelInnerInputsBuilder::new();\n\n builder.previous_kernel.end.new_nullifiers = BoundedVec::new(SideEffectLinkedToNoteHash::empty());\n\n builder.failed();\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/private-kernel-lib/src/private_kernel_inner.nr"},"114":{"source":"use dep::std;\nuse dep::types::{\n abis::{\n call_request::CallRequest, combined_accumulated_data::CombinedAccumulatedData,\n function_data::FunctionData, kernel_circuit_public_inputs::PrivateKernelCircuitPublicInputsBuilder,\n membership_witness::ReadRequestMembershipWitness, new_contract_data::NewContractData,\n nullifier_key_validation_request::NullifierKeyValidationRequestContext,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n private_kernel::private_call_data::PrivateCallData,\n kernel_data::{PrivateKernelInnerData, PrivateKernelTailData},\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n address::{AztecAddress, EthAddress, PartialAddress, compute_initialization_hash},\n contract_class::ContractClassId, contrakt::deployment_data::ContractDeploymentData,\n constants::{\n MAX_NEW_NULLIFIERS_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL\n},\n grumpkin_private_key::GrumpkinPrivateKey,\n hash::{\n compute_constructor_hash, compute_l2_to_l1_hash, compute_logs_hash,\n compute_new_contract_address_hash, contract_tree_root_from_siblings,\n function_tree_root_from_siblings, pedersen_hash, private_functions_root_from_siblings,\n read_request_root_from_siblings, silo_commitment, silo_nullifier,\n stdlib_recursion_verification_key_compress_native_vk\n},\n utils::{arrays::{array_length, array_to_bounded_vec, validate_array}},\n traits::{is_empty, is_empty_array}\n};\n\npub fn validate_arrays(app_public_inputs: PrivateCircuitPublicInputs) {\n // Each of the following arrays is expected to be zero-padded.\n // In addition, some of the following arrays (new_commitments, etc...) are passed\n // to extend_from_array_to_array() routines which rely on the passed arrays to be well-formed.\n\n validate_array(app_public_inputs.return_values);\n validate_array(app_public_inputs.read_requests);\n validate_array(app_public_inputs.nullifier_key_validation_requests);\n validate_array(app_public_inputs.new_commitments);\n validate_array(app_public_inputs.new_nullifiers);\n validate_array(app_public_inputs.private_call_stack_hashes);\n validate_array(app_public_inputs.public_call_stack_hashes);\n validate_array(app_public_inputs.new_l2_to_l1_msgs);\n // encrypted_logs_hash and unencrypted_logs_hash have their own integrity checks.\n}\n\n// Validate all read requests against the historical note hash tree root.\n// Use their membership witnesses to do so. If the historical root is not yet\n// initialized, initialize it using the first read request here (if present).\n//\n// More info here:\n// - https://discourse.aztec.network/t/to-read-or-not-to-read/178\n// - https://discourse.aztec.network/t/spending-notes-which-havent-yet-been-inserted/180\npub fn validate_read_requests(\n historical_note_hash_tree_root: Field,\n read_requests: [SideEffect; MAX_READ_REQUESTS_PER_CALL],\n read_request_membership_witnesses: [ReadRequestMembershipWitness; MAX_READ_REQUESTS_PER_CALL]\n) {\n // membership witnesses must resolve to the same note hash tree root\n // for every request in all kernel iterations\n for rr_idx in 0..MAX_READ_REQUESTS_PER_CALL {\n let read_request = read_requests[rr_idx].value;\n let witness = read_request_membership_witnesses[rr_idx];\n\n // A pending commitment is the one that is not yet added to note hash tree\n // A \"transient read\" is when we try to \"read\" a pending commitment within a transaction\n // between function calls, as opposed to reading the outputs of a previous transaction\n // which is a \"pending read\".\n // A transient read is when we try to \"read\" a pending commitment\n // We determine if it is a transient read depending on the leaf index from the membership witness\n // Note that the Merkle membership proof would be null and void in case of an transient read\n // but we use the leaf index as a placeholder to detect a 'pending note read'.\n\n if (read_request != 0) & (witness.is_transient == false) {\n let root_for_read_request = read_request_root_from_siblings(read_request, witness.leaf_index, witness.sibling_path);\n assert(root_for_read_request == historical_note_hash_tree_root, \"note hash tree root mismatch\");\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1354): do we need to enforce\n // that a non-transient read_request was derived from the proper/current contract address?\n }\n }\n}\n\npub fn initialize_end_values(\n previous_kernel: PrivateKernelInnerData,\n public_inputs: &mut PrivateKernelCircuitPublicInputsBuilder\n) {\n public_inputs.constants = previous_kernel.public_inputs.constants;\n\n // Ensure the arrays are the same as previously, before we start pushing more data onto them in other\n // functions within this circuit:\n let start = previous_kernel.public_inputs.end;\n\n public_inputs.end.read_requests = array_to_bounded_vec(start.read_requests);\n public_inputs.end.nullifier_key_validation_requests = array_to_bounded_vec(start.nullifier_key_validation_requests);\n\n public_inputs.end.new_commitments = array_to_bounded_vec(start.new_commitments);\n public_inputs.end.new_nullifiers = array_to_bounded_vec(start.new_nullifiers);\n\n public_inputs.end.private_call_stack = array_to_bounded_vec(start.private_call_stack);\n public_inputs.end.public_call_stack = array_to_bounded_vec(start.public_call_stack);\n public_inputs.end.new_l2_to_l1_msgs = array_to_bounded_vec(start.new_l2_to_l1_msgs);\n\n public_inputs.end.encrypted_logs_hash = start.encrypted_logs_hash;\n public_inputs.end.unencrypted_logs_hash = start.unencrypted_logs_hash;\n\n public_inputs.end.encrypted_log_preimages_length = start.encrypted_log_preimages_length;\n public_inputs.end.unencrypted_log_preimages_length = start.unencrypted_log_preimages_length;\n\n public_inputs.end.new_contracts = array_to_bounded_vec(start.new_contracts);\n}\n\nfn perform_static_call_checks(private_call: PrivateCallData) {\n let public_inputs = private_call.call_stack_item.public_inputs;\n let is_static_call = public_inputs.call_context.is_static_call;\n if is_static_call {\n // No state changes are allowed for static calls:\n assert(\n is_empty_array(public_inputs.new_commitments), \"new_commitments must be empty for static calls\"\n );\n assert(\n is_empty_array(public_inputs.new_nullifiers), \"new_nullifiers must be empty for static calls\"\n );\n }\n}\n\nfn is_valid_caller(request: CallRequest, private_call: PrivateCallData) -> bool {\n let call_context = private_call.call_stack_item.public_inputs.call_context;\n let valid_caller_context = request.caller_context.msg_sender.eq(call_context.msg_sender)\n & request.caller_context.storage_contract_address.eq(call_context.storage_contract_address);\n request.caller_contract_address.eq(private_call.call_stack_item.contract_address)\n & (request.caller_context.is_empty() | valid_caller_context)\n}\n\nfn validate_call_requests<N>(\n call_requests: BoundedVec<CallRequest, N>,\n hashes: [Field; N],\n private_call: PrivateCallData\n) {\n assert_eq(\n array_length(hashes), call_requests.len(), \"call requests length does not match the expected length\"\n );\n for i in 0..N {\n let hash = hashes[i];\n if hash != 0 {\n let request = call_requests.get_unchecked(i);\n assert_eq(request.hash, hash, \"call stack hash does not match call request hash\");\n assert(is_valid_caller(request, private_call), \"invalid caller\");\n }\n }\n}\n\npub fn update_end_values(\n private_call: PrivateCallData,\n public_inputs: &mut PrivateKernelCircuitPublicInputsBuilder\n) {\n // If this call is a static call, certain operations are disallowed, such as creating new state.\n perform_static_call_checks(private_call);\n\n let private_call_public_inputs = private_call.call_stack_item.public_inputs;\n\n let read_requests = private_call_public_inputs.read_requests;\n let read_request_membership_witnesses = private_call.read_request_membership_witnesses;\n\n let nullifier_key_validation_requests = private_call_public_inputs.nullifier_key_validation_requests;\n\n let new_commitments = private_call_public_inputs.new_commitments;\n let new_nullifiers = private_call_public_inputs.new_nullifiers;\n\n let storage_contract_address = private_call_public_inputs.call_context.storage_contract_address;\n\n // Transient read requests and witnesses are accumulated in public_inputs.end\n // We silo the read requests (domain separation per contract address)\n let mut siloed_read_requests: BoundedVec<SideEffect, MAX_READ_REQUESTS_PER_CALL> = BoundedVec::new(SideEffect::empty());\n for i in 0..MAX_READ_REQUESTS_PER_CALL {\n let read_request = read_requests[i].value;\n let witness = read_request_membership_witnesses[i];\n if witness.is_transient & (read_request != 0) { // only forward transient to public inputs\n siloed_read_requests.push(\n SideEffect { counter: read_requests[i].counter, value: silo_commitment(storage_contract_address, read_request) }\n )\n }\n }\n public_inputs.end.read_requests.extend_from_bounded_vec(siloed_read_requests);\n\n // Nullifier key validation requests.\n for i in 0..MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL {\n let request = nullifier_key_validation_requests[i];\n if !is_empty(request) {\n public_inputs.end.nullifier_key_validation_requests.push(request.to_context(storage_contract_address));\n }\n }\n\n // Enhance commitments and nullifiers with domain separation whereby domain is the contract.\n //\n // nullifiers\n let mut siloed_new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL> = BoundedVec::new(SideEffectLinkedToNoteHash::empty());\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL {\n let new_nullifier = new_nullifiers[i];\n if new_nullifier.value != 0 {\n let siloed_note_hash = if new_nullifier.note_hash == 0 {\n 0\n } else {\n silo_commitment(storage_contract_address, new_nullifier.note_hash)\n };\n siloed_new_nullifiers.push(\n SideEffectLinkedToNoteHash {\n value: silo_nullifier(storage_contract_address, new_nullifier.value),\n counter: new_nullifier.counter,\n note_hash: siloed_note_hash\n }\n );\n }\n }\n public_inputs.end.new_nullifiers.extend_from_bounded_vec(siloed_new_nullifiers);\n\n // commitments\n let mut siloed_new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL> = BoundedVec::new(SideEffect::empty());\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL {\n let new_commitment = new_commitments[i].value;\n if new_commitment != 0 {\n siloed_new_commitments.push(\n SideEffect { value: silo_commitment(storage_contract_address, new_commitment), counter: new_commitments[i].counter }\n );\n }\n }\n public_inputs.end.new_commitments.extend_from_bounded_vec(siloed_new_commitments);\n\n // Call stacks\n // Private call stack.\n let private_call_stack = array_to_bounded_vec(private_call.private_call_stack);\n validate_call_requests(\n private_call_stack,\n private_call_public_inputs.private_call_stack_hashes,\n private_call\n );\n public_inputs.end.private_call_stack.extend_from_bounded_vec(private_call_stack);\n // Public call stack.\n let public_call_stack = array_to_bounded_vec(private_call.public_call_stack);\n validate_call_requests(\n public_call_stack,\n private_call_public_inputs.public_call_stack_hashes,\n private_call\n );\n public_inputs.end.public_call_stack.extend_from_bounded_vec(public_call_stack);\n\n // new l2 to l1 messages\n let portal_contract_address = private_call.portal_contract_address;\n let new_l2_to_l1_msgs = private_call_public_inputs.new_l2_to_l1_msgs;\n let mut new_l2_to_l1_msgs_to_insert : BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL> = BoundedVec::new(0);\n for i in 0..MAX_NEW_L2_TO_L1_MSGS_PER_CALL {\n let msg_is_zero = new_l2_to_l1_msgs[i] == 0;\n if msg_is_zero == false {\n let new_l2_to_l1_msgs = compute_l2_to_l1_hash(\n storage_contract_address,\n private_call_public_inputs.version,\n portal_contract_address,\n private_call_public_inputs.chain_id,\n new_l2_to_l1_msgs[i]\n );\n new_l2_to_l1_msgs_to_insert.push(new_l2_to_l1_msgs)\n }\n }\n public_inputs.end.new_l2_to_l1_msgs.extend_from_bounded_vec(new_l2_to_l1_msgs_to_insert);\n\n // logs hashes\n // See the following thread if not clear:\n // https://discourse.aztec.network/t/proposal-forcing-the-sequencer-to-actually-submit-data-to-l1/426\n let previous_encrypted_logs_hash = public_inputs.end.encrypted_logs_hash;\n let current_encrypted_logs_hash = private_call_public_inputs.encrypted_logs_hash;\n public_inputs.end.encrypted_logs_hash = compute_logs_hash(previous_encrypted_logs_hash,current_encrypted_logs_hash);\n let previous_unencrypted_logs_hash = public_inputs.end.unencrypted_logs_hash;\n let current_unencrypted_logs_hash = private_call_public_inputs.unencrypted_logs_hash;\n public_inputs.end.unencrypted_logs_hash = compute_logs_hash(previous_unencrypted_logs_hash,current_unencrypted_logs_hash);\n\n // Add log preimages lengths from current iteration to accumulated lengths\n public_inputs.end.encrypted_log_preimages_length = public_inputs.end.encrypted_log_preimages_length +\n private_call_public_inputs.encrypted_log_preimages_length;\n public_inputs.end.unencrypted_log_preimages_length = public_inputs.end.unencrypted_log_preimages_length + private_call_public_inputs.unencrypted_log_preimages_length;\n}\n\npub fn contract_logic(\n private_call: PrivateCallData,\n public_inputs: &mut PrivateKernelCircuitPublicInputsBuilder,\n contract_dep_data: ContractDeploymentData,\n function_data: FunctionData\n) {\n let private_call_public_inputs = private_call.call_stack_item.public_inputs;\n let portal_contract_address = private_call.portal_contract_address;\n let contract_address = private_call.call_stack_item.contract_address;\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3062): Why is this using a hash function from the stdlib::recursion namespace\n let private_call_vk_hash = stdlib_recursion_verification_key_compress_native_vk(private_call.vk);\n\n let is_contract_deployment = public_inputs.constants.tx_context.is_contract_deployment_tx;\n\n // input storage contract address must be 0 if its a constructor call and non-zero otherwise\n if is_contract_deployment {\n let computed_initialization_hash = compute_initialization_hash(\n function_data.selector.to_field(),\n private_call_public_inputs.args_hash\n );\n\n assert(\n computed_initialization_hash == contract_dep_data.initialization_hash, \"initialization hash does not match computed one\"\n );\n\n let new_contract_address = AztecAddress::compute_from_public_key(\n contract_dep_data.public_key,\n contract_dep_data.contract_class_id,\n contract_dep_data.contract_address_salt,\n contract_dep_data.initialization_hash,\n contract_dep_data.portal_contract_address\n );\n\n let new_contract_data = NewContractData {\n contract_address: new_contract_address,\n portal_contract_address,\n contract_class_id: contract_dep_data.contract_class_id\n };\n public_inputs.end.new_contracts.push(new_contract_data);\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3062) VKs are mocked out for now\n // assert(contract_dep_data.constructor_vk_hash == private_call_vk_hash, \"constructor_vk_hash doesn't match private_call_vk_hash\");\n\n assert(\n contract_address.eq(new_contract_address), \"contract address supplied does not match derived address\"\n );\n\n let new_contract_address_nullifier = compute_new_contract_address_hash(new_contract_address);\n\n public_inputs.end.new_nullifiers.push(\n SideEffectLinkedToNoteHash { value: new_contract_address_nullifier, note_hash: 0, counter: 1 }\n );\n } else {\n // non-contract deployments must specify contract address being interacted with\n assert(!contract_address.is_zero(), \"contract address cannot be zero\");\n // std::println(f\"contract_address={contract_address}\");\n // std::println(f\"private_call_vk_hash={private_call_vk_hash}\");\n\n // Recompute the contract class id\n let computed_private_functions_root = private_functions_root_from_siblings(\n private_call.call_stack_item.function_data.selector,\n private_call_vk_hash,\n private_call.function_leaf_membership_witness.leaf_index,\n private_call.function_leaf_membership_witness.sibling_path\n );\n // std::println(f\"computed_private_functions_root={computed_private_functions_root}\");\n\n let computed_contract_class_id = ContractClassId::compute(\n private_call.contract_class_artifact_hash,\n computed_private_functions_root,\n private_call.contract_class_public_bytecode_commitment\n );\n // std::println(f\"computed_contract_class_id={computed_contract_class_id}\");\n\n // Recompute contract address using the preimage which includes the class_id\n let computed_partial_address = PartialAddress::compute_from_salted_initialization_hash(\n computed_contract_class_id,\n private_call.salted_initialization_hash\n );\n // std::println(f\"computed_partial_address={computed_partial_address}\");\n\n let computed_address = AztecAddress::compute(private_call.public_keys_hash, computed_partial_address);\n // std::println(f\"computed_address={computed_address}\");\n\n assert(\n computed_address.eq(contract_address), \"computed contract address does not match expected one\"\n );\n }\n}\n\npub fn validate_previous_kernel_values(end: CombinedAccumulatedData) {\n assert(end.new_nullifiers[0].value != 0, \"The 0th nullifier in the accumulated nullifier array is zero\");\n}\n\npub fn validate_call_against_request(private_call: PrivateCallData, request: CallRequest) {\n let call_stack_item = private_call.call_stack_item;\n assert(\n request.hash == call_stack_item.hash(), \"calculated private_call_hash does not match provided private_call_hash at the top of the call stack\"\n );\n\n let call_context = call_stack_item.public_inputs.call_context;\n\n // Ensures that if the function is internal, only the contract itself can call it.\n if call_stack_item.function_data.is_internal {\n assert(\n call_context.msg_sender.eq(call_context.storage_contract_address), \"call is internal but msg_sender is not self\"\n );\n }\n\n if call_context.is_delegate_call {\n let caller_context = request.caller_context;\n assert(!caller_context.is_empty(), \"caller context cannot be empty for delegate calls\");\n assert(\n call_context.msg_sender.eq(caller_context.msg_sender), \"call stack msg_sender does not match expected msg_sender for delegate calls\"\n );\n assert(\n call_context.storage_contract_address.eq(caller_context.storage_contract_address), \"call stack storage address does not match expected contract address for delegate calls\"\n );\n assert(\n !call_stack_item.contract_address.eq(call_context.storage_contract_address), \"curent contract address must not match storage contract address for delegate calls\"\n );\n } else {\n let caller_contract_address = request.caller_contract_address;\n assert(\n call_context.msg_sender.eq(caller_contract_address), \"call stack msg_sender does not match caller contract address\"\n );\n assert(\n call_context.storage_contract_address.eq(call_stack_item.contract_address), \"call stack storage address does not match expected contract address\"\n );\n }\n}\n\nfn field_to_grumpkin_private_key(val: Field) -> GrumpkinPrivateKey {\n let bytes = val.to_be_bytes(32);\n let mut v = 1;\n let mut high = 0;\n let mut low = 0;\n\n for i in 0..16 {\n high = high + (bytes[15 - i] as Field) * v;\n low = low + (bytes[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n GrumpkinPrivateKey { high, low }\n}\n\npub fn compute_siloed_nullifier_secret_key(secret_key: GrumpkinPrivateKey, contract_address: AztecAddress) -> GrumpkinPrivateKey {\n // TODO: Temporary hack. Should replace it with a secure way to derive the secret key.\n // Match the way keys are derived in circuits.js/src/keys/index.ts\n let hash = pedersen_hash(\n [secret_key.high, secret_key.low, contract_address.to_field()],\n 0\n );\n field_to_grumpkin_private_key(hash)\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/private-kernel-lib/src/common.nr"},"119":{"source":"use dep::private_kernel_lib::PrivateKernelInnerCircuitPrivateInputs;\nuse dep::types::PrivateKernelInnerCircuitPublicInputs;\n\nunconstrained fn main(input: PrivateKernelInnerCircuitPrivateInputs) -> distinct pub PrivateKernelInnerCircuitPublicInputs {\n input.native_private_kernel_circuit_inner()\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/src/crates/private-kernel-inner-simulated/src/main.nr"}}}