mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-19 00:41:03 +00:00
Defensive Programming in Substrate Reference Document (#2615)
_This PR is being continued from https://github.com/paritytech/polkadot-sdk/pull/2206, which was closed when the developer_hub was merged._ closes https://github.com/paritytech/polkadot-sdk-docs/issues/44 --- # Description This PR adds a reference document to the `developer-hub` crate (see https://github.com/paritytech/polkadot-sdk/pull/2102). This specific reference document covers defensive programming practices common within the context of developing a runtime with Substrate. In particular, this covers the following areas: - Default behavior of how Rust deals with numbers in general - How to deal with floating point numbers in runtime / fixed point arithmetic - How to deal with Integer overflows - General "safe math" / defensive programming practices for common pallet development scenarios - Defensive traits that exist within Substrate, i.e., `defensive_saturating_add `, `defensive_unwrap_or` - More general defensive programming examples (keep it concise) - Link to relevant examples where these practices are actually in production / being used - Unwrapping (or rather lack thereof) 101 todo -- - [x] Apply feedback from previous PR - [x] This may warrant a PR to append some of these docs to `sp_arithmetic` --------- Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com> Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com> Co-authored-by: Radha <86818441+DrW3RK@users.noreply.github.com>
This commit is contained in:
@@ -81,6 +81,13 @@ sp-api = { path = "../../substrate/primitives/api" }
|
||||
sp-core = { path = "../../substrate/primitives/core" }
|
||||
sp-keyring = { path = "../../substrate/primitives/keyring" }
|
||||
sp-runtime = { path = "../../substrate/primitives/runtime" }
|
||||
sp-arithmetic = { path = "../../substrate/primitives/arithmetic" }
|
||||
|
||||
# Misc pallet dependencies
|
||||
pallet-referenda = { path = "../../substrate/frame/referenda" }
|
||||
pallet-broker = { path = "../../substrate/frame/broker" }
|
||||
pallet-babe = { path = "../../substrate/frame/babe" }
|
||||
|
||||
sp-offchain = { path = "../../substrate/primitives/offchain" }
|
||||
sp-version = { path = "../../substrate/primitives/version" }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user