mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-01 01:57:56 +00:00
be5dc02d3b
* change (ci): docs job optimized; runs every commit; fails on warnings * change (ci): rename jobs; temporary allow failing * change (ci): better warnings filtering * fix (ci): hotfix Docker release * test (ci): run docs job with flags * test (ci): pwd fails * change (ci): pass just //doc dir as an artifact; debug * change (ci): return to the previous structure; undebug * change (ci): typo * rebase on upstream 2 * fix the jobname * Fix some warnings (#7079) * Partial fix for transaction priority (#7034) * Partial fix for priority stuff. * Small fix * Fix tests. * Update frame/transaction-payment/src/lib.rs Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Better doc Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * What happens if we remove wat? (#7056) * What happens if we remove wat? * Update Cargo.lock * Make SlashingSpans Public (#6961) * Make SlashingSpans Public Offchain Applications will often need to inspect this type because it is directly used in staking election, thus worthy of being `pub`. Rest of the slashing api can remain private, only this and the `fn last_non_zero_slash()` of `SlashingSpans` are of interest. * Update frame/staking/src/lib.rs * client/authority-discovery/src/service: Improve docs (#7059) * Decrease poll interval (#7063) * Remove unused code (#7027) Signed-off-by: Jimmy Chu <jimmychu0807@gmail.com> * Disambiguate `BlockNumber` type in `decl_module` (#7061) * Disambiguate `BlockNumber` type in `decl_module` * fix `frame-support-tests` * fix ui tests * fix trait order * Implement `FromStr` for `Ss58AddressFormat` (#7068) * Implement `FromStr` for `Ss58AddressFormat` * Update primitives/core/src/crypto.rs Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> * Set reserved nodes with offchain worker. (#6996) * add offchain worker api to set reserved nodes. * new offchain api to get node public key. * node public key from converter * refactor set reserved nodes ocw api. * new ndoe authorization pallet * remove unnecessary clone and more. * more * tests for node authorization pallet * remove dependency * fix build * more tests. * refactor * Update primitives/core/src/offchain/testing.rs Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update frame/node-authorization/src/lib.rs Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update frame/node-authorization/src/lib.rs Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update frame/node-authorization/src/lib.rs Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * format code * expose NetworkService * remove NetworkStateInfo in offchain * replace NodePublicKey with PeerId. * set max length of peer id. * clear more * use BTreeSet for set of peers. * decode opaque peer id. * extract NetworkProvider for client offchain. * use OpaquePeerId in node authorization pallet. * fix test * better documentation * fix test * doc * more fix * Update primitives/core/src/offchain/mod.rs Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com> * Update client/offchain/src/api.rs Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com> * derive serialize and deserialize Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com> * Fix some warnings Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> Co-authored-by: Sergei Shulepov <sergei@parity.io> Co-authored-by: Max Inden <mail@max-inden.de> Co-authored-by: s3krit <pugh@s3kr.it> Co-authored-by: Jimmy Chu <jimmy@parity.io> Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: kaichao <kaichaosuna@gmail.com> Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com> * Fix more doc errors * More doc fixes * Remove subdb to make `rustdoc` happy * Make the line length check happy * Fix compilation error * Another try * Allow unused Co-authored-by: Dan Forbes <dan@danforbes.dev> Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com> Co-authored-by: Sergei Shulepov <sergei@parity.io> Co-authored-by: Max Inden <mail@max-inden.de> Co-authored-by: s3krit <pugh@s3kr.it> Co-authored-by: Jimmy Chu <jimmy@parity.io> Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: kaichao <kaichaosuna@gmail.com> Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com> Co-authored-by: Bastian Köcher <git@kchr.de>
204 lines
5.9 KiB
Rust
204 lines
5.9 KiB
Rust
// This file is part of Substrate.
|
|
|
|
// Copyright (C) 2018-2020 Parity Technologies (UK) Ltd.
|
|
// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
// NOTE: we allow missing docs here because arg_enum! creates the function variants without doc
|
|
#![allow(missing_docs)]
|
|
|
|
use structopt::clap::arg_enum;
|
|
|
|
arg_enum! {
|
|
/// How to execute Wasm runtime code
|
|
#[allow(missing_docs)]
|
|
#[derive(Debug, Clone, Copy)]
|
|
pub enum WasmExecutionMethod {
|
|
// Uses an interpreter.
|
|
Interpreted,
|
|
// Uses a compiled runtime.
|
|
Compiled,
|
|
}
|
|
}
|
|
|
|
impl WasmExecutionMethod {
|
|
/// Returns list of variants that are not disabled by feature flags.
|
|
pub fn enabled_variants() -> Vec<&'static str> {
|
|
Self::variants()
|
|
.iter()
|
|
.cloned()
|
|
.filter(|&name| cfg!(feature = "wasmtime") || name != "Compiled")
|
|
.collect()
|
|
}
|
|
}
|
|
|
|
impl Into<sc_service::config::WasmExecutionMethod> for WasmExecutionMethod {
|
|
fn into(self) -> sc_service::config::WasmExecutionMethod {
|
|
match self {
|
|
WasmExecutionMethod::Interpreted => {
|
|
sc_service::config::WasmExecutionMethod::Interpreted
|
|
}
|
|
#[cfg(feature = "wasmtime")]
|
|
WasmExecutionMethod::Compiled => sc_service::config::WasmExecutionMethod::Compiled,
|
|
#[cfg(not(feature = "wasmtime"))]
|
|
WasmExecutionMethod::Compiled => panic!(
|
|
"Substrate must be compiled with \"wasmtime\" feature for compiled Wasm execution"
|
|
),
|
|
}
|
|
}
|
|
}
|
|
|
|
arg_enum! {
|
|
#[allow(missing_docs)]
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
|
pub enum TracingReceiver {
|
|
Log,
|
|
Telemetry,
|
|
}
|
|
}
|
|
|
|
impl Into<sc_tracing::TracingReceiver> for TracingReceiver {
|
|
fn into(self) -> sc_tracing::TracingReceiver {
|
|
match self {
|
|
TracingReceiver::Log => sc_tracing::TracingReceiver::Log,
|
|
TracingReceiver::Telemetry => sc_tracing::TracingReceiver::Telemetry,
|
|
}
|
|
}
|
|
}
|
|
|
|
arg_enum! {
|
|
#[allow(missing_docs)]
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
|
pub enum NodeKeyType {
|
|
Ed25519
|
|
}
|
|
}
|
|
|
|
arg_enum! {
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
|
pub enum CryptoScheme {
|
|
Ed25519,
|
|
Sr25519,
|
|
Ecdsa,
|
|
}
|
|
}
|
|
|
|
arg_enum! {
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
|
pub enum OutputType {
|
|
Json,
|
|
Text,
|
|
}
|
|
}
|
|
|
|
arg_enum! {
|
|
/// How to execute blocks
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
|
pub enum ExecutionStrategy {
|
|
// Execute with native build (if available, WebAssembly otherwise).
|
|
Native,
|
|
// Only execute with the WebAssembly build.
|
|
Wasm,
|
|
// Execute with both native (where available) and WebAssembly builds.
|
|
Both,
|
|
// Execute with the native build if possible; if it fails, then execute with WebAssembly.
|
|
NativeElseWasm,
|
|
}
|
|
}
|
|
|
|
impl Into<sc_client_api::ExecutionStrategy> for ExecutionStrategy {
|
|
fn into(self) -> sc_client_api::ExecutionStrategy {
|
|
match self {
|
|
ExecutionStrategy::Native => sc_client_api::ExecutionStrategy::NativeWhenPossible,
|
|
ExecutionStrategy::Wasm => sc_client_api::ExecutionStrategy::AlwaysWasm,
|
|
ExecutionStrategy::Both => sc_client_api::ExecutionStrategy::Both,
|
|
ExecutionStrategy::NativeElseWasm => sc_client_api::ExecutionStrategy::NativeElseWasm,
|
|
}
|
|
}
|
|
}
|
|
|
|
impl ExecutionStrategy {
|
|
/// Returns the variant as `'&static str`.
|
|
pub fn as_str(&self) -> &'static str {
|
|
match self {
|
|
Self::Native => "Native",
|
|
Self::Wasm => "Wasm",
|
|
Self::Both => "Both",
|
|
Self::NativeElseWasm => "NativeElseWasm",
|
|
}
|
|
}
|
|
}
|
|
|
|
arg_enum! {
|
|
/// Available RPC methods.
|
|
#[allow(missing_docs)]
|
|
#[derive(Debug, Copy, Clone, PartialEq)]
|
|
pub enum RpcMethods {
|
|
// Expose every RPC method only when RPC is listening on `localhost`,
|
|
// otherwise serve only safe RPC methods.
|
|
Auto,
|
|
// Allow only a safe subset of RPC methods.
|
|
Safe,
|
|
// Expose every RPC method (even potentially unsafe ones).
|
|
Unsafe,
|
|
}
|
|
}
|
|
|
|
impl Into<sc_service::config::RpcMethods> for RpcMethods {
|
|
fn into(self) -> sc_service::config::RpcMethods {
|
|
match self {
|
|
RpcMethods::Auto => sc_service::config::RpcMethods::Auto,
|
|
RpcMethods::Safe => sc_service::config::RpcMethods::Safe,
|
|
RpcMethods::Unsafe => sc_service::config::RpcMethods::Unsafe,
|
|
}
|
|
}
|
|
}
|
|
|
|
arg_enum! {
|
|
/// Database backend
|
|
#[allow(missing_docs)]
|
|
#[derive(Debug, Clone, Copy)]
|
|
pub enum Database {
|
|
// Facebooks RocksDB
|
|
RocksDb,
|
|
// ParityDb. https://github.com/paritytech/parity-db/
|
|
ParityDb,
|
|
}
|
|
}
|
|
|
|
|
|
arg_enum! {
|
|
/// Whether off-chain workers are enabled.
|
|
#[allow(missing_docs)]
|
|
#[derive(Debug, Clone)]
|
|
pub enum OffchainWorkerEnabled {
|
|
Always,
|
|
Never,
|
|
WhenValidating,
|
|
}
|
|
}
|
|
|
|
/// Default value for the `--execution-syncing` parameter.
|
|
pub const DEFAULT_EXECUTION_SYNCING: ExecutionStrategy = ExecutionStrategy::NativeElseWasm;
|
|
/// Default value for the `--execution-import-block` parameter.
|
|
pub const DEFAULT_EXECUTION_IMPORT_BLOCK: ExecutionStrategy = ExecutionStrategy::NativeElseWasm;
|
|
/// Default value for the `--execution-import-block` parameter when the node is a validator.
|
|
pub const DEFAULT_EXECUTION_IMPORT_BLOCK_VALIDATOR: ExecutionStrategy = ExecutionStrategy::Wasm;
|
|
/// Default value for the `--execution-block-construction` parameter.
|
|
pub const DEFAULT_EXECUTION_BLOCK_CONSTRUCTION: ExecutionStrategy = ExecutionStrategy::Wasm;
|
|
/// Default value for the `--execution-offchain-worker` parameter.
|
|
pub const DEFAULT_EXECUTION_OFFCHAIN_WORKER: ExecutionStrategy = ExecutionStrategy::Native;
|
|
/// Default value for the `--execution-other` parameter.
|
|
pub const DEFAULT_EXECUTION_OTHER: ExecutionStrategy = ExecutionStrategy::Native;
|