From 39b5ae9f834c84a16ffc11ab7699fefcd0960f0e Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 16:44:49 +0200 Subject: [PATCH 01/42] docs: Update Readme with TOC, Contributor Guide and License sections --- CODE_OF_CONDUCT.md | 50 +++++++++ CONTRIBUTING.md | 61 ++++++++++ README.md | 270 ++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 364 insertions(+), 17 deletions(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..b26b537192c --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,50 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +### Facilitation, Not Strongarming + +We recognize that this software is merely a tool for users to create and maintain their blockchain of preference. We see that blockchains are naturally community platforms with users being the ultimate decision makers. We assert that good software will maximize user agency by facilitate user-expression on the network. As such: + +* This project will strive to give users as much choice as is both reasonable and possible over what protocol they adhere to; but +* use of the project's technical forums, commenting systems, pull requests and issue trackers as a means to express individual protocol preferences is forbidden. + +### Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +### Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +### Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at admin@parity.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +### Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at http://contributor-covenant.org/version/1/4. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000000..fc92df00a2b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,61 @@ +# Contributing + +The `Parity Ethereum` project is an **OPENISH Open Source Project** + +## What? + +Individuals making significant and valuable contributions are given commit-access to a project to contribute as they see fit. A project is more like an open wiki than a standard guarded open source project. + +## Rules + +There are a few basic ground-rules for contributors (including the maintainer(s) of the project): + +* **No `--force` pushes** or modifying the master branch history in any way. If you need to rebase, ensure you do it in your own repo. +* **Non-master branches**, prefixed with a short name moniker (e.g. `gav-my-feature`) must be used for ongoing work, and include the associated issue ID (if any) in the branch name. +* **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. +* A pull-request *must not be merged until CI* has finished successfully. +* Contributors should adhere to the [house coding style](https://wiki.parity.io/Coding-guide). + + +## Merge Process + +Merging pull requests once CI is successful: + +* A PR needs to be reviewed and approved by project maintainers unless: + * it does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged[`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22) and merged by its author once CI is complete. + * it is an urgent fix with no large change to logic, then it may be merged after a non-author contributor has approved the review once CI is complete. + +* Once a PR is ready for review please add the [`pleasereview`](https://github.com/paritytech/parity-ethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label. Generally PRs should sit with this label for 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it. +* No PR should be merged until all reviews' comments are addressed. + +*Reviewing pull requests*: + +When reviewing a pull request, the end-goal is to suggest useful changes to the author. Reviews should finish with approval unless there are issues that would result in: + +* Buggy behavior. +* Undue maintenance burden. +* Breaking with house coding style. +* Pessimization (i.e. reduction of speed as measured in the projects benchmarks). +* Feature reduction (i.e. it removes some aspect of functionality that a significant minority of users rely on). +* Uselessness (i.e. it does not strictly add a feature or fix a known issue). + +*Reviews may not be used as an effective veto for a PR because*: + +* There exists a somewhat cleaner/better/faster way of accomplishing the same feature/fix. +* It does not fit well with some other contributors' longer-term vision for the project. + +## Helping out + +We use [labels](https://github.com/paritytech/parity-ethereum/labels) to manage PRs and issues and communicate state of a PR. Please familiarize yourself with them. Furthermore we are organizing issues in [milestones](https://github.com/paritytech/parity-ethereum/milestones). Best way to get started is to a pick a ticket from the current milestone tagged [`easy`](https://github.com/paritytech/parity-ethereum/labels/Q2-easy%20%F0%9F%92%83) and get going or [`mentor`](https://github.com/paritytech/parity-ethereum/labels/Q1-mentor%20%F0%9F%95%BA) and get in contact with the mentor offering their support on that larger task. + +## Releases + +Declaring formal releases remains the prerogative of the project maintainer(s). + +## Changes to this arrangement + +This is an experiment and feedback is welcome! This document may also be subject to pull-requests or changes by contributors where you believe you have something valuable to add or change. + +## Heritage + +These contributing guidelines are modified from the "OPEN Open Source Project" guidelines for the Level project: https://github.com/Level/community/blob/master/CONTRIBUTING.md diff --git a/README.md b/README.md index 1c0302535f2..655eb31004f 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,24 @@

+## Table of Contents + +1. [Description](#chapter-001) +2. [Technical Overview](#chapter-002) +3. [Building](#chapter-003) + 3.1 [Building Dependencies](#chapter-0031) + 3.2 [Building from Source Code](#chapter-0032) + 3.3 [Simple One-Line Installer for Mac and Linux](#chapter-0033) + 3.4 [Starting Parity Ethereum](#chapter-0034) +4. [Documentation](#chapter-004) +5. [Toolchain](#chapter-005) +6. [Community](#chapter-006) +7. [Contributing](#chapter-007) +8. [License](#chapter-008) + + +## 1. Description + **Built for mission-critical use**: Miners, service providers, and exchanges need fast synchronisation and maximum uptime. Parity Ethereum provides the core infrastructure essential for speedy and reliable services. - Clean, modular codebase for easy customisation @@ -15,7 +33,7 @@ - Synchronise in hours, not days with Warp Sync - Modular for light integration into your service or product -## Technical Overview +## 2. Technical Overview Parity Ethereum's goal is to be the fastest, lightest, and most secure Ethereum client. We are developing Parity Ethereum using the sophisticated and cutting-edge **Rust programming language**. Parity Ethereum is licensed under the GPLv3 and can be used for all your Ethereum needs. @@ -25,7 +43,9 @@ If you run into problems while using Parity Ethereum, check out the [wiki for do Parity Ethereum's current beta-release is 2.1. You can download it at [the releases page](https://github.com/paritytech/parity-ethereum/releases) or follow the instructions below to build from source. Please, mind the [CHANGELOG.md](CHANGELOG.md) for a list of all changes between different versions. -## Build Dependencies +## 3. Building + +### 3.1 Build Dependencies Parity Ethereum requires **latest stable Rust version** to build. @@ -58,7 +78,7 @@ Once you have `rustup` installed, then you need to install: Make sure that these binaries are in your `PATH`. After that, you should be able to build Parity Ethereum from source. -## Build from Source Code +### 3.2 Build from Source Code ```bash # download Parity Ethereum code @@ -95,7 +115,7 @@ or $ git checkout beta ``` -## Simple One-Line Installer for Mac and Linux +### 3.3 Simple One-Line Installer for Mac and Linux ```bash bash <(curl https://get.parity.io -L) @@ -107,9 +127,9 @@ The one-line installer always defaults to the latest beta release. To install a bash <(curl https://get.parity.io -L) -r stable ``` -## Start Parity Ethereum +### 3.4 Starting Parity Ethereum -### Manually +#### Manually To start Parity Ethereum manually, just run @@ -119,7 +139,7 @@ $ ./target/release/parity so Parity Ethereum begins syncing the Ethereum blockchain. -### Using `systemd` service file +#### Using `systemd` service file To start Parity Ethereum as a regular user using `systemd` init: @@ -128,17 +148,227 @@ To start Parity Ethereum as a regular user using `systemd` init: 2. Copy release to bin folder, write `sudo install ./target/release/parity /usr/bin/parity` 3. To configure Parity Ethereum, write a `/etc/parity/config.toml` config file, see [Configuring Parity Ethereum](https://paritytech.github.io/wiki/Configuring-Parity) for details. -## Parity Ethereum toolchain +## 4. Documentation + +Official website: https://parity.io + +Be sure to [check out our wiki](https://wiki.parity.io) for more information. + +### Viewing documentation for Parity Ethereum packages + +You can generate documentation for a Parity Ethereum Rust package and have it automatically open in your web browser using [rustdoc with Cargo](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html#using-rustdoc-with-cargo), (of the The Rustdoc Book), by running the the following command: + +``` +cargo doc --package --open +``` + +Replacing `` with one of the following (i.e. `cargo doc --package parity-ethereum --open`): + +* Parity Ethereum (EthCore) Client Application + ```bash + parity-ethereum + ``` +* Parity Ethereum Account Management, Hardware Wallet Support, Key Management Tool, and Keys Generator + ```bash + ethcore-accounts, ethkey-cli, ethstore, ethstore-cli, fake-hardware-wallet, hardware-wallets + ``` +* Parity Chain Specification + ```bash + chainspec + ``` +* Parity CLI Signer Tool & RPC Client + ```bash + cli-signer parity-rpc-client + ``` +* Parity Ethereum Ethash & ProgPoW Implementations + ```bash + ethash + ``` +* Parity (EthCore) Library + ```bash + ethcore + ``` + * Parity Ethereum Blockchain Database, Generator, Configuration, +Caching, Importing Blocks, and Block Information + ```bash + ethcore-blockchain + ``` + * Parity Ethereum (EthCore) Contract Calls and Blockchain Service & Registry Information + ```bash + ethcore-call-contract + ``` + * Parity Ethereum (EthCore) Database Access & Utilities, Database Cache Manager + ```bash + ethcore-db + ``` + * Parity Ethereum Virtual Machine (EVM) Rust Implementation + ```bash + evm + ``` + * Parity Ethereum (EthCore) Light Client Implementation (Block Import IO Service, Blockchain Data Fetching, Light Client Header Chain Storage, Parity Light Protocol (PLP) Provider, Light Transaction Queue, CHT Definitions, Light Client Data Cache), Parity Light Protocol (PLP) Implementation, P2P Network I/O and Event Context Generalization, Peer Error Handling & Punishment, Request Load Timer & Distribution Manager, Pending Request Set Storage, Request Credit Management, Light Client Request Types, Request Chain Builder Utility, On-demand Chain Request Service over LES (for RPCs), ResponseGuard Implementation) + ```bash + ethcore-light + ``` + * Parity Smart Contract based Node Filter, Manage Permissions of Network Connections + ```bash + node-filter + ``` + * Parity Private Transactions + ```bash + ethcore-private-tx + ``` + * Parity Ethereum (EthCore) Client & Network Service Creation & Registration with the I/O Subsystem + ```bash + ethcore-service + ``` + * Parity Ethereum (EthCore) Blockchain Synchronization (Strategy, Blockchain Downloader, Blockchain Synchronization + Implementation of Ethereum Protocol, Propagating Data to Peers, Requesting Data from Peers, Supplying Data in + Response to Peer Requests, Handling Peer Responses, Matching Packet IDs and Protocol, Light Client Synchronization + of Header Chain, Header Download State Machine, Light Decoding & Verifying Header Responses, Private + Transaction Handling, Synchronization Snapshot Service to Download & Verify Block Chunks, Peer Connection + Management and Blockchain Client I/O Interface for Synchronization Handler, Transaction Statistics) + ```bash + ethcore-sync + ``` + * Parity Ethereum Common Types (Engine-specific Fork Choice, Epoch Verifiers & Transitions, Transaction Data + Structures & Errors, View onto Block RLP, etc) + ```bash + common-types + ``` + * Parity Ethereum Virtual Machines (VM) Support Library + ```bash + vm + ``` + * Parity Ethereum WASM Interpreter + ```bash + wasm + ``` + * Parity Ethereum WASM Test Run + ```bash + pwasm-run-test + ``` + * Parity EVM Implementation + ```bash + evmbin + ``` + * Parity Ethereum IPFS-compatible API + ```bash + parity-ipfs-api + ``` + * Parity Ethereum JSON Deserialization + ```bash + ethjson + ``` + * Parity Ethereum State Machine Generalization for Consensus Engines + ```bash + parity-machine + ``` +* Parity Ethereum (EthCore) Miner Interface (Manage Local Node Data, Fetch Current ETH Price, etc) + ```bash + ethcore-miner parity-local-store price-info ethcore-stratum using_queue + ``` +* Parity Ethereum (EthCore) Logger Implementation + ```bash + ethcore-logger + ``` +* Parity Ethereum Client C-Bindings Library + ```bash + parity-clib + ``` +* Parity Ethereum JSON-RPC Servers + ```bash + parity-rpc + ``` +* Parity Ethereum (EthCore) Secret Store + ```bash + ethcore-secretstore + ``` +* Parity Updater Service + ```bash + parity-updater parity-hash-fetch + ``` +* Parity Utilities + ```bash + ethcore-bloom-journal blooms-db dir eip-712 fake-fetch fastmap fetch ethcore-io journaldb keccak-hasher + len-caching-lock macros memory-cache memzero migration-rocksdb ethcore-network ethcore-network-devp2p + panic_hook patricia-trie-ethereum registrar rlp_compress rlp_derive parity-runtime stats time-utils + triehash-ethereum unexpected parity-version + ``` +* Parity Whisper Protocol Implementation + ```bash + parity-whisper whisper-cli + ``` + +### Contributing to documentation for Parity Ethereum packages + +https://doc.rust-lang.org/1.9.0/book/documentation.html[Document source code] for Parity Ethereum packages by annotating the source code with documentation comments. + +Example (generic): +```markdown +/// Summary +/// +/// Description +/// +/// # Panics +/// +/// # Errors +/// +/// # Safety +/// +/// # Examples +/// +/// Summary of Example 1 +/// +/// ```rust +/// // insert example 1 code here +/// ``` +/// +``` + +* Important notes: +** Documentation comments must use annotations with a triple slash `///` +** Modules are documented using `//!` +``` +//! Summary (of module) +//! +//! Description (of module) +``` +* Special section header is indicated with a hash `#`. +** `Panics` section requires an explanation if the function triggers a panic +** `Errors` section is for describing conditions under which a function of method returns `Err(E)` if it returns a `Result` +** `Safety` section requires an explanation if the function is `unsafe` +** `Examples` section includes examples of using the function or method +* Code block annotations for examples are included between triple graves, as shown above. +Instead of including the programming language to use for syntax highlighting as the annotation +after the triple graves, alternative annotations include the `ignore`, `text`, `should_panic`, or `no_run`. +* Summary sentence is a short high level single sentence of its functionality +* Description paragraph is for details additional to the summary sentence +* Missing documentation annotations may be used to identify where to generate warnings with `#![warn(missing_docs)]` +or errors `#![deny(missing_docs)]` +* Hide documentation for items with `#[doc(hidden)]` + +### Contributing to documentation (tests, extended examples, macros) for Parity Ethereum packages + +The code block annotations in the `# Example` section may be used as https://doc.rust-lang.org/1.9.0/book/documentation.html#documentation-as-tests[documentation as tests and for extended examples]. + +* Important notes: +** Rustdoc will automatically add a `main()` wrapper around the code block to test it +** https://doc.rust-lang.org/1.9.0/book/documentation.html#documenting-macros[Documenting macros]. +** Documentation as tests examples are included when running `cargo test` + +## 5. Toolchain In addition to the Parity Ethereum client, there are additional tools in this repository available: -- [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - EVM implementation for Parity Ethereum. -- [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum function calls encoding. -- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethstore) - Parity Ethereum key management. -- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethkey) - Parity Ethereum keys generator. -- [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Implementation of Whisper-v2 PoC. +- [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - Parity Ethereum EVM Implementation. +- [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum Encoding of Function Calls. +- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethstore) - Parity Ethereum Key Management. +- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethkey) - Parity Ethereum Keys Generator. +- [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Parity Ethereum Whisper-v2 PoC Implementation. -## Join the chat! +## 6. Community + +### Join the chat! Questions? Get in touch with us on Gitter: [![Gitter: Parity](https://img.shields.io/badge/gitter-parity-4AB495.svg)](https://gitter.im/paritytech/parity) @@ -149,8 +379,14 @@ Questions? Get in touch with us on Gitter: Alternatively, join our community on Matrix: [![Riot: +Parity](https://img.shields.io/badge/riot-%2Bparity%3Amatrix.parity.io-orange.svg)](https://riot.im/app/#/group/+parity:matrix.parity.io) -## Documentation +## 7. Contributing -Official website: https://parity.io +An introduction has been provided in the ["So You Want to be a Core Developer" presentation slides by Hernando Castano](http://tiny.cc/contrib-to-parity-eth). Additional guidelines are provided in [CONTRIBUTING](https://github.com/paritytech/parity-ethereum/blob/master/CONTRIBUTING.md). -Be sure to [check out our wiki](https://wiki.parity.io) for more information. +### Contributor Code of Conduct + +[CODE_OF_CONDUCT](https://github.com/paritytech/parity-ethereum/blob/master/CODE_OF_CONDUCT.md) + +## 8. License + +[LICENSE](https://github.com/paritytech/parity-ethereum/blob/master/LICENSE) From 4dd7577e2ff3e754f091089353825561cee81e00 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 16:46:57 +0200 Subject: [PATCH 02/42] docs: Simplify package descriptions in Readme --- README.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 655eb31004f..8c337966ef8 100644 --- a/README.md +++ b/README.md @@ -205,7 +205,7 @@ Caching, Importing Blocks, and Block Information ```bash evm ``` - * Parity Ethereum (EthCore) Light Client Implementation (Block Import IO Service, Blockchain Data Fetching, Light Client Header Chain Storage, Parity Light Protocol (PLP) Provider, Light Transaction Queue, CHT Definitions, Light Client Data Cache), Parity Light Protocol (PLP) Implementation, P2P Network I/O and Event Context Generalization, Peer Error Handling & Punishment, Request Load Timer & Distribution Manager, Pending Request Set Storage, Request Credit Management, Light Client Request Types, Request Chain Builder Utility, On-demand Chain Request Service over LES (for RPCs), ResponseGuard Implementation) + * Parity Ethereum (EthCore) Light Client Implementation ```bash ethcore-light ``` @@ -221,17 +221,11 @@ Caching, Importing Blocks, and Block Information ```bash ethcore-service ``` - * Parity Ethereum (EthCore) Blockchain Synchronization (Strategy, Blockchain Downloader, Blockchain Synchronization - Implementation of Ethereum Protocol, Propagating Data to Peers, Requesting Data from Peers, Supplying Data in - Response to Peer Requests, Handling Peer Responses, Matching Packet IDs and Protocol, Light Client Synchronization - of Header Chain, Header Download State Machine, Light Decoding & Verifying Header Responses, Private - Transaction Handling, Synchronization Snapshot Service to Download & Verify Block Chunks, Peer Connection - Management and Blockchain Client I/O Interface for Synchronization Handler, Transaction Statistics) + * Parity Ethereum (EthCore) Blockchain Synchronization ```bash ethcore-sync ``` - * Parity Ethereum Common Types (Engine-specific Fork Choice, Epoch Verifiers & Transitions, Transaction Data - Structures & Errors, View onto Block RLP, etc) + * Parity Ethereum Common Types ```bash common-types ``` @@ -263,7 +257,7 @@ Caching, Importing Blocks, and Block Information ```bash parity-machine ``` -* Parity Ethereum (EthCore) Miner Interface (Manage Local Node Data, Fetch Current ETH Price, etc) +* Parity Ethereum (EthCore) Miner Interface ```bash ethcore-miner parity-local-store price-info ethcore-stratum using_queue ``` From 950d634206fd11b9e65ea10098b88c8983832664 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 16:50:35 +0200 Subject: [PATCH 03/42] docs: Fix typos --- ethcore/private-tx/src/encryptor.rs | 2 +- ethcore/types/src/restoration_status.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ethcore/private-tx/src/encryptor.rs b/ethcore/private-tx/src/encryptor.rs index 597cc887969..6a24cf93000 100644 --- a/ethcore/private-tx/src/encryptor.rs +++ b/ethcore/private-tx/src/encryptor.rs @@ -60,7 +60,7 @@ pub trait Encryptor: Send + Sync + 'static { ) -> Result; } -/// Configurtion for key server encryptor +/// Configuration for key server encryptor #[derive(Default, PartialEq, Debug, Clone)] pub struct EncryptorConfig { /// URL to key server diff --git a/ethcore/types/src/restoration_status.rs b/ethcore/types/src/restoration_status.rs index dea342a3104..b36ec7ef4a9 100644 --- a/ethcore/types/src/restoration_status.rs +++ b/ethcore/types/src/restoration_status.rs @@ -21,7 +21,7 @@ pub enum RestorationStatus { /// No restoration. Inactive, - /// Restoration is initalizing + /// Restoration is initializing Initializing { /// Number of chunks done/imported chunks_done: u32, From 11834e34150812f3f41fbccdbd95593f75743315 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 17:06:03 +0200 Subject: [PATCH 04/42] docs: Update Cargo package configs adding missing descriptions --- accounts/Cargo.toml | 2 +- accounts/ethkey/Cargo.toml | 1 + accounts/ethkey/README.md | 2 +- accounts/ethkey/cli/Cargo.toml | 1 + accounts/ethstore/Cargo.toml | 1 + accounts/ethstore/cli/Cargo.toml | 1 + accounts/fake-hardware-wallet/Cargo.toml | 2 +- accounts/hw/Cargo.toml | 2 +- chainspec/Cargo.toml | 1 + cli-signer/Cargo.toml | 3 ++- cli-signer/rpc-client/Cargo.toml | 4 ++-- ethash/Cargo.toml | 1 + ethcore/Cargo.toml | 2 +- ethcore/blockchain/Cargo.toml | 2 +- ethcore/call-contract/Cargo.toml | 1 + ethcore/evm/Cargo.toml | 1 + ethcore/light/Cargo.toml | 2 +- ethcore/node-filter/Cargo.toml | 2 +- ethcore/service/Cargo.toml | 1 + ethcore/sync/Cargo.toml | 2 +- ethcore/types/Cargo.toml | 2 +- ethcore/wasm/Cargo.toml | 1 + ethcore/wasm/run/Cargo.toml | 1 + evmbin/Cargo.toml | 2 +- ipfs/Cargo.toml | 2 +- json/Cargo.toml | 1 + machine/Cargo.toml | 8 ++++++++ parity-clib/Cargo.toml | 2 +- parity/logger/Cargo.toml | 2 +- rpc/Cargo.toml | 2 +- secret-store/Cargo.toml | 2 +- whisper/Cargo.toml | 2 +- 32 files changed, 41 insertions(+), 20 deletions(-) create mode 100644 machine/Cargo.toml diff --git a/accounts/Cargo.toml b/accounts/Cargo.toml index 072593cd104..12100df6ed7 100644 --- a/accounts/Cargo.toml +++ b/accounts/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Account management for Parity Ethereum" +description = "Parity Ethereum Account Management" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-accounts" diff --git a/accounts/ethkey/Cargo.toml b/accounts/ethkey/Cargo.toml index ec784bd11d7..fe8541e98da 100644 --- a/accounts/ethkey/Cargo.toml +++ b/accounts/ethkey/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum Keys Generator" name = "ethkey" version = "0.3.0" authors = ["Parity Technologies "] diff --git a/accounts/ethkey/README.md b/accounts/ethkey/README.md index 6fc98b020d6..23c57fa4cad 100644 --- a/accounts/ethkey/README.md +++ b/accounts/ethkey/README.md @@ -5,7 +5,7 @@ Parity Ethereum keys generator. ### Usage ``` -Parity Ethereum keys generator. +Parity Ethereum Keys Generator. Copyright 2015-2019 Parity Technologies (UK) Ltd. Usage: diff --git a/accounts/ethkey/cli/Cargo.toml b/accounts/ethkey/cli/Cargo.toml index d43aa2c5c0a..cb57f05053f 100644 --- a/accounts/ethkey/cli/Cargo.toml +++ b/accounts/ethkey/cli/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum Keys Generator CLI" name = "ethkey-cli" version = "0.1.0" authors = ["Parity Technologies "] diff --git a/accounts/ethstore/Cargo.toml b/accounts/ethstore/Cargo.toml index 4563a803276..c16c4672d49 100644 --- a/accounts/ethstore/Cargo.toml +++ b/accounts/ethstore/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum Key Management" name = "ethstore" version = "0.2.1" authors = ["Parity Technologies "] diff --git a/accounts/ethstore/cli/Cargo.toml b/accounts/ethstore/cli/Cargo.toml index 82858eaa762..9578a753778 100644 --- a/accounts/ethstore/cli/Cargo.toml +++ b/accounts/ethstore/cli/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum Key Management CLI" name = "ethstore-cli" version = "0.1.1" authors = ["Parity Technologies "] diff --git a/accounts/fake-hardware-wallet/Cargo.toml b/accounts/fake-hardware-wallet/Cargo.toml index 5e20d8a6d31..3966012ac52 100644 --- a/accounts/fake-hardware-wallet/Cargo.toml +++ b/accounts/fake-hardware-wallet/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Fake hardware-wallet, for OS' that don't support libusb" +description = "Parity Ethereum Fake Hardware-Wallet for OS' without libusb Support" name = "fake-hardware-wallet" version = "0.0.1" license = "GPL-3.0" diff --git a/accounts/hw/Cargo.toml b/accounts/hw/Cargo.toml index ae7f0a655c5..acdd881c75b 100644 --- a/accounts/hw/Cargo.toml +++ b/accounts/hw/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Hardware wallet support." +description = "Parity Ethereum Hardware Wallet Support." homepage = "http://parity.io" license = "GPL-3.0" name = "hardware-wallet" diff --git a/chainspec/Cargo.toml b/chainspec/Cargo.toml index 8739ca7dcba..c0308edd320 100644 --- a/chainspec/Cargo.toml +++ b/chainspec/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum Chain Specification" name = "chainspec" version = "0.1.0" authors = ["Marek Kotewicz "] diff --git a/cli-signer/Cargo.toml b/cli-signer/Cargo.toml index 11dd06107e2..867e76b9de1 100644 --- a/cli-signer/Cargo.toml +++ b/cli-signer/Cargo.toml @@ -1,10 +1,11 @@ [package] -authors = ["Parity "] +description = "Parity Ethereum CLI Signer Tool" description = "Parity Cli Tool" homepage = "http://parity.io" license = "GPL-3.0" name = "cli-signer" version = "1.4.0" +authors = ["Parity "] [dependencies] ethereum-types = "0.4" diff --git a/cli-signer/rpc-client/Cargo.toml b/cli-signer/rpc-client/Cargo.toml index 53ec983391e..50565c0b34d 100644 --- a/cli-signer/rpc-client/Cargo.toml +++ b/cli-signer/rpc-client/Cargo.toml @@ -1,10 +1,10 @@ [package] -authors = ["Parity "] -description = "Parity Rpc Client" +description = "Parity Ethereum RPC Client" homepage = "http://parity.io" license = "GPL-3.0" name = "parity-rpc-client" version = "1.4.0" +authors = ["Parity "] [dependencies] ethereum-types = "0.4" diff --git a/ethash/Cargo.toml b/ethash/Cargo.toml index 929895aca78..59d26e128ec 100644 --- a/ethash/Cargo.toml +++ b/ethash/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum Ethash & ProgPoW Implementations" name = "ethash" version = "1.12.0" authors = ["Parity Technologies "] diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index e8f158ba421..ff1a910f7cf 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Ethcore library" +description = "Parity Ethereum (EthCore) Library" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore" diff --git a/ethcore/blockchain/Cargo.toml b/ethcore/blockchain/Cargo.toml index a2636975705..cf21448d055 100644 --- a/ethcore/blockchain/Cargo.toml +++ b/ethcore/blockchain/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Ethcore blockchain database" +description = "Parity Ethereum Blockchain Database, Generator, Configuration, Caching, Importing Blocks, and Block Information" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-blockchain" diff --git a/ethcore/call-contract/Cargo.toml b/ethcore/call-contract/Cargo.toml index 068434a1dec..7ee9bb7e652 100644 --- a/ethcore/call-contract/Cargo.toml +++ b/ethcore/call-contract/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum (EthCore) Contract Calls and Blockchain Service & Registry Information" name = "ethcore-call-contract" version = "0.1.0" license = "GPL-3.0" diff --git a/ethcore/evm/Cargo.toml b/ethcore/evm/Cargo.toml index e40c7485f9a..67c3be6ff72 100644 --- a/ethcore/evm/Cargo.toml +++ b/ethcore/evm/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum Virtual Machine (EVM) Rust Implementation" name = "evm" version = "0.1.0" authors = ["Parity Technologies "] diff --git a/ethcore/light/Cargo.toml b/ethcore/light/Cargo.toml index e53d29a4666..d549147434f 100644 --- a/ethcore/light/Cargo.toml +++ b/ethcore/light/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Parity Light Client Implementation" +description = "Parity Ethereum (EthCore) Light Client Implementation (Block Import IO Service, Blockchain Data Fetching, Light Client Header Chain Storage, Parity Light Protocol (PLP) Provider, Light Transaction Queue, CHT Definitions, Light Client Data Cache), Parity Light Protocol (PLP) Implementation, P2P Network I/O and Event Context Generalization, Peer Error Handling & Punishment, Request Load Timer & Distribution Manager, Pending Request Set Storage, Request Credit Management, Light Client Request Types, Request Chain Builder Utility, On-demand Chain Request Service over LES (for RPCs), ResponseGuard Implementation)" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-light" diff --git a/ethcore/node-filter/Cargo.toml b/ethcore/node-filter/Cargo.toml index bd184685259..80823290c27 100644 --- a/ethcore/node-filter/Cargo.toml +++ b/ethcore/node-filter/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Parity smart network connections" +description = "Parity Smart Contract based Node Filter, Manage Permissions of Network Connections" homepage = "http://parity.io" license = "GPL-3.0" name = "node-filter" diff --git a/ethcore/service/Cargo.toml b/ethcore/service/Cargo.toml index 7db0ad2770b..c0be41038b9 100644 --- a/ethcore/service/Cargo.toml +++ b/ethcore/service/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum (EthCore) Client & Network Service Creation & Registration with the I/O Subsystem" name = "ethcore-service" version = "0.1.0" authors = ["Parity Technologies "] diff --git a/ethcore/sync/Cargo.toml b/ethcore/sync/Cargo.toml index 3cbb5b98398..161a7971b51 100644 --- a/ethcore/sync/Cargo.toml +++ b/ethcore/sync/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Ethcore blockchain sync" +description = "Parity Ethereum (EthCore) Blockchain Synchronization (Strategy, Blockchain Downloader, Blockchain Synchronization Implementation of Ethereum Protocol, Propagating Data to Peers, Requesting Data from Peers, Supplying Data in Response to Peer Requests, Handling Peer Responses, Matching Packet IDs and Protocol, Light Client Synchronization of Header Chain, Header Download State Machine, Light Decoding & Verifying Header Responses, Private Transaction Handling, Synchronization Snapshot Service to Download & Verify Block Chunks, Peer Connection Management and Blockchain Client I/O Interface for Synchronization Handler, Transaction Statistics)" name = "ethcore-sync" version = "1.12.0" license = "GPL-3.0" diff --git a/ethcore/types/Cargo.toml b/ethcore/types/Cargo.toml index e3f9bd1db63..0d2cef5152e 100644 --- a/ethcore/types/Cargo.toml +++ b/ethcore/types/Cargo.toml @@ -1,6 +1,6 @@ [package] +description = "Parity Ethereum Common Types" name = "common-types" -description = "Common types used throughout the codebase" version = "0.1.0" authors = ["Parity Technologies "] diff --git a/ethcore/wasm/Cargo.toml b/ethcore/wasm/Cargo.toml index 02aa978d7b6..e724a6a4cf9 100644 --- a/ethcore/wasm/Cargo.toml +++ b/ethcore/wasm/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "WASM Interpreter" name = "wasm" version = "0.1.0" authors = ["Parity Technologies "] diff --git a/ethcore/wasm/run/Cargo.toml b/ethcore/wasm/run/Cargo.toml index 9260d1eee83..eee0d5fa329 100644 --- a/ethcore/wasm/run/Cargo.toml +++ b/ethcore/wasm/run/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity WASM Test Run" name = "pwasm-run-test" version = "0.1.0" authors = ["Parity Technologies "] diff --git a/evmbin/Cargo.toml b/evmbin/Cargo.toml index 95b532366cd..dd6a3aad042 100644 --- a/evmbin/Cargo.toml +++ b/evmbin/Cargo.toml @@ -1,6 +1,6 @@ [package] +description = "Parity EVM Implementation" name = "evmbin" -description = "Parity's EVM implementation" version = "0.1.0" authors = ["Parity Technologies "] diff --git a/ipfs/Cargo.toml b/ipfs/Cargo.toml index 23dc8d68987..3c0fcd7947c 100644 --- a/ipfs/Cargo.toml +++ b/ipfs/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Parity IPFS-compatible API" +description = "Parity Ethereum IPFS-compatible API" name = "parity-ipfs-api" version = "1.12.0" license = "GPL-3.0" diff --git a/json/Cargo.toml b/json/Cargo.toml index 2a6d8c7f36b..164ee6bce46 100644 --- a/json/Cargo.toml +++ b/json/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Parity Ethereum JSON Deserialization" name = "ethjson" version = "0.1.0" authors = ["Parity Technologies "] diff --git a/machine/Cargo.toml b/machine/Cargo.toml new file mode 100644 index 00000000000..56b47ac3025 --- /dev/null +++ b/machine/Cargo.toml @@ -0,0 +1,8 @@ +[package] +description = "Parity Ethereum State Machine Generalization for Consensus Engines" +name = "parity-machine" +version = "0.1.0" +authors = ["Parity Technologies "] + +[dependencies] +ethereum-types = "0.4" diff --git a/parity-clib/Cargo.toml b/parity-clib/Cargo.toml index f57e503dea6..4e25ada43bc 100644 --- a/parity-clib/Cargo.toml +++ b/parity-clib/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "C bindings for the Parity Ethereum client" +description = "Parity Ethereum Client C-Bindings Library" name = "parity-clib" version = "1.12.0" license = "GPL-3.0" diff --git a/parity/logger/Cargo.toml b/parity/logger/Cargo.toml index 17c8c4396de..217bcf48a61 100644 --- a/parity/logger/Cargo.toml +++ b/parity/logger/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Log implementation for Parity" +description = "Parity Ethereum Logger Implementation" name = "ethcore-logger" version = "1.12.0" license = "GPL-3.0" diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 33559a55954..b695087c2b7 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Parity JSON-RPC servers." +description = "Parity Ethereum JSON-RPC Servers" name = "parity-rpc" version = "1.12.0" license = "GPL-3.0" diff --git a/secret-store/Cargo.toml b/secret-store/Cargo.toml index edf329706d0..464c98bcdcc 100644 --- a/secret-store/Cargo.toml +++ b/secret-store/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Ethcore Secret Store" +description = "Parity Ethereum (EthCore) Secret Store" name = "ethcore-secretstore" version = "1.0.0" license = "GPL-3.0" diff --git a/whisper/Cargo.toml b/whisper/Cargo.toml index c23df60cd2a..6444c360beb 100644 --- a/whisper/Cargo.toml +++ b/whisper/Cargo.toml @@ -1,8 +1,8 @@ [package] +description = "Parity Ethereum Whisper Protocol Implementation" name = "parity-whisper" version = "0.1.0" authors = ["Parity Technologies "] -description = "Whisper Protocol implementation for Parity" [dependencies] bitflags = "0.9" From f91f26d19d4df33716e653fc9a74d1ae2c19f3e2 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 17:12:13 +0200 Subject: [PATCH 05/42] fix: Remove machine since was accidental from diff branch. Fix contribting indentation. --- CONTRIBUTING.md | 2 +- machine/Cargo.toml | 8 -------- miner/Cargo.toml | 2 +- 3 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 machine/Cargo.toml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fc92df00a2b..dfe50344421 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,7 +22,7 @@ There are a few basic ground-rules for contributors (including the maintainer(s) Merging pull requests once CI is successful: * A PR needs to be reviewed and approved by project maintainers unless: - * it does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged[`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22) and merged by its author once CI is complete. + * it does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged[`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22) and merged by its author once CI is complete. * it is an urgent fix with no large change to logic, then it may be merged after a non-author contributor has approved the review once CI is complete. * Once a PR is ready for review please add the [`pleasereview`](https://github.com/paritytech/parity-ethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label. Generally PRs should sit with this label for 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it. diff --git a/machine/Cargo.toml b/machine/Cargo.toml deleted file mode 100644 index 56b47ac3025..00000000000 --- a/machine/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -description = "Parity Ethereum State Machine Generalization for Consensus Engines" -name = "parity-machine" -version = "0.1.0" -authors = ["Parity Technologies "] - -[dependencies] -ethereum-types = "0.4" diff --git a/miner/Cargo.toml b/miner/Cargo.toml index 4a017653ba4..0ffc74b7a85 100644 --- a/miner/Cargo.toml +++ b/miner/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Parity Miner interface." +description = "Parity Ethereum Miner Interface." name = "ethcore-miner" homepage = "http://parity.io" license = "GPL-3.0" From 5892bca186ec339e6e3cdfe8f147e2ec9ebc691f Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 17:41:11 +0200 Subject: [PATCH 06/42] fix: Fix formatting --- README.md | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 8c337966ef8..4c9b58dc14b 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,10 @@ 1. [Description](#chapter-001) 2. [Technical Overview](#chapter-002) -3. [Building](#chapter-003) - 3.1 [Building Dependencies](#chapter-0031) - 3.2 [Building from Source Code](#chapter-0032) - 3.3 [Simple One-Line Installer for Mac and Linux](#chapter-0033) +3. [Building](#chapter-003)
+ 3.1 [Building Dependencies](#chapter-0031)
+ 3.2 [Building from Source Code](#chapter-0032)
+ 3.3 [Simple One-Line Installer for Mac and Linux](#chapter-0033)
3.4 [Starting Parity Ethereum](#chapter-0034) 4. [Documentation](#chapter-004) 5. [Toolchain](#chapter-005) @@ -164,6 +164,7 @@ cargo doc --package --open Replacing `` with one of the following (i.e. `cargo doc --package parity-ethereum --open`): +

 * Parity Ethereum (EthCore) Client Application
   ```bash
   parity-ethereum
@@ -283,19 +284,21 @@ Caching, Importing Blocks, and Block Information
   ```
 * Parity Utilities
   ```bash
-  ethcore-bloom-journal blooms-db dir eip-712 fake-fetch fastmap fetch ethcore-io journaldb keccak-hasher
-  len-caching-lock macros memory-cache memzero migration-rocksdb ethcore-network ethcore-network-devp2p
-  panic_hook patricia-trie-ethereum registrar rlp_compress rlp_derive parity-runtime stats time-utils
-  triehash-ethereum unexpected parity-version
+  ethcore-bloom-journal blooms-db dir eip-712 fake-fetch fastmap fetch ethcore-io
+  journaldb keccak-hasher len-caching-lock macros memory-cache memzero
+  migration-rocksdb ethcore-network ethcore-network-devp2p panic_hook
+  patricia-trie-ethereum registrar rlp_compress rlp_derive parity-runtime stats
+  time-utils triehash-ethereum unexpected parity-version
   ```
 * Parity Whisper Protocol Implementation
   ```bash
   parity-whisper whisper-cli
   ```
+

### Contributing to documentation for Parity Ethereum packages -https://doc.rust-lang.org/1.9.0/book/documentation.html[Document source code] for Parity Ethereum packages by annotating the source code with documentation comments. +[Document source code](https://doc.rust-lang.org/1.9.0/book/documentation.html) for Parity Ethereum packages by annotating the source code with documentation comments. Example (generic): ```markdown @@ -320,8 +323,8 @@ Example (generic): ``` * Important notes: -** Documentation comments must use annotations with a triple slash `///` -** Modules are documented using `//!` + * Documentation comments must use annotations with a triple slash `///` + * Modules are documented using `//!` ``` //! Summary (of module) //! @@ -346,9 +349,9 @@ or errors `#![deny(missing_docs)]` The code block annotations in the `# Example` section may be used as https://doc.rust-lang.org/1.9.0/book/documentation.html#documentation-as-tests[documentation as tests and for extended examples]. * Important notes: -** Rustdoc will automatically add a `main()` wrapper around the code block to test it -** https://doc.rust-lang.org/1.9.0/book/documentation.html#documenting-macros[Documenting macros]. -** Documentation as tests examples are included when running `cargo test` + * Rustdoc will automatically add a `main()` wrapper around the code block to test it + * https://doc.rust-lang.org/1.9.0/book/documentation.html#documenting-macros[Documenting macros]. + * Documentation as tests examples are included when running `cargo test` ## 5. Toolchain From dfacb82c3033fdd753a42d855fe9a9af981f99ee Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 17:45:46 +0200 Subject: [PATCH 07/42] remove details snippet since not code and formats badly --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 4c9b58dc14b..3f9cdb3fadc 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ Be sure to [check out our wiki](https://wiki.parity.io) for more information. ### Viewing documentation for Parity Ethereum packages -You can generate documentation for a Parity Ethereum Rust package and have it automatically open in your web browser using [rustdoc with Cargo](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html#using-rustdoc-with-cargo), (of the The Rustdoc Book), by running the the following command: +You can generate documentation for a Parity Ethereum Rust package and have it automatically open in your web browser using [rustdoc with Cargo](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html#using-rustdoc-with-cargo), (of the The Rustdoc Book), by running the the following commands: ``` cargo doc --package --open @@ -164,7 +164,6 @@ cargo doc --package --open Replacing `` with one of the following (i.e. `cargo doc --package parity-ethereum --open`): -

 * Parity Ethereum (EthCore) Client Application
   ```bash
   parity-ethereum
@@ -294,7 +293,6 @@ Caching, Importing Blocks, and Block Information
   ```bash
   parity-whisper whisper-cli
   ```
-

### Contributing to documentation for Parity Ethereum packages From a37742e9f7e4153804927d97528efd4559adf170 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 18:29:13 +0200 Subject: [PATCH 08/42] review-fix: Remove duplicate description --- cli-signer/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/cli-signer/Cargo.toml b/cli-signer/Cargo.toml index 867e76b9de1..aa56da6f85e 100644 --- a/cli-signer/Cargo.toml +++ b/cli-signer/Cargo.toml @@ -1,6 +1,5 @@ [package] description = "Parity Ethereum CLI Signer Tool" -description = "Parity Cli Tool" homepage = "http://parity.io" license = "GPL-3.0" name = "cli-signer" From 049135ef19cc0337cddea5e24be1f0d6595b6ff3 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Mon, 13 May 2019 21:01:16 +0200 Subject: [PATCH 09/42] fix dot point formatting --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3f9cdb3fadc..9b2b1a8dcf1 100644 --- a/README.md +++ b/README.md @@ -329,10 +329,10 @@ Example (generic): //! Description (of module) ``` * Special section header is indicated with a hash `#`. -** `Panics` section requires an explanation if the function triggers a panic -** `Errors` section is for describing conditions under which a function of method returns `Err(E)` if it returns a `Result` -** `Safety` section requires an explanation if the function is `unsafe` -** `Examples` section includes examples of using the function or method + * `Panics` section requires an explanation if the function triggers a panic + * `Errors` section is for describing conditions under which a function of method returns `Err(E)` if it returns a `Result` + * `Safety` section requires an explanation if the function is `unsafe` + * `Examples` section includes examples of using the function or method * Code block annotations for examples are included between triple graves, as shown above. Instead of including the programming language to use for syntax highlighting as the annotation after the triple graves, alternative annotations include the `ignore`, `text`, `should_panic`, or `no_run`. From 10205c9f447bc3a5484e95c7b736390af6af13b2 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Tue, 14 May 2019 07:07:42 +0200 Subject: [PATCH 10/42] fix: Add missing description to vm package --- ethcore/vm/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/ethcore/vm/Cargo.toml b/ethcore/vm/Cargo.toml index 19b84a6ecc2..0e77ea02129 100644 --- a/ethcore/vm/Cargo.toml +++ b/ethcore/vm/Cargo.toml @@ -1,4 +1,5 @@ [package] +description = "Virtual Machines (VM) Support Library" name = "vm" version = "0.1.0" authors = ["Parity Technologies "] From cf05a7dd9b14ac52d57aa13f8ad2f40e190a2254 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Tue, 14 May 2019 14:32:37 +0200 Subject: [PATCH 11/42] fix: Remove duplicate Code of Conduct and Contributor guidelines --- CODE_OF_CONDUCT.md | 50 ------------------------------------- CONTRIBUTING.md | 61 ---------------------------------------------- 2 files changed, 111 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index b26b537192c..00000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,50 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -### Facilitation, Not Strongarming - -We recognize that this software is merely a tool for users to create and maintain their blockchain of preference. We see that blockchains are naturally community platforms with users being the ultimate decision makers. We assert that good software will maximize user agency by facilitate user-expression on the network. As such: - -* This project will strive to give users as much choice as is both reasonable and possible over what protocol they adhere to; but -* use of the project's technical forums, commenting systems, pull requests and issue trackers as a means to express individual protocol preferences is forbidden. - -### Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -### Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -### Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at admin@parity.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -### Attribution - -This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at http://contributor-covenant.org/version/1/4. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index dfe50344421..00000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,61 +0,0 @@ -# Contributing - -The `Parity Ethereum` project is an **OPENISH Open Source Project** - -## What? - -Individuals making significant and valuable contributions are given commit-access to a project to contribute as they see fit. A project is more like an open wiki than a standard guarded open source project. - -## Rules - -There are a few basic ground-rules for contributors (including the maintainer(s) of the project): - -* **No `--force` pushes** or modifying the master branch history in any way. If you need to rebase, ensure you do it in your own repo. -* **Non-master branches**, prefixed with a short name moniker (e.g. `gav-my-feature`) must be used for ongoing work, and include the associated issue ID (if any) in the branch name. -* **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. -* A pull-request *must not be merged until CI* has finished successfully. -* Contributors should adhere to the [house coding style](https://wiki.parity.io/Coding-guide). - - -## Merge Process - -Merging pull requests once CI is successful: - -* A PR needs to be reviewed and approved by project maintainers unless: - * it does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged[`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22) and merged by its author once CI is complete. - * it is an urgent fix with no large change to logic, then it may be merged after a non-author contributor has approved the review once CI is complete. - -* Once a PR is ready for review please add the [`pleasereview`](https://github.com/paritytech/parity-ethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label. Generally PRs should sit with this label for 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it. -* No PR should be merged until all reviews' comments are addressed. - -*Reviewing pull requests*: - -When reviewing a pull request, the end-goal is to suggest useful changes to the author. Reviews should finish with approval unless there are issues that would result in: - -* Buggy behavior. -* Undue maintenance burden. -* Breaking with house coding style. -* Pessimization (i.e. reduction of speed as measured in the projects benchmarks). -* Feature reduction (i.e. it removes some aspect of functionality that a significant minority of users rely on). -* Uselessness (i.e. it does not strictly add a feature or fix a known issue). - -*Reviews may not be used as an effective veto for a PR because*: - -* There exists a somewhat cleaner/better/faster way of accomplishing the same feature/fix. -* It does not fit well with some other contributors' longer-term vision for the project. - -## Helping out - -We use [labels](https://github.com/paritytech/parity-ethereum/labels) to manage PRs and issues and communicate state of a PR. Please familiarize yourself with them. Furthermore we are organizing issues in [milestones](https://github.com/paritytech/parity-ethereum/milestones). Best way to get started is to a pick a ticket from the current milestone tagged [`easy`](https://github.com/paritytech/parity-ethereum/labels/Q2-easy%20%F0%9F%92%83) and get going or [`mentor`](https://github.com/paritytech/parity-ethereum/labels/Q1-mentor%20%F0%9F%95%BA) and get in contact with the mentor offering their support on that larger task. - -## Releases - -Declaring formal releases remains the prerogative of the project maintainer(s). - -## Changes to this arrangement - -This is an experiment and feedback is welcome! This document may also be subject to pull-requests or changes by contributors where you believe you have something valuable to add or change. - -## Heritage - -These contributing guidelines are modified from the "OPEN Open Source Project" guidelines for the Level project: https://github.com/Level/community/blob/master/CONTRIBUTING.md From bc30b00ff6574288026c859c384e88469b7a98f9 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Tue, 14 May 2019 14:34:16 +0200 Subject: [PATCH 12/42] docs: Update Contributing for consistency with other repos --- .github/CONTRIBUTING.md | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index b51cca8821e..6dd539f1953 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -24,7 +24,46 @@ Also, try to include **steps to reproduce** the issue and expand on the **actual If you would like to contribute to Parity Ethereum, please **fork it**, fix bugs or implement features, and [propose a pull request](https://github.com/paritytech/parity-ethereum/compare). -Please, refer to the [Coding Guide](https://wiki.parity.io/Coding-guide) in our wiki for more details about hacking on Parity. +### Labels & Milestones + +We use [labels](https://github.com/paritytech/parity-ethereum/labels) to manage PRs and issues and communicate state of a PR. Please familiarize yourself with them. Furthermore we are organizing issues in [milestones](https://github.com/paritytech/parity-ethereum/milestones). Best way to get started is to a pick a ticket from the current milestone tagged [`easy`](https://github.com/paritytech/parity-ethereum/labels/Q2-easy%20%F0%9F%92%83) and get going or [`mentor`](https://github.com/paritytech/parity-ethereum/labels/Q1-mentor%20%F0%9F%95%BA) and get in contact with the mentor offering their support on that larger task. + +### Rules + +There are a few basic ground-rules for contributors (including the maintainer(s) of the project): + +* **No `--force` pushes** or modifying the master branch history in any way. If you need to rebase, ensure you do it in your own repo. +* **Non-master branches**, prefixed with a short name moniker (e.g. `gav-my-feature`) must be used for ongoing work, and include the associated issue ID (if any) in the branch name. +* **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. +* A pull-request *must not be merged until CI* has finished successfully. +* Contributors should adhere to the [house coding style](https://wiki.parity.io/Coding-guide). + +### Merge Process + +Merging pull requests once CI is successful: + +* A PR needs to be reviewed and approved by project maintainers unless: + * it does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged[`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22) and merged by its author once CI is complete. + * it is an urgent fix with no large change to logic, then it may be merged after a non-author contributor has approved the review once CI is complete. + +* Once a PR is ready for review please add the [`pleasereview`](https://github.com/paritytech/parity-ethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label. Generally PRs should sit with this label for 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it. +* No PR should be merged until all reviews' comments are addressed. + +*Reviewing pull requests*: + +When reviewing a pull request, the end-goal is to suggest useful changes to the author. Reviews should finish with approval unless there are issues that would result in: + +* Buggy behavior. +* Undue maintenance burden. +* Breaking with house coding style. +* Pessimization (i.e. reduction of speed as measured in the projects benchmarks). +* Feature reduction (i.e. it removes some aspect of functionality that a significant minority of users rely on). +* Uselessness (i.e. it does not strictly add a feature or fix a known issue). + +*Reviews may not be used as an effective veto for a PR because*: + +* There exists a somewhat cleaner/better/faster way of accomplishing the same feature/fix. +* It does not fit well with some other contributors' longer-term vision for the project. ## License. From a8132d7ab733cd03aa284d8c5e1e0ed07ddb3003 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Tue, 14 May 2019 14:34:51 +0200 Subject: [PATCH 13/42] docs: Update Readme to link to existing Code of Conduct and Contributor guidelines in .github folder --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9b2b1a8dcf1..db4be2cbf28 100644 --- a/README.md +++ b/README.md @@ -376,11 +376,11 @@ Alternatively, join our community on Matrix: ## 7. Contributing -An introduction has been provided in the ["So You Want to be a Core Developer" presentation slides by Hernando Castano](http://tiny.cc/contrib-to-parity-eth). Additional guidelines are provided in [CONTRIBUTING](https://github.com/paritytech/parity-ethereum/blob/master/CONTRIBUTING.md). +An introduction has been provided in the ["So You Want to be a Core Developer" presentation slides by Hernando Castano](http://tiny.cc/contrib-to-parity-eth). Additional guidelines are provided in [CONTRIBUTING](https://github.com/paritytech/parity-ethereum/blob/master/.github/CONTRIBUTING.md). ### Contributor Code of Conduct -[CODE_OF_CONDUCT](https://github.com/paritytech/parity-ethereum/blob/master/CODE_OF_CONDUCT.md) +[CODE_OF_CONDUCT](https://github.com/paritytech/parity-ethereum/blob/master/.github/CODE_OF_CONDUCT.md) ## 8. License From 812432877d8a4b7cad5bddb536826ca3742ca5ed Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Tue, 14 May 2019 14:36:52 +0200 Subject: [PATCH 14/42] refactor: Add missing space --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 6dd539f1953..8bd7cfe33ca 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -43,7 +43,7 @@ There are a few basic ground-rules for contributors (including the maintainer(s) Merging pull requests once CI is successful: * A PR needs to be reviewed and approved by project maintainers unless: - * it does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged[`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22) and merged by its author once CI is complete. + * it does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged [`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22) and merged by its author once CI is complete. * it is an urgent fix with no large change to logic, then it may be merged after a non-author contributor has approved the review once CI is complete. * Once a PR is ready for review please add the [`pleasereview`](https://github.com/paritytech/parity-ethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label. Generally PRs should sit with this label for 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it. From e6e5f8281675edfaa9c4822ec2653388b8bba558 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Tue, 14 May 2019 14:39:07 +0200 Subject: [PATCH 15/42] fix: Fix links to be markdown format --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index db4be2cbf28..08ed4fa9d0a 100644 --- a/README.md +++ b/README.md @@ -344,11 +344,11 @@ or errors `#![deny(missing_docs)]` ### Contributing to documentation (tests, extended examples, macros) for Parity Ethereum packages -The code block annotations in the `# Example` section may be used as https://doc.rust-lang.org/1.9.0/book/documentation.html#documentation-as-tests[documentation as tests and for extended examples]. +The code block annotations in the `# Example` section may be used as [documentation as tests and for extended examples](https://doc.rust-lang.org/1.9.0/book/documentation.html#documentation-as-tests). * Important notes: * Rustdoc will automatically add a `main()` wrapper around the code block to test it - * https://doc.rust-lang.org/1.9.0/book/documentation.html#documenting-macros[Documenting macros]. + * [Documenting macros](https://doc.rust-lang.org/1.9.0/book/documentation.html#documenting-macros). * Documentation as tests examples are included when running `cargo test` ## 5. Toolchain From c7f2a87b21a166d847695d77ab5c7813238992cb Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Wed, 15 May 2019 16:27:13 +0200 Subject: [PATCH 16/42] review-fix: Update CONTRIBUTING.md to link to Parity Ethereum Style Guide --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 8bd7cfe33ca..df4ea9ef1d4 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -36,7 +36,7 @@ There are a few basic ground-rules for contributors (including the maintainer(s) * **Non-master branches**, prefixed with a short name moniker (e.g. `gav-my-feature`) must be used for ongoing work, and include the associated issue ID (if any) in the branch name. * **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. * A pull-request *must not be merged until CI* has finished successfully. -* Contributors should adhere to the [house coding style](https://wiki.parity.io/Coding-guide). +* Contributors should adhere to the [Parity Ethereum Style Guide](https://wiki.parity.io/Parity-Ethereum-Style-Guide). ### Merge Process From c40158c876e1fe87f953209389d3e513503b5620 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 20:43:24 +1000 Subject: [PATCH 17/42] docs: Fix type in .github/CONTRIBUTING.md Co-Authored-By: David --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index df4ea9ef1d4..3554ff4ad18 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -26,7 +26,7 @@ If you would like to contribute to Parity Ethereum, please **fork it**, fix bugs ### Labels & Milestones -We use [labels](https://github.com/paritytech/parity-ethereum/labels) to manage PRs and issues and communicate state of a PR. Please familiarize yourself with them. Furthermore we are organizing issues in [milestones](https://github.com/paritytech/parity-ethereum/milestones). Best way to get started is to a pick a ticket from the current milestone tagged [`easy`](https://github.com/paritytech/parity-ethereum/labels/Q2-easy%20%F0%9F%92%83) and get going or [`mentor`](https://github.com/paritytech/parity-ethereum/labels/Q1-mentor%20%F0%9F%95%BA) and get in contact with the mentor offering their support on that larger task. +We use [labels](https://github.com/paritytech/parity-ethereum/labels) to manage PRs and issues and communicate the state of a PR. Please familiarize yourself with them. Furthermore we are organizing issues in [milestones](https://github.com/paritytech/parity-ethereum/milestones). Best way to get started is to a pick a ticket from the current milestone tagged [`easy`](https://github.com/paritytech/parity-ethereum/labels/Q2-easy%20%F0%9F%92%83) and get going, or [`mentor`](https://github.com/paritytech/parity-ethereum/labels/Q1-mentor%20%F0%9F%95%BA) and get in contact with the mentor offering their support on that larger task. ### Rules From d1ec4756c3e82a1d52b2416dccccb4b4c879cbcf Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 20:43:53 +1000 Subject: [PATCH 18/42] docs: Fix typo in .github/CONTRIBUTING.md Co-Authored-By: David --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 3554ff4ad18..bd10c1593ef 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -47,7 +47,7 @@ Merging pull requests once CI is successful: * it is an urgent fix with no large change to logic, then it may be merged after a non-author contributor has approved the review once CI is complete. * Once a PR is ready for review please add the [`pleasereview`](https://github.com/paritytech/parity-ethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label. Generally PRs should sit with this label for 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it. -* No PR should be merged until all reviews' comments are addressed. +* No PR should be merged until all reviewers' comments are addressed. *Reviewing pull requests*: From e7ac760efd4e94b1ec70362dd6612e36198f5032 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 20:53:52 +1000 Subject: [PATCH 19/42] docs: Rephrase parity-clib/Cargo.toml Co-Authored-By: David --- parity-clib/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parity-clib/Cargo.toml b/parity-clib/Cargo.toml index 4e25ada43bc..f57e503dea6 100644 --- a/parity-clib/Cargo.toml +++ b/parity-clib/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Parity Ethereum Client C-Bindings Library" +description = "C bindings for the Parity Ethereum client" name = "parity-clib" version = "1.12.0" license = "GPL-3.0" From b82096038912347d5c673b5c6f50fc5b8be741ce Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 13:13:40 +0200 Subject: [PATCH 20/42] review-fix: Fix whole paragraph --- .github/CONTRIBUTING.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index bd10c1593ef..f878a9938ef 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -38,18 +38,15 @@ There are a few basic ground-rules for contributors (including the maintainer(s) * A pull-request *must not be merged until CI* has finished successfully. * Contributors should adhere to the [Parity Ethereum Style Guide](https://wiki.parity.io/Parity-Ethereum-Style-Guide). -### Merge Process +### Preparing Pull Requests -Merging pull requests once CI is successful: +* If your PR does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged [`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22). -* A PR needs to be reviewed and approved by project maintainers unless: - * it does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged [`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22) and merged by its author once CI is complete. - * it is an urgent fix with no large change to logic, then it may be merged after a non-author contributor has approved the review once CI is complete. +* Once a PR is ready for review please add the [`pleasereview`](https://github.com/paritytech/parity-ethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label. -* Once a PR is ready for review please add the [`pleasereview`](https://github.com/paritytech/parity-ethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label. Generally PRs should sit with this label for 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it. -* No PR should be merged until all reviewers' comments are addressed. +### Reviewing Pull Requests*: -*Reviewing pull requests*: +* At least two reviewers are required to review PRs (even for PRs tagged [`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22)). When reviewing a pull request, the end-goal is to suggest useful changes to the author. Reviews should finish with approval unless there are issues that would result in: From b9f638458d0173ac3dd760f85903c9176e9b0d11 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 13:16:15 +0200 Subject: [PATCH 21/42] review-fix: Add comment to prevent direct pushes to master branch --- .github/CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index f878a9938ef..abcf7926ebe 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -33,6 +33,7 @@ We use [labels](https://github.com/paritytech/parity-ethereum/labels) to manage There are a few basic ground-rules for contributors (including the maintainer(s) of the project): * **No `--force` pushes** or modifying the master branch history in any way. If you need to rebase, ensure you do it in your own repo. +* **No pushing directly to the master branch**. * **Non-master branches**, prefixed with a short name moniker (e.g. `gav-my-feature`) must be used for ongoing work, and include the associated issue ID (if any) in the branch name. * **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. * A pull-request *must not be merged until CI* has finished successfully. From a8fb47d1c79275c748bf03e29178f4ac1f789a18 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 13:40:30 +0200 Subject: [PATCH 22/42] review-fix: Change some rules to recommendations --- .github/CONTRIBUTING.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index abcf7926ebe..7d7748966fa 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -34,11 +34,15 @@ There are a few basic ground-rules for contributors (including the maintainer(s) * **No `--force` pushes** or modifying the master branch history in any way. If you need to rebase, ensure you do it in your own repo. * **No pushing directly to the master branch**. -* **Non-master branches**, prefixed with a short name moniker (e.g. `gav-my-feature`) must be used for ongoing work, and include the associated issue ID (if any) in the branch name. * **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. * A pull-request *must not be merged until CI* has finished successfully. * Contributors should adhere to the [Parity Ethereum Style Guide](https://wiki.parity.io/Parity-Ethereum-Style-Guide). +### Recommendations + +* **Non-master branch names** *should* be prefixed with a short name moniker, followed by the associated Github Issue ID (if any), and a brief description of the task using the format `--` (e.g. `gavin-123-readme`). The name moniker helps people to inquiry about their unfinished work, and the GitHub Issue ID helps your future self and other developers (particularly those who are onboarding) find out about and understand the original scope of the task, and where it fits into Parity Ethereum [Projects](https://github.com/paritytech/parity-ethereum/projects). +* **Remove stale branches periodically** + ### Preparing Pull Requests * If your PR does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged [`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22). From cdaa2a701d8b17a158f9da67d8438a71171fa745 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 21:43:33 +1000 Subject: [PATCH 23/42] Update .github/CONTRIBUTING.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Tomasz Drwięga --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 7d7748966fa..99e9754b478 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -53,7 +53,7 @@ There are a few basic ground-rules for contributors (including the maintainer(s) * At least two reviewers are required to review PRs (even for PRs tagged [`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22)). -When reviewing a pull request, the end-goal is to suggest useful changes to the author. Reviews should finish with approval unless there are issues that would result in: +When reviewing a pull request, the end-goal is improve code quality, make sure the logic is correct, the style guide is being followed and to provide feedback to the author. Reviews should finish with approval unless there are issues that would result in: * Buggy behavior. * Undue maintenance burden. From c1163ef7ba8a3c1309941644e7f25a4e3ac7de59 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 13:50:09 +0200 Subject: [PATCH 24/42] review-fix: Replace feature reduction with breaking changes dot point --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 99e9754b478..494b3448043 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -59,7 +59,7 @@ When reviewing a pull request, the end-goal is improve code quality, make sure t * Undue maintenance burden. * Breaking with house coding style. * Pessimization (i.e. reduction of speed as measured in the projects benchmarks). -* Feature reduction (i.e. it removes some aspect of functionality that a significant minority of users rely on). +* Breaking changes should be carefuly reviewed and tagged as such so they end up in the [changelog](../CHANGELOG.md). * Uselessness (i.e. it does not strictly add a feature or fix a known issue). *Reviews may not be used as an effective veto for a PR because*: From 851499d5414df5a98cb2df3fb88a4573c13d7812 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 13:52:35 +0200 Subject: [PATCH 25/42] review-fix: Rephrase what to do when reviewing PR --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 494b3448043..a672cea06fc 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -53,7 +53,7 @@ There are a few basic ground-rules for contributors (including the maintainer(s) * At least two reviewers are required to review PRs (even for PRs tagged [`insubstantial`](https://github.com/paritytech/parity-ethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22)). -When reviewing a pull request, the end-goal is improve code quality, make sure the logic is correct, the style guide is being followed and to provide feedback to the author. Reviews should finish with approval unless there are issues that would result in: +When doing a review, make sure to look for any: * Buggy behavior. * Undue maintenance burden. From e9e39204302a31b7263e353dc78a4b7267663f3b Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 13:59:44 +0200 Subject: [PATCH 26/42] review-fix: Update parity-rpc package description and module rustdocs --- rpc/Cargo.toml | 2 +- rpc/src/lib.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index f3b7cc6cc04..7044128d625 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Parity Ethereum JSON-RPC Servers" +description = "Parity Ethereum JSON-RPC Servers (WS, HTTP, IPC)" name = "parity-rpc" version = "1.12.0" license = "GPL-3.0" diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index 324aea1d270..e2aafae6f2e 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity Ethereum. If not, see . -//! Parity RPC. +//! Parity Ethereum JSON-RPC Servers (WS, HTTP, IPC) #![warn(missing_docs, unused_extern_crates)] #![cfg_attr(feature = "cargo-clippy", warn(clippy::all, clippy::pedantic))] From 8d0e01386a4f29c45e19c292abcabbc4f46be095 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 14:01:03 +0200 Subject: [PATCH 27/42] docs: Add missing fullstop --- rpc/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index e2aafae6f2e..6b856eb5291 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity Ethereum. If not, see . -//! Parity Ethereum JSON-RPC Servers (WS, HTTP, IPC) +//! Parity Ethereum JSON-RPC Servers (WS, HTTP, IPC). #![warn(missing_docs, unused_extern_crates)] #![cfg_attr(feature = "cargo-clippy", warn(clippy::all, clippy::pedantic))] From 95dd2cb2bb811e3073afe144ca389a90bda0411f Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 14:10:40 +0200 Subject: [PATCH 28/42] review-fix: Update rustdoc section to show all packages first as default --- README.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 001ce02d015..e0397317f4e 100644 --- a/README.md +++ b/README.md @@ -156,11 +156,17 @@ Be sure to [check out our wiki](https://wiki.parity.io) for more information. ### Viewing documentation for Parity Ethereum packages -You can generate documentation for a Parity Ethereum Rust package and have it automatically open in your web browser using [rustdoc with Cargo](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html#using-rustdoc-with-cargo), (of the The Rustdoc Book), by running the the following commands: +You can generate documentation for Parity Ethereum Rust package(s) that automatically opens in your web browser using [rustdoc with Cargo](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html#using-rustdoc-with-cargo) (of the The Rustdoc Book), by running the the following commands: -``` -cargo doc --package --open -``` +* **All** packages + ``` + cargo doc --open + ``` + +* Specific package + ``` + cargo doc --package --open + ``` Replacing `` with one of the following (i.e. `cargo doc --package parity-ethereum --open`): From e87b8ba69cab57c2920a755f1ccac3e63423d7c8 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 14:18:14 +0200 Subject: [PATCH 29/42] review-fix: Rename Parity Util to Parity Core Libraries --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e0397317f4e..a036d4fb6ab 100644 --- a/README.md +++ b/README.md @@ -287,7 +287,7 @@ Caching, Importing Blocks, and Block Information ```bash parity-updater parity-hash-fetch ``` -* Parity Utilities +* Parity Core Libraries (Parity Util) ```bash ethcore-bloom-journal blooms-db dir eip-712 fake-fetch fastmap fetch ethcore-io journaldb keccak-hasher len-caching-lock macros memory-cache memzero From 68578b45dba17f23de24e9832671522c13ba2a8f Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 14:20:53 +0200 Subject: [PATCH 30/42] review-fix: Rename readme too for the C bindings name change --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a036d4fb6ab..bb366ced54a 100644 --- a/README.md +++ b/README.md @@ -271,7 +271,7 @@ Caching, Importing Blocks, and Block Information ```bash ethcore-logger ``` -* Parity Ethereum Client C-Bindings Library +* C bindings library for the Parity Ethereum client ```bash parity-clib ``` From 39cdd6f15ac1c27cc1b3f4f045c30a60c585c7da Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 14:38:36 +0200 Subject: [PATCH 31/42] review-fix: Remove some docs since we do not teach the reader Rust --- README.md | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index bb366ced54a..732a787423d 100644 --- a/README.md +++ b/README.md @@ -327,36 +327,28 @@ Example (generic): ``` * Important notes: - * Documentation comments must use annotations with a triple slash `///` * Modules are documented using `//!` -``` -//! Summary (of module) -//! -//! Description (of module) -``` -* Special section header is indicated with a hash `#`. - * `Panics` section requires an explanation if the function triggers a panic - * `Errors` section is for describing conditions under which a function of method returns `Err(E)` if it returns a `Result` - * `Safety` section requires an explanation if the function is `unsafe` - * `Examples` section includes examples of using the function or method -* Code block annotations for examples are included between triple graves, as shown above. -Instead of including the programming language to use for syntax highlighting as the annotation -after the triple graves, alternative annotations include the `ignore`, `text`, `should_panic`, or `no_run`. -* Summary sentence is a short high level single sentence of its functionality -* Description paragraph is for details additional to the summary sentence -* Missing documentation annotations may be used to identify where to generate warnings with `#![warn(missing_docs)]` -or errors `#![deny(missing_docs)]` -* Hide documentation for items with `#[doc(hidden)]` + ``` + //! Summary (of module) + //! + //! Description (of module) + ``` + * Special section header is indicated with a hash `#`. + * `Panics` section requires an explanation if the function triggers a panic + * `Errors` section is for describing conditions under which a function of method returns `Err(E)` if it returns a `Result` + * `Safety` section requires an explanation if the function is `unsafe` + * `Examples` section includes examples of using the function or method + * Instead of including the programming language to use for syntax highlighting as the annotation + after the triple graves, alternative annotations include the `ignore`, `text`, `should_panic`, or `no_run`. + * Summary sentence is a short high level single sentence of its functionality + * Description paragraph is for details additional to the summary sentence + * Missing documentation annotations may be used to identify items that are missing documentation with warnings `#![warn(missing_docs)]` or errors `#![deny(missing_docs)]`. `#![deny(missing_docs)]` is required in all new code. + * Hide documentation for items with `#[doc(hidden)]` ### Contributing to documentation (tests, extended examples, macros) for Parity Ethereum packages The code block annotations in the `# Example` section may be used as [documentation as tests and for extended examples](https://doc.rust-lang.org/1.9.0/book/documentation.html#documentation-as-tests). -* Important notes: - * Rustdoc will automatically add a `main()` wrapper around the code block to test it - * [Documenting macros](https://doc.rust-lang.org/1.9.0/book/documentation.html#documenting-macros). - * Documentation as tests examples are included when running `cargo test` - ## 5. Toolchain In addition to the Parity Ethereum client, there are additional tools in this repository available: From 55d1a3e2cf677a4c37a84d19bf3e6972ff5c6d57 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 15:05:23 +0200 Subject: [PATCH 32/42] review-fix: Wrap Parity Ethereum specific packages in a details section --- README.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 732a787423d..f2357462a6f 100644 --- a/README.md +++ b/README.md @@ -168,7 +168,9 @@ You can generate documentation for Parity Ethereum Rust package(s) that automati cargo doc --package --open ``` -Replacing `` with one of the following (i.e. `cargo doc --package parity-ethereum --open`): +Replacing `` with one of the following from the details section below (i.e. `cargo doc --package parity-ethereum --open`): + +

* Parity Ethereum (EthCore) Client Application ```bash @@ -300,6 +302,8 @@ Caching, Importing Blocks, and Block Information parity-whisper whisper-cli ``` +

+ ### Contributing to documentation for Parity Ethereum packages [Document source code](https://doc.rust-lang.org/1.9.0/book/documentation.html) for Parity Ethereum packages by annotating the source code with documentation comments. @@ -353,11 +357,11 @@ The code block annotations in the `# Example` section may be used as [documentat In addition to the Parity Ethereum client, there are additional tools in this repository available: -- [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - Parity Ethereum EVM Implementation. +- [evmbin](./evmbin) - Parity Ethereum EVM Implementation. - [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum Encoding of Function Calls. -- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethstore) - Parity Ethereum Key Management. -- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/accounts/ethkey) - Parity Ethereum Keys Generator. -- [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Parity Ethereum Whisper-v2 PoC Implementation. +- [ethstore](./accounts/ethstore) - Parity Ethereum Key Management. +- [ethkey](./accounts/ethkey) - Parity Ethereum Keys Generator. +- [whisper](./whisper) - Parity Ethereum Whisper-v2 PoC Implementation. ## 6. Community @@ -374,12 +378,12 @@ Alternatively, join our community on Matrix: ## 7. Contributing -An introduction has been provided in the ["So You Want to be a Core Developer" presentation slides by Hernando Castano](http://tiny.cc/contrib-to-parity-eth). Additional guidelines are provided in [CONTRIBUTING](https://github.com/paritytech/parity-ethereum/blob/master/.github/CONTRIBUTING.md). +An introduction has been provided in the ["So You Want to be a Core Developer" presentation slides by Hernando Castano](http://tiny.cc/contrib-to-parity-eth). Additional guidelines are provided in [CONTRIBUTING](./.github/CONTRIBUTING.md). ### Contributor Code of Conduct -[CODE_OF_CONDUCT](https://github.com/paritytech/parity-ethereum/blob/master/.github/CODE_OF_CONDUCT.md) +[CODE_OF_CONDUCT](./.github/CODE_OF_CONDUCT.md) ## 8. License -[LICENSE](https://github.com/paritytech/parity-ethereum/blob/master/LICENSE) +[LICENSE](./LICENSE) From d880c01081c4279599332555f72c10fffd23cff1 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 15:17:04 +0200 Subject: [PATCH 33/42] review-fix: Separate tools that are in this repo vs those that are not --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f2357462a6f..312f4c03ccd 100644 --- a/README.md +++ b/README.md @@ -358,11 +358,13 @@ The code block annotations in the `# Example` section may be used as [documentat In addition to the Parity Ethereum client, there are additional tools in this repository available: - [evmbin](./evmbin) - Parity Ethereum EVM Implementation. -- [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum Encoding of Function Calls. - [ethstore](./accounts/ethstore) - Parity Ethereum Key Management. - [ethkey](./accounts/ethkey) - Parity Ethereum Keys Generator. - [whisper](./whisper) - Parity Ethereum Whisper-v2 PoC Implementation. +The following tool is available in a separate repository: +- [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum Encoding of Function Calls. + ## 6. Community ### Join the chat! From 46b5e94a9f87df04c271cc0c5940d6775e99f134 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Thu, 6 Jun 2019 15:38:24 +0200 Subject: [PATCH 34/42] review-fix: Add link to ethabi on crates.io --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 312f4c03ccd..36c0b091995 100644 --- a/README.md +++ b/README.md @@ -363,7 +363,7 @@ In addition to the Parity Ethereum client, there are additional tools in this re - [whisper](./whisper) - Parity Ethereum Whisper-v2 PoC Implementation. The following tool is available in a separate repository: -- [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum Encoding of Function Calls. +- [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum Encoding of Function Calls. [Docs here](https://crates.io/crates/ethabi) ## 6. Community From c1a71f213518279f9ef9b66292e3ceee517672d1 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Tue, 11 Jun 2019 12:11:32 +0200 Subject: [PATCH 35/42] review-fix: Remove unnecessary extra line talking about pushing to master --- .github/CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a672cea06fc..5ddff39e9d7 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -32,7 +32,6 @@ We use [labels](https://github.com/paritytech/parity-ethereum/labels) to manage There are a few basic ground-rules for contributors (including the maintainer(s) of the project): -* **No `--force` pushes** or modifying the master branch history in any way. If you need to rebase, ensure you do it in your own repo. * **No pushing directly to the master branch**. * **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. * A pull-request *must not be merged until CI* has finished successfully. From 805e39db28b7383374f9693c07ef230e76417a8a Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Fri, 21 Jun 2019 04:46:12 +0200 Subject: [PATCH 36/42] review-fix: Remove useless summary of parts of the rust book documentation section --- README.md | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 36c0b091995..09fd9165738 100644 --- a/README.md +++ b/README.md @@ -308,7 +308,7 @@ Caching, Importing Blocks, and Block Information [Document source code](https://doc.rust-lang.org/1.9.0/book/documentation.html) for Parity Ethereum packages by annotating the source code with documentation comments. -Example (generic): +Example (generic documentation comment): ```markdown /// Summary /// @@ -325,34 +325,11 @@ Example (generic): /// Summary of Example 1 /// /// ```rust -/// // insert example 1 code here +/// // insert example 1 code here for use with documentation as tests /// ``` /// ``` -* Important notes: - * Modules are documented using `//!` - ``` - //! Summary (of module) - //! - //! Description (of module) - ``` - * Special section header is indicated with a hash `#`. - * `Panics` section requires an explanation if the function triggers a panic - * `Errors` section is for describing conditions under which a function of method returns `Err(E)` if it returns a `Result` - * `Safety` section requires an explanation if the function is `unsafe` - * `Examples` section includes examples of using the function or method - * Instead of including the programming language to use for syntax highlighting as the annotation - after the triple graves, alternative annotations include the `ignore`, `text`, `should_panic`, or `no_run`. - * Summary sentence is a short high level single sentence of its functionality - * Description paragraph is for details additional to the summary sentence - * Missing documentation annotations may be used to identify items that are missing documentation with warnings `#![warn(missing_docs)]` or errors `#![deny(missing_docs)]`. `#![deny(missing_docs)]` is required in all new code. - * Hide documentation for items with `#[doc(hidden)]` - -### Contributing to documentation (tests, extended examples, macros) for Parity Ethereum packages - -The code block annotations in the `# Example` section may be used as [documentation as tests and for extended examples](https://doc.rust-lang.org/1.9.0/book/documentation.html#documentation-as-tests). - ## 5. Toolchain In addition to the Parity Ethereum client, there are additional tools in this repository available: From c095637eb3a7efdfbc0381c4dcfc8b9a8fdb32ae Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Fri, 21 Jun 2019 12:50:26 +1000 Subject: [PATCH 37/42] docs: Update .github/CONTRIBUTING.md to specify two reviewers required Co-Authored-By: David --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5ddff39e9d7..08008ba5e1d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -34,7 +34,7 @@ There are a few basic ground-rules for contributors (including the maintainer(s) * **No pushing directly to the master branch**. * **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. -* A pull-request *must not be merged until CI* has finished successfully. +* Pull-requests cannot be merged before CI runs green and two reviewers have given their approval. * Contributors should adhere to the [Parity Ethereum Style Guide](https://wiki.parity.io/Parity-Ethereum-Style-Guide). ### Recommendations From 9f69b61670ddf5f6660e593c27472074e28766bb Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Fri, 21 Jun 2019 12:51:00 +1000 Subject: [PATCH 38/42] docs: Update README.md with simplification Co-Authored-By: David --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 09fd9165738..25b95396e79 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ Be sure to [check out our wiki](https://wiki.parity.io) for more information. ### Viewing documentation for Parity Ethereum packages -You can generate documentation for Parity Ethereum Rust package(s) that automatically opens in your web browser using [rustdoc with Cargo](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html#using-rustdoc-with-cargo) (of the The Rustdoc Book), by running the the following commands: +You can generate documentation for Parity Ethereum Rust packages that automatically opens in your web browser using [rustdoc with Cargo](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html#using-rustdoc-with-cargo) (of the The Rustdoc Book), by running the the following commands: * **All** packages ``` From b89af4f01f6c00fc67318eb3d71dcbefda1adc75 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Fri, 21 Jun 2019 12:51:32 +1000 Subject: [PATCH 39/42] docs: Update README.md renaming to Test Runner instead of just Run Co-Authored-By: David --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 25b95396e79..1cb86f44115 100644 --- a/README.md +++ b/README.md @@ -245,7 +245,7 @@ Caching, Importing Blocks, and Block Information ```bash wasm ``` - * Parity Ethereum WASM Test Run + * Parity Ethereum WASM Test Runner ```bash pwasm-run-test ``` From 68d0f15beca130607caa127c31ae5a39cac53459 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Fri, 21 Jun 2019 04:54:35 +0200 Subject: [PATCH 40/42] review-fix: Remove hardware wallet from docs --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1cb86f44115..4c4f20e3f3d 100644 --- a/README.md +++ b/README.md @@ -176,9 +176,9 @@ Replacing `` with one of the following from the details section below (i.e ```bash parity-ethereum ``` -* Parity Ethereum Account Management, Hardware Wallet Support, Key Management Tool, and Keys Generator +* Parity Ethereum Account Management, Key Management Tool, and Keys Generator ```bash - ethcore-accounts, ethkey-cli, ethstore, ethstore-cli, fake-hardware-wallet, hardware-wallets + ethcore-accounts, ethkey-cli, ethstore, ethstore-cli ``` * Parity Chain Specification ```bash From 488d9d7d911000336dc0bb368afd560f6e4963a8 Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Fri, 21 Jun 2019 04:56:20 +0200 Subject: [PATCH 41/42] review-fix: Remove veto PR section of contributor doc --- .github/CONTRIBUTING.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 08008ba5e1d..6d58aa9412e 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -61,11 +61,6 @@ When doing a review, make sure to look for any: * Breaking changes should be carefuly reviewed and tagged as such so they end up in the [changelog](../CHANGELOG.md). * Uselessness (i.e. it does not strictly add a feature or fix a known issue). -*Reviews may not be used as an effective veto for a PR because*: - -* There exists a somewhat cleaner/better/faster way of accomplishing the same feature/fix. -* It does not fit well with some other contributors' longer-term vision for the project. - ## License. By contributing to Parity Ethereum, you agree that your contributions will be licensed under the [GPLv3 License](../LICENSE). From 8bfadc05d71bea6639a6819791e361f56184783f Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Tue, 25 Jun 2019 07:57:35 +0200 Subject: [PATCH 42/42] review-fix: Change to test generator title --- README.md | 2 +- ethcore/blockchain/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4c4f20e3f3d..a8489013a3c 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,7 @@ Replacing `` with one of the following from the details section below (i.e ```bash ethcore ``` - * Parity Ethereum Blockchain Database, Generator, Configuration, + * Parity Ethereum Blockchain Database, Test Generator, Configuration, Caching, Importing Blocks, and Block Information ```bash ethcore-blockchain diff --git a/ethcore/blockchain/Cargo.toml b/ethcore/blockchain/Cargo.toml index c4e3e4e9df2..64ca68ba02b 100644 --- a/ethcore/blockchain/Cargo.toml +++ b/ethcore/blockchain/Cargo.toml @@ -1,5 +1,5 @@ [package] -description = "Parity Ethereum Blockchain Database, Generator, Configuration, Caching, Importing Blocks, and Block Information" +description = "Parity Ethereum Blockchain Database, Test Generator, Configuration, Caching, Importing Blocks, and Block Information" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-blockchain"