1. Aug 28, 2020
    • Max Inden's avatar
      client/*: Treat protocol name as str and not [u8] (#6967) · beb74f49
      Max Inden authored
      * client/*: Treat protocol name as str and not [u8]
      
      Notification protocol names are in practice always valid utf8 strings.
      Instead of treating them as such in the type system, thus far they were
      casted to a [u8] at creation time.
      
      With this commit protocol names are instead treated as valid utf8
      strings throughout the codebase and passed as `Cow<'static, str>`
      instead of `Cow<'static, [u8]>`. Among other things this eliminates the
      need for string casting when logging.
      
      * client/network: Don't allocate when protocol name is borrowed
      beb74f49
  2. Aug 27, 2020
  3. Aug 26, 2020
  4. Jun 18, 2020
  5. May 27, 2020
  6. May 20, 2020
  7. May 18, 2020
  8. May 15, 2020
  9. May 11, 2020
  10. Apr 24, 2020
  11. Apr 23, 2020
    • Toralf Wittner's avatar
      network: Only insert global addresses into the DHT. (#5735) · 435a7108
      Toralf Wittner authored
      * network: Only insert global addresses into the DHT.
      
      Currently every address reported via libp2p-identify is inserted into
      the DHT which thus contains a multitude of unreachable addresses such
      as from 127.0.0.0/8 or 10.0.0.0/8.
      
      Issue #5099 suggested a dedicated service over UDP to gauge the
      reachability of an address, which would however incur extra I/O costs
      and be of limited use.
      
      As an alternative and simpler tactic, this PR only allows global IP
      addresses to be inserted into the DHT unless an explicit command-line
      flag `--allow-non-global-addresses-in-dht` is given or a node is
      started with `--dev`. This opt-in behaviour is meant to allow
      site-local networks to still make use of a DHT.
      
      * Enable non-global in more test setups.
      
      * Replace command-line option with different name.
      
      * Another test fix.
      435a7108
  12. Apr 20, 2020
  13. Apr 17, 2020
    • Ashley's avatar
      Make network_config_path an Option (#5661) · 2d8f3b42
      Ashley authored
      * Make network_config_path an Option
      
      * Fix network tests
      
      * Use None as the network config path
      
      * Fix cli
      
      * Don't make PathBuf an Option in a cli context
      2d8f3b42
  14. Apr 08, 2020
  15. Apr 07, 2020
    • Cecile Tonglet's avatar
      CLI: refactoring: remove Options from sc_service::Configuration's fields (#5271) · b0efaa2c
      Cecile Tonglet authored
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Rename IntoConfiguration to CliConfiguration
      
      * Renamed into_configuration to create_configuration
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Move keystore params to its own module
      
      * Use in-memory keystore even for build-spec
      
      * Enforce proper value for node name
      
      * dev_key_seed
      
      * Telemetry endpoints
      
      * rustfmt
      
      * Converted all RunCmd
      
      * rustfmt
      
      * Added export-blocks
      
      * Missed something
      
      * Removed config_path in NetworkConfiguration (not used)
      
      * Fixed warnings
      
      * public_addresses is used but never set, keeping it
      
      * Merge Configuration.node and NetworkConfiguration.node_name
      
      ...because they are the same thing
      
      * Added: import-blocks
      
      * Adding a proc_macro to help impl SubstrateCli
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Re-export spec_factory from sc_cli
      
      * Re-added all the commands
      
      * Refactored node_key_params
      
      * Fixed previous refucktoring
      
      * Clean-up and removed full_version()
      
      * Renamed get_is_dev to not confuse with Configuration field
      
      * Fixed sc-cli-derive example
      
      * Fixing tests
      
      * Fixing tests and removing some (will re-add later)
      
      * Fixing more tests
      
      * Removes the need of type parameter
      
      * Converting bin/node and simplifying API
      
      * Converting more
      
      * Converting last command
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Fixing tests and added default for WasmExecutionMethod
      
      * Fixing stuff
      
      * Fixed something I broke oops
      
      * Update Cargo.lock
      
      * Moving things around
      
      * Convert everything to Result
      
      * Added new macros to simplify the impl of CliConfiguration
      
      * Added a macro to generate CliConfiguration automatically for subcommands
      
      * Revert... too many macros (this one is not really useful)
      
      This reverts commit 9c516dd3
      
      .
      
      * Renamed is_dev to get_is_dev
      
      Good enough for now
      
      * Fixed name roles (this is plural, not singular)
      
      * Clean-up
      
      * Re-export NodeKeyConfig and TelemetryEndpoints from sc_service
      
      * Improve styling/formatting
      
      * Added copyrights
      
      * Added doc and fixed warnings
      
      * Added myself to code owners
      
      * Yes it is needed according to the history
      
      * Revert formatting
      
      * Fixing conflict
      
      * Updated build.rs
      
      * Cargo.lock
      
      * Clean-up
      
      * Update client/cli-derive/Cargo.toml
      
      Co-Authored-By: default avatarSeun Lanlege <[email protected]>
      
      * Fail if using proc_macro and build.rs is not set properly
      
      * Dropped all get_ in front of methods
      
      * Clean-up
      
      * Fixing proc macro missing env var
      
      * Get the configuration inside the Runtime (needed for polkadot)
      
      * Clean-up
      
      * Get is_dev from argument like the others
      
      * Get chain ID instead of chain spec from shared params
      
      * &self is passed to spec_factory/load_spec
      
      * Wrong text
      
      * Fix example
      
      * Officialize macro and made a cool doc
      
      * Renamed spec_factory to load_spec (substrate_cli_configuration)
      
      * Removed not so useful ChainSpec
      
      * Renamed SubstrateCLI to SubstrateCli
      
      * Added changelog for impl_version being full now
      
      * Renamed Runtime to Runner
      
      * Update changelog to show example
      
      * Removed option on database cache size
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Fix on removal of option
      
      * typo
      
      * Clean-up imports
      
      * Added info in Cargo.toml
      
      * typo
      
      * remarks
      
      * Moved function for build.rs to substrate-build-script-utils
      
      * Fixed example & test of cli-derive
      
      * Moved function for build.rs to substrate-build-script-utils
      
      * Renamed substrate_cli_configuration to substrate_cli oops
      
      It implements SubstrateCli not CliConfiguration!
      
      * Added documentation and wrapper macro
      
      * Removed option on database cache size
      
      * Removed option on database cache size
      
      * Clean-up
      
      * Reduce risk of errors due to typos
      
      * Removed option on database cache size
      
      * Added NOTE as suggested
      
      * Added doc as suggested
      
      * Fixed test
      
      * typo
      
      * renamed runtime to runner
      
      * Fixed weird argument
      
      * More commas
      
      * Moved client/cli-derive to client/cli/derive
      
      * Added 7 tests for the macros
      
      * Improve error message
      
      * Upgrade assert_cmd
      
      * Fixing missing stuff
      
      * Fixed unused import
      
      * Improve SubstrateCli doc
      
      * Applied suggestions
      
      * Fix and clean-up imports
      
      * Started replacing macros WIP
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * Started removing substrate_cli
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 2afecf81
      
      
      Parent branch: origin/master
      
      * fixed bug introduced while refactoring
      
      * Renamed NetworkConfigurationParams to NetworkParams for consistency sake
      
      * Fixed test
      
      * Update client/cli/src/commands/runcmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/runcmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/export_blocks_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/check_block_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update bin/node/cli/src/command.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update bin/node/cli/src/command.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/export_blocks_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Revert "Update client/cli/src/commands/export_blocks_cmd.rs"
      
      This reverts commit 59067769.
      
      * Revert "Update client/cli/src/commands/check_block_cmd.rs"
      
      This reverts commit f705f42b.
      
      * Revert "Update client/cli/src/commands/export_blocks_cmd.rs"
      
      This reverts commit 8d57c055.
      
      * Revert "Update client/cli/src/commands/runcmd.rs"
      
      This reverts commit 93e74cf5.
      
      * Revert "Update client/cli/src/commands/runcmd.rs"
      
      This reverts commit 11d527ba
      
      .
      
      * Update client/cli/src/commands/export_blocks_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/import_blocks_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Changed ::sc_cli to $crate in the macro
      
      * fixed tests
      
      * fixed conflicts
      
      * Fixing test
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/params/pruning_params.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Remove comment as suggested
      
      * Apply suggestion
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/commands/purge_chain_cmd.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update utils/frame/benchmarking-cli/src/command.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/runner.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/runner.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/runner.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/params/pruning_params.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/params/node_key_params.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/params/network_params.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/config.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Added doc
      
      * Fixed error introduced after applying suggestion
      
      * Revert "Update client/cli/src/params/pruning_params.rs"
      
      This reverts commit 0574d06a
      
      .
      
      * Print error
      
      * Apply suggestions from code review
      
      * Remove useless Results
      
      * Fixed CI failing on polkadot approval
      
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      b0efaa2c
  16. Apr 03, 2020
    • Pierre Krieger's avatar
      Split the Roles in three types (#5520) · 525cb7a1
      Pierre Krieger authored
      
      
      * Split the Roles bitfield in three
      
      * Forgot to include some changes
      
      * Fix cli test
      
      * More test fixes
      
      * Oh God, merging master broke other tests
      
      * Didn't run the doctests
      
      * Address review
      
      * I'm trying to fix the build blindly because it's taking a good hour to compile on my machine
      
      * Address some review
      
      * Also update the peerset's API to make sense
      
      * Fix peerset tests
      
      * Fix browser node
      
      * client: distinguish between local and network authority
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      525cb7a1
  17. Apr 01, 2020
  18. Mar 12, 2020
  19. Mar 06, 2020
  20. Mar 03, 2020
  21. Feb 21, 2020
    • asynchronous rob's avatar
      Remove `NetworkSpecialization` (#4665) · 3cc0973a
      asynchronous rob authored
      
      
      * remove networkspecialization
      
      * Fix most of the fallout
      
      * get all tests compiling
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      3cc0973a
    • Cecile Tonglet's avatar
      Add tests & Service's Configuration has optional fields that shouldn't be optional (#4842) · 97ad8026
      Cecile Tonglet authored
      Related to #4776 
      Related to https://github.com/paritytech/polkadot/pull/832
      
      To summarize the changes:
      1. I did not manage to validate with types the service's Configuration. But I did reduce the possibility of errors by moving all the "fill" functions to their respective structopts
      2. I split params.rs to multiple modules: one module params for just CLI parameters and one module commands for CLI subcommands (and RunCmd). Every command and params are in their own file so things are grouped better together and easier to remove
      3. I removed the run and run_subcommand helpers as they are not helping much anymore. Running a command is always a set of 3 commands: 1. init 2. update config 3. run. This still allow the user to change the config before arguments get parsed or right after.
      4. I added tests for all subcommands.
      5. [deleted]
      
      Overall the aim is to improve the situation with the Configuration and the optional parameters, add tests, make the API more consistent and simpler.
      97ad8026
  22. Feb 19, 2020
  23. Feb 18, 2020
  24. Feb 12, 2020
    • Toralf Wittner's avatar
      Add command-line flag to enable yamux flow control. (#4892) · f5f7852a
      Toralf Wittner authored
      * Add command-line flag to enable yamux flow control.
      
      We never enabled proper flow-control for yamux streams which may cause
      stream buffers to exceed their configured limit when the stream
      producer outpaces the stream consumer. By switching the window update
      mode to on-read, producers will only receive more sending credit when
      all data has been consumed from the stream buffer. Using this option
      creates backpressure on producers. However depending on the protocol
      there is a risk of deadlock, if both endpoints concurrently attempt to
      send more data than they have credit for and neither side reads before
      finishing their writes. To facilitate proper testing, this PR adds a
      command-line flag `use-yamux-flow-control`.
      
      * Replace comment with generic message.
      f5f7852a
  25. Jan 27, 2020
  26. Jan 05, 2020
  27. Dec 16, 2019
    • Tomasz Drwięga's avatar
      [big refactor] Remove crate aliasing. (#4395) · 40a16efe
      Tomasz Drwięga authored
      * Rename: Phase 1.
      
      * Unify codec.
      
      * Fixing: Phase 2
      
      * Fixing: Phase 3.
      
      * Fixing: Phase 4.
      
      * Fixing: Phase 5.
      
      * Fixing: Phase 6.
      
      * Fixing: Phase 7.
      
      * Fixing: Phase 8. Tests
      
      * Fixing: Phase 9. Tests!!!
      
      * Fixing: Phase 10. Moar tests!
      
      * Finally done!
      
      * More fixes.
      
      * Rename primitives:: to sp_core::
      
      * Apply renames in finality-grandpa.
      
      * Fix benches.
      
      * Fix benches 2.
      
      * Revert node-template.
      
      * Fix frame-system in our modules.
      40a16efe
  28. Dec 03, 2019
    • Max Inden's avatar
      client: Introduce --sentry-nodes flag (#4285) · e2e3c246
      Max Inden authored
      * client/authority-discovery: Add smoke tests for intervall_at
      
      * client/authority-discovery: Fix interval_at to fire on start
      
      * .maintain/sentry-node: Update docker compose file
      
      * client: Introduce --sentry-nodes flag
      
      Enable operators to specify the public addresses of sentry nodes infront
      of a validator node so that the validator node can announce the sentry
      node addresses instead of its own public addresses on the DHT via the
      authority discovery module.
      
      * client/authority-discovery: Break lines at 100 characters
      
      Limit line length to 100 instead of 120 characters.
      e2e3c246
  29. Dec 02, 2019
    • Benjamin Kampmann's avatar
      The crate rename (#4223) · 28c329e0
      Benjamin Kampmann authored
      * Adding script for rename, could be applicable for nodes on top of it, too
      
      * add stderr and gitlab ci features
      
      * apply script
      
      * fix now minor details in expected stderr
      
      * Update the Cargo.lock
      
      * fix name: sc-transaction -> sc-tracing
      
      * fix rename in script, too
      28c329e0
  30. Nov 28, 2019
  31. Nov 14, 2019
    • Benjamin Kampmann's avatar
      Reorganising the repository - external renames and moves (#4074) · f44873dc
      Benjamin Kampmann authored
      * Adding first rough ouline of the repository structure
      
      * Remove old CI stuff
      
      * add title
      
      * formatting fixes
      
      * move node-exits job's script to scripts dir
      
      * Move docs into subdir
      
      * move to bin
      
      * move maintainence scripts, configs and helpers into its own dir
      
      * add .local to ignore
      
      * move core->client
      
      * start up 'test' area
      
      * move test client
      
      * move test runtime
      
      * make test move compile
      
      * Add dependencies rule enforcement.
      
      * Fix indexing.
      
      * Update docs to reflect latest changes
      
      * Moving /srml->/paint
      
      * update docs
      
      * move client/sr-* -> primitives/
      
      * clean old readme
      
      * remove old broken code in rhd
      
      * update lock
      
      * Step 1.
      
      * starting to untangle client
      
      * Fix after merge.
      
      * start splitting out client interfaces
      
      * move children and blockchain interfaces
      
      * Move trie and state-machine to primitives.
      
      * Fix WASM builds.
      
      * fixing broken imports
      
      * more interface moves
      
      * move backend and light to interfaces
      
      * move CallExecutor
      
      * move cli off client
      
      * moving around more interfaces
      
      * re-add consensus crates into the mix
      
      * fix subkey path
      
      * relieve client from executor
      
      * starting to pull out client from grandpa
      
      * move is_decendent_of out of client
      
      * grandpa still depends on client directly
      
      * lemme tests pass
      
      * rename srml->paint
      
      * Make it compile.
      
      * rename interfaces->client-api
      
      * Move keyring to primitives.
      
      * fixup libp2p dep
      
      * fix broken use
      
      * allow dependency enforcement to fail
      
      * move fork-tree
      
      * Moving wasm-builder
      
      * make env
      
      * move build-script-utils
      
      * fixup broken crate depdencies and names
      
      * fix imports for authority discovery
      
      * fix typo
      
      * update cargo.lock
      
      * fixing imports
      
      * Fix paths and add missing crates
      
      * re-add missing crates
      f44873dc
  32. Nov 10, 2019
  33. Nov 08, 2019
  34. Nov 01, 2019
    • Caio's avatar
      Implement Debug for some structures (#3941) · 964eeb6b
      Caio authored
      * Implement Debug for some structures
      
      `NetworkConfiguration`, `TransportConfig`, `NodeKeyConfig` and `Secret`.
      
      Needs a new release of the `rust-libp2p` crate. This PR is just a
      reminder.
      
      * Explicitly separate `std` and `core`
      
      * Add manual implementation for Secret
      964eeb6b
  35. Oct 23, 2019
  36. Sep 24, 2019
  37. Sep 11, 2019
  38. Aug 12, 2019
    • Max Inden's avatar
      core/network: Surface peerset's `set_priority_group` in NetworkService (#3376) · 138bcf0d
      Max Inden authored
      `PeerSetHandle.set_priority_group` allows modifying a priority group by
      group identifier. With this commit the function can be accessed through
      `NetworkService`.
      
      This is need in order for a validator to connect to as many other
      validators as configured without reserving a specific connection slot
      for them.
      138bcf0d
  39. Aug 07, 2019
    • Gavin Wood's avatar
      Refactor key management (#3296) · ed61b1fd
      Gavin Wood authored
      
      
      * Add Call type to extensible transactions.
      
      Cleanup some naming
      
      * Merge Resource and BlockExhausted into just Exhausted
      
      * Fix
      
      * Another fix
      
      * Call
      
      * Some fixes
      
      * Fix srml tests.
      
      * Fix all tests.
      
      * Refactor crypto so each application of it has its own type.
      
      * Introduce new AuthorityProvider API into Aura
      
      This will eventually allow for dynamic determination of authority
      keys and avoid having to set them directly on CLI.
      
      * Introduce authority determinator for Babe.
      
      Experiment with modular consensus API.
      
      * Work in progress to introduce KeyTypeId and avoid polluting API
      with validator IDs
      
      * Finish up drafting imonline
      
      * Rework offchain workers API.
      
      * Rework API implementation.
      
      * Make it compile for wasm, simplify app_crypto.
      
      * Fix compilation of im-online.
      
      * Fix compilation of im-online.
      
      * Fix more compilation errors.
      
      * Make it compile.
      
      * Fixing tests.
      
      * Rewrite `keystore`
      
      * Fix session tests
      
      * Bring back `TryFrom`'s'
      
      * Fix `srml-grandpa`
      
      * Fix `srml-aura`
      
      * Fix consensus babe
      
      * More fixes
      
      * Make service generate keys from dev_seed
      
      * Build fixes
      
      * Remove offchain tests
      
      * More fixes and cleanups
      
      * Fixes finality grandpa
      
      * Fix `consensus-aura`
      
      * Fix cli
      
      * Fix `node-cli`
      
      * Fix chain_spec builder
      
      * Fix doc tests
      
      * Add authority getter for grandpa.
      
      * Test fix
      
      * Fixes
      
      * Make keystore accessible from the runtime
      
      * Move app crypto to its own crate
      
      * Update `Cargo.lock`
      
      * Make the crypto stuff usable from the runtime
      
      * Adds some runtime crypto tests
      
      * Use last finalized block for grandpa authority
      
      * Fix warning
      
      * Adds `SessionKeys` runtime api
      
      * Remove `FinalityPair` and `ConsensusPair`
      
      * Minor governance tweaks to get it inline with docs.
      
      * Make the governance be up to date with the docs.
      
      * Build fixes.
      
      * Generate the inital session keys
      
      * Failing keystore is a hard error
      
      * Make babe work again
      
      * Fix grandpa
      
      * Fix tests
      
      * Disable `keystore` in consensus critical stuff
      
      * Build fix.
      
      * ImOnline supports multiple authorities at once.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Merge branch 'master' into gav-in-progress
      
      * Remove unneeded code for now.
      
      * Some `session` testing
      
      * Support querying the public keys
      
      * Cleanup offchain
      
      * Remove warnings
      
      * More cleanup
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * More cleanups
      
      * JSONRPC API for setting keys.
      
      Also, rename traits::KeyStore* -> traits::BareCryptoStore*
      
      * Bad merge
      
      * Fix integration tests
      
      * Fix test build
      
      * Test fix
      
      * Fixes
      
      * Warnings
      
      * Another warning
      
      * Bump version.
      ed61b1fd