From 228c79007a5ba1f45d00732abc71ded7d99813a5 Mon Sep 17 00:00:00 2001 From: tersec Date: Wed, 24 Jan 2024 23:25:58 +0000 Subject: [PATCH] freeze and mark obsolete auditors guide and link to other resources (#5823) --- docs/the_auditors_handbook/src/01_introduction.md | 3 +++ .../src/02.1.1_operators_bit_manipulation.md | 3 +++ docs/the_auditors_handbook/src/02.1.2_pointer_manipulation.md | 3 +++ docs/the_auditors_handbook/src/02.1.4_closure_iterators.md | 3 +++ .../src/02.1_nim_routines_proc_func_templates_macros.md | 3 +++ .../src/02.2.2_casting_and_low_level_memory_representation.md | 3 +++ docs/the_auditors_handbook/src/02.2.3_memory_management_gc.md | 3 +++ .../src/02.2.4_generics_types_static_types.md | 3 +++ .../src/02.2.5_arrays_openarrays_strings_cstring.md | 3 +++ docs/the_auditors_handbook/src/02.2_stack_ref_ptr_types.md | 3 +++ .../02.3_correctness_distinct_mutability_effects_exceptions.md | 3 +++ .../src/02.4_debugging_Nim_sanitizers_fuzzers.md | 3 +++ .../src/02.5_foreign_lang_to_from_interop.md | 3 +++ docs/the_auditors_handbook/src/02.8_Nim_threat_model.md | 3 +++ .../src/02_the_Nim_programming_language.md | 3 +++ .../src/03.2_build_system_and_dependencies.md | 3 +++ docs/the_auditors_handbook/src/03.5_the_threat_model.md | 3 +++ docs/the_auditors_handbook/src/03_nbc_nimbus_beacon_chain.md | 3 +++ docs/the_auditors_handbook/src/SUMMARY.md | 3 +++ 19 files changed, 57 insertions(+) diff --git a/docs/the_auditors_handbook/src/01_introduction.md b/docs/the_auditors_handbook/src/01_introduction.md index 18d53c742..3b82ddf9c 100644 --- a/docs/the_auditors_handbook/src/01_introduction.md +++ b/docs/the_auditors_handbook/src/01_introduction.md @@ -1,5 +1,8 @@ # Introduction +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + The Nimbus Nim-Beacon-Chain (NBC) project is an implementation of the [Ethereum 2 Beacon Chain specification](https://github.com/ethereum/consensus-specs) in the [Nim programming language](https://nim-lang.org/). The Auditors' Handbook aims to be provide a comprehensive introduction to: diff --git a/docs/the_auditors_handbook/src/02.1.1_operators_bit_manipulation.md b/docs/the_auditors_handbook/src/02.1.1_operators_bit_manipulation.md index e5275d075..ba0982261 100644 --- a/docs/the_auditors_handbook/src/02.1.1_operators_bit_manipulation.md +++ b/docs/the_auditors_handbook/src/02.1.1_operators_bit_manipulation.md @@ -1,5 +1,8 @@ # Operators and bit manipulation +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + ## Operators A set of symbol and keywords can be used as infix operators diff --git a/docs/the_auditors_handbook/src/02.1.2_pointer_manipulation.md b/docs/the_auditors_handbook/src/02.1.2_pointer_manipulation.md index 7f6f215f0..90712a34f 100644 --- a/docs/the_auditors_handbook/src/02.1.2_pointer_manipulation.md +++ b/docs/the_auditors_handbook/src/02.1.2_pointer_manipulation.md @@ -1,3 +1,6 @@ # Pointer manipulation +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + https://github.com/status-im/nim-stew/blob/master/stew/ptrops.nim diff --git a/docs/the_auditors_handbook/src/02.1.4_closure_iterators.md b/docs/the_auditors_handbook/src/02.1.4_closure_iterators.md index fe7ce4fcf..0907a0091 100644 --- a/docs/the_auditors_handbook/src/02.1.4_closure_iterators.md +++ b/docs/the_auditors_handbook/src/02.1.4_closure_iterators.md @@ -1,5 +1,8 @@ # Closures and closures iterators +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + TODO ## At a low-level diff --git a/docs/the_auditors_handbook/src/02.1_nim_routines_proc_func_templates_macros.md b/docs/the_auditors_handbook/src/02.1_nim_routines_proc_func_templates_macros.md index 52c34530e..f405e5590 100644 --- a/docs/the_auditors_handbook/src/02.1_nim_routines_proc_func_templates_macros.md +++ b/docs/the_auditors_handbook/src/02.1_nim_routines_proc_func_templates_macros.md @@ -1,5 +1,8 @@ # Nim Routines +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + Nim offers several kinds of "routines" that: - do computation - produce side-effect diff --git a/docs/the_auditors_handbook/src/02.2.2_casting_and_low_level_memory_representation.md b/docs/the_auditors_handbook/src/02.2.2_casting_and_low_level_memory_representation.md index bbe9eb1e8..e2cd91636 100644 --- a/docs/the_auditors_handbook/src/02.2.2_casting_and_low_level_memory_representation.md +++ b/docs/the_auditors_handbook/src/02.2.2_casting_and_low_level_memory_representation.md @@ -1,5 +1,8 @@ # Casting and low-level memory representation +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + ## Conversions Casting to a signed integer will lead to a range check. diff --git a/docs/the_auditors_handbook/src/02.2.3_memory_management_gc.md b/docs/the_auditors_handbook/src/02.2.3_memory_management_gc.md index 59e7d8510..6cc1f9577 100644 --- a/docs/the_auditors_handbook/src/02.2.3_memory_management_gc.md +++ b/docs/the_auditors_handbook/src/02.2.3_memory_management_gc.md @@ -1,5 +1,8 @@ # Nim memory management +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + Nim memory management is on a per-type basis. Plain objects and char and numerical types are allocated on the stack. diff --git a/docs/the_auditors_handbook/src/02.2.4_generics_types_static_types.md b/docs/the_auditors_handbook/src/02.2.4_generics_types_static_types.md index cedae26b7..da738d1c9 100644 --- a/docs/the_auditors_handbook/src/02.2.4_generics_types_static_types.md +++ b/docs/the_auditors_handbook/src/02.2.4_generics_types_static_types.md @@ -1,5 +1,8 @@ # Generics and Static types +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + Nim types can be parametrized by types (generics) or compile-time values (static) For example diff --git a/docs/the_auditors_handbook/src/02.2.5_arrays_openarrays_strings_cstring.md b/docs/the_auditors_handbook/src/02.2.5_arrays_openarrays_strings_cstring.md index 662e5df00..ab5354acb 100644 --- a/docs/the_auditors_handbook/src/02.2.5_arrays_openarrays_strings_cstring.md +++ b/docs/the_auditors_handbook/src/02.2.5_arrays_openarrays_strings_cstring.md @@ -1,5 +1,8 @@ # Arrays, openarrays, varargs +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + ## Arrays TODO diff --git a/docs/the_auditors_handbook/src/02.2_stack_ref_ptr_types.md b/docs/the_auditors_handbook/src/02.2_stack_ref_ptr_types.md index cc4126efc..15849cccb 100644 --- a/docs/the_auditors_handbook/src/02.2_stack_ref_ptr_types.md +++ b/docs/the_auditors_handbook/src/02.2_stack_ref_ptr_types.md @@ -1,5 +1,8 @@ # Nim data types +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + ## Builtin types ### Numerical types diff --git a/docs/the_auditors_handbook/src/02.3_correctness_distinct_mutability_effects_exceptions.md b/docs/the_auditors_handbook/src/02.3_correctness_distinct_mutability_effects_exceptions.md index 3b8ea28b7..65582b962 100644 --- a/docs/the_auditors_handbook/src/02.3_correctness_distinct_mutability_effects_exceptions.md +++ b/docs/the_auditors_handbook/src/02.3_correctness_distinct_mutability_effects_exceptions.md @@ -1,5 +1,8 @@ # Correctness, distinct, mutability, effects, exceptions +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + The Nim compiler provides several constraints that can be used to enforce proper usage of variables, types and error handling at compile-time. diff --git a/docs/the_auditors_handbook/src/02.4_debugging_Nim_sanitizers_fuzzers.md b/docs/the_auditors_handbook/src/02.4_debugging_Nim_sanitizers_fuzzers.md index ce2d1c171..920df178d 100644 --- a/docs/the_auditors_handbook/src/02.4_debugging_Nim_sanitizers_fuzzers.md +++ b/docs/the_auditors_handbook/src/02.4_debugging_Nim_sanitizers_fuzzers.md @@ -1,5 +1,8 @@ # Debugging Nim +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + Reference article: [https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html](https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html) ## GDB / LLDB diff --git a/docs/the_auditors_handbook/src/02.5_foreign_lang_to_from_interop.md b/docs/the_auditors_handbook/src/02.5_foreign_lang_to_from_interop.md index c7d8556dc..45d90e834 100644 --- a/docs/the_auditors_handbook/src/02.5_foreign_lang_to_from_interop.md +++ b/docs/the_auditors_handbook/src/02.5_foreign_lang_to_from_interop.md @@ -1,5 +1,8 @@ # Foreign language interop +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + ## Wrapping C ### Using shared library diff --git a/docs/the_auditors_handbook/src/02.8_Nim_threat_model.md b/docs/the_auditors_handbook/src/02.8_Nim_threat_model.md index d551c65a1..4bb8384cc 100644 --- a/docs/the_auditors_handbook/src/02.8_Nim_threat_model.md +++ b/docs/the_auditors_handbook/src/02.8_Nim_threat_model.md @@ -1,5 +1,8 @@ # Nim threat model +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + Nim and its standard library are not the focus of the audits. In particular the codebase intentionally limits reliance on the standard library diff --git a/docs/the_auditors_handbook/src/02_the_Nim_programming_language.md b/docs/the_auditors_handbook/src/02_the_Nim_programming_language.md index cf9783811..87f26b804 100644 --- a/docs/the_auditors_handbook/src/02_the_Nim_programming_language.md +++ b/docs/the_auditors_handbook/src/02_the_Nim_programming_language.md @@ -1,5 +1,8 @@ # The Nim Programming Language +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + The Nim programming language is a compiled language, with strong static typing. The rest of the Handbook will assume that Nim-by-example was read. diff --git a/docs/the_auditors_handbook/src/03.2_build_system_and_dependencies.md b/docs/the_auditors_handbook/src/03.2_build_system_and_dependencies.md index 7a0f3cfab..75f4a6fa4 100644 --- a/docs/the_auditors_handbook/src/03.2_build_system_and_dependencies.md +++ b/docs/the_auditors_handbook/src/03.2_build_system_and_dependencies.md @@ -1,5 +1,8 @@ # Nimbus build system & dependencies +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + ## Build system ### NBC repo diff --git a/docs/the_auditors_handbook/src/03.5_the_threat_model.md b/docs/the_auditors_handbook/src/03.5_the_threat_model.md index ff889b388..52cc09055 100644 --- a/docs/the_auditors_handbook/src/03.5_the_threat_model.md +++ b/docs/the_auditors_handbook/src/03.5_the_threat_model.md @@ -1,5 +1,8 @@ # NBC Threat model +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + NBC primarily targets resource restricted devices like Raspberry Pi or smartphones to desktop computers. We focus on: diff --git a/docs/the_auditors_handbook/src/03_nbc_nimbus_beacon_chain.md b/docs/the_auditors_handbook/src/03_nbc_nimbus_beacon_chain.md index a65f6d1b3..5028b343a 100644 --- a/docs/the_auditors_handbook/src/03_nbc_nimbus_beacon_chain.md +++ b/docs/the_auditors_handbook/src/03_nbc_nimbus_beacon_chain.md @@ -1,5 +1,8 @@ # Nimbus Beacon Chain +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + [https://github.com/status-im/nimbus-eth2](https://github.com/status-im/nimbus-eth2) Nimbus Beacon Chain (NBC) is an implementation of an Ethereum 2 client. diff --git a/docs/the_auditors_handbook/src/SUMMARY.md b/docs/the_auditors_handbook/src/SUMMARY.md index 6de089903..dcbab0594 100644 --- a/docs/the_auditors_handbook/src/SUMMARY.md +++ b/docs/the_auditors_handbook/src/SUMMARY.md @@ -1,5 +1,8 @@ # Summary +!!! warning + This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it. + - [Introduction](01_introduction.md) - [The Nim Programming Language](02_the_Nim_programming_language.md) - [Nim routines, procedures, functions, templates, macros](02.1_nim_routines_proc_func_templates_macros.md)