# LEARN

- [Introduction](https://secureum.gitbook.io/secureum-book/learn/learn.md)
- [1. Ethereum Basics](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics.md)
- [1.1 Ethereum: Concept, Infrastructure & Purpose](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.1_ethereum_concept.md)
- [1.2 Properties of the Ethereum Infrastructure](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.2_properties_of_the_ethereum_infrastructure.md)
- [1.3 Ethereum vs. Bitcoin](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.3_ethereum_vs_bitcoin.md)
- [1.4 Ethereum Core Components](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.4_ethereum_core_components.md)
- [1.5 Gas Metering: Solving the Halting Problem](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.5_gas_metering_solving_the_halting_problem.md)
- [1.6 web2 vs. web3: The Paradigm Shift](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.6_web2_vs_web3_the_paradigm_shift.md)
- [1.7 Decentralization](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.7_decentralization.md)
- [1.8 Cryptography, Digital Signature & Keys](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.8_cryptography_digital_signature_and_keys.md)
- [1.9 Ethereum State & Account Types](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.9_ethereum_state_and_account_types.md)
- [1.10 Transactions: Properties & Components](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.10_transactions_properties_and_components.md)
- [1.11 Contract Creation](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.11_contract_creation.md)
- [1.12 Transactions, Messages & Blockchain](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.12_transactions_messages_and_blockchain.md)
- [1.13 EVM (Ethereum Virtual Machine) in Depth](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.13_evm_in_depth.md)
- [1.14 Transaction Reverts & Data](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.14_transaction_reverts_and_data.md)
- [1.15 Block Explorer](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.15_block_explorer.md)
- [1.16 Mainnet & Testnets](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.16_mainnet_and_testnets.md)
- [1.17 ERCs & EIPs](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.17_eips_and_ercs.md)
- [1.18 Legal Aspects in web3: Pseudonymity & DAOs](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.18_legal_aspects_in_web3.md)
- [1.19 Security in web3](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.19_security_in_web3.md)
- [1.20 web2 Timescales vs. web3 Timescales](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.20_web2_timescales_vs_web3_timescales.md)
- [1.21 Test-in-Prod. SSLDC vs. Audits](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/1.21_test_in_prod_ssldc_vs_audits.md)
- [Summary: 101 Keypoints](https://secureum.gitbook.io/secureum-book/learn/learn/1_ethereum_basics/summary_101_keypoints.md)
- [2. Solidity](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity.md)
- [2.1 Solidity: Influence, Features & Layout](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.1_solidity_influence_features_and_layout.md)
- [2.2 SPDX & Pragmas](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.2_spdx_and_pragmas.md)
- [2.3 Imports](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.3_imports.md)
- [2.4 Comments & NatSpec](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.4_comments_and_natspec.md)
- [2.5 Smart Contracts](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.5_smart_contracts.md)
- [2.6 State Variables: Definition, Visibility & Mutability](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.6_state_variables_definition_visibility_and_mutability.md)
- [2.7 Data Location](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.7_data_location.md)
- [2.8 Functions](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.8_functions.md)
- [2.9 Events](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.9_events.md)
- [2.10 Solidity Typing](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.10_solidity_typing.md)
- [2.11 Solidity Variables](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.11_solidity_variables.md)
- [2.12 Address Type](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.12_address_type.md)
- [2.13 Conversions](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.13_conversions.md)
- [2.14 Keywords & Shorthand Operators](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.14_keywords_and_shorthand_operators.md)
- [2.15 Solidity Units](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.15_solidity_units.md)
- [2.16 Block & Transaction Properties](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.16_block_and_transaction_properties.md)
- [2.17 ABI Encoding & Decoding](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.17_abi_encoding_and_decoding.md)
- [2.18 Error Handling](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.18_error_handling.md)
- [2.19 Mathematical & Cryptographic Functions](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.19_mathematical_and_cryptographic_functions.md)
- [2.20 Control Structures](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.20_control_structures.md)
- [2.21 Style & Conventions](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.21_style_and_conventions.md)
- [2.22 Inheritance](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.22_inheritance.md)
- [2.23 EVM Storage](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.23_evm_storage.md)
- [2.24 EVM Memory](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.24_evm_memory.md)
- [2.25 Inline Assembly](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.25_inline_assembly.md)
- [2.26 Solidity Version Changes](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.26_solidity_version_changes.md)
- [2.27 Security Checks](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.27_security_checks.md)
- [2.28 OpenZeppelin Libraries](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.28_open_zeppelin_libraries.md)
- [2.29 DAppSys Libraries](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.29_dappsys_libraries.md)
- [2.30 Important Protocols](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/2.30_important_protocols.md)
- [Summary: 201 Keypoints](https://secureum.gitbook.io/secureum-book/learn/learn/2_solidity/summary_201_keypoints.md)
- [3. Security Pitfalls & Best Practices](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices.md)
- [3.1 Solidity Versions](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.1_solidity_versions.md)
- [3.2 Access Control](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.2_access_control.md)
- [3.3 Modifiers](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.3_modifiers.md)
- [3.4 Constructor](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.4_constructor.md)
- [3.5 Delegatecall](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.5_delegatecall.md)
- [3.6 Reentrancy](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.6_reentrancy.md)
- [3.7 Private Data](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.7_private_data.md)
- [3.8 PRNG & Time](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.8_prng_and_time.md)
- [3.9 Math & Logic](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.9_math_and_logic.md)
- [3.10 Transaction Order Dependence](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.10_transaction_order_dependence.md)
- [3.11 ecrecover](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.11_ecrecover.md)
- [3.12 Unexpected Returns](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.12_unexpected_returns.md)
- [3.13 Ether Accounting](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.13_ether_accounting.md)
- [3.14 Transaction Checks](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.14_transaction_checks.md)
- [3.15 Delete Mappings](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.15_delete_mappings.md)
- [3.16 State Modification](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.16_state_modification.md)
- [3.17 Shadowing & Pre-declaration](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.17_shadowing_and_pre_declaration.md)
- [3.18 Gas & Costs](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.18_gas_and_costs.md)
- [3.19 Events](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.19_events.md)
- [3.20 Unary Expressions](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.20_typographical_errors.md)
- [3.21 Addresses](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.21_addresses.md)
- [3.22 Assertions](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.22_assertions.md)
- [3.23 Keywords](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.23_keywords.md)
- [3.24 Visibility](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.24_visibility.md)
- [3.25 Inheritance](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.25_inheritance.md)
- [3.26 Reference Parameters](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.26_reference_parameters.md)
- [3.27 Arbitrary Jumps](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.27_arbitrary_jumps.md)
- [3.28 Hash Collisions & Byte Level Issues](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.28_hash_collisions_and_byte_level_issues.md)
- [3.29 Unicode RTLO](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.29_unicode_rtlo.md)
- [3.30 Variables](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.30_variables.md)
- [3.31 Pointers](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.31_pointers.md)
- [3.32 Out-of-range Enum](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.32_out_of_range_enum.md)
- [3.33 Dead Code & Redundant Statements](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.33_dead_code_and_redundant_statements.md)
- [3.34 Compiler Bugs](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.34_compiler_bugs.md)
- [3.35 Proxy Pitfalls](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.35_proxy_pitfalls.md)
- [3.36 Token Pitfalls](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.36_token_pitfalls.md)
- [3.37 Special Token Pitfalls](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.37_special_tokens_pitfalls.md)
- [3.38 Guarded Launch Pitfalls](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.38_guarded_launch_pitfalls.md)
- [3.39 System Pitfalls](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.39_system_pitfalls.md)
- [3.40 Access Control Pitfalls](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.40_access_control_pitfalls.md)
- [3.41 Testing, Unused & Redundand Code](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.41_testing_unused_and_redundant_code.md)
- [3.42 Handling Ether](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.42_handling_ether.md)
- [3.43 Application Logic Pitfalls](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.43_application_logic_pitfalls.md)
- [3.44 Saltzer & Schroeder's Design Principles](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/3.44_saltzer_and_schroeders_design_principles.md)
- [Summary: 201 Keypoints](https://secureum.gitbook.io/secureum-book/learn/learn/3_security_pitfalls_and_best_practices/summary_201_keypoints.md)
- [4. Audit Techniques & Tools](https://secureum.gitbook.io/secureum-book/learn/learn/4_audit_techniques_and_tools.md)
- [4.1 Audit](https://secureum.gitbook.io/secureum-book/learn/learn/4_audit_techniques_and_tools/4.1_audit.md)
- [4.2 Analysis Techniques](https://secureum.gitbook.io/secureum-book/learn/learn/4_audit_techniques_and_tools/4.2_analysis_techniques.md)
- [4.3 Specification, Documentation & Testing](https://secureum.gitbook.io/secureum-book/learn/learn/4_audit_techniques_and_tools/4.3_specification_documentation_and_testing.md)
- [4.4 False Positives & Negatives](https://secureum.gitbook.io/secureum-book/learn/learn/4_audit_techniques_and_tools/4.4_false_positives_and_negatives.md)
- [4.5 Security Tools](https://secureum.gitbook.io/secureum-book/learn/learn/4_audit_techniques_and_tools/4.5_security_tools.md)
- [4.6 Audit Process](https://secureum.gitbook.io/secureum-book/learn/learn/4_audit_techniques_and_tools/4.6_audit_process.md)
- [Summary: 101 Keypoints](https://secureum.gitbook.io/secureum-book/learn/learn/4_audit_techniques_and_tools/summary_101_keypoints.md)
- [5. Audit Findings](https://secureum.gitbook.io/secureum-book/learn/learn/5_audit_findings.md)
- [5.1 Criticals](https://secureum.gitbook.io/secureum-book/learn/learn/5_audit_findings/5.1_criticals.md)
- [5.2 Highs](https://secureum.gitbook.io/secureum-book/learn/learn/5_audit_findings/5.2_highs.md)
- [5.3 Mediums](https://secureum.gitbook.io/secureum-book/learn/learn/5_audit_findings/5.3_mediums.md)
- [5.4 Lows](https://secureum.gitbook.io/secureum-book/learn/learn/5_audit_findings/5.4_lows.md)
- [5.5 Informationals](https://secureum.gitbook.io/secureum-book/learn/learn/5_audit_findings/5.5_informationals.md)
- [Summary: 201 Keypoints](https://secureum.gitbook.io/secureum-book/learn/learn/5_audit_findings/summary_201_keypoints.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://secureum.gitbook.io/secureum-book/learn.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
