Skip to content
  1. Feb 20, 2020
  2. Feb 19, 2020
    • Max Inden's avatar
      Introduce Prometheus metric endpoint replacing Grafana endpoint (#4981) · ebd42434
      Max Inden authored
      
      
      * Refactor rebase master prometheus_v0.3
      
      * Milestone1: Final Version of v0.3
      
      * no-std or warm compatibility issues, grapana-data -source code reference and correction,applicable
      
      * Cargo.lock paritytech/master rebase
      
      * prometheus networking.rs del, grafana-data-source networking.rs pub edit and note
      
      * chore: reflect various feedback
      
      * Spaces to tabs.
      
      * Replace grafana and tidy
      
      * Add generics
      
      * Add photo back
      
      * Re-fix spaces in primitives/consensus/babe/src/inherents.rs
      
      * Refactor rebase master prometheus_v0.3
      
      * Milestone1: Final Version of v0.3
      
      * no-std or warm compatibility issues, grapana-data -source code reference and correction,applicable
      
      * prometheus networking.rs del, grafana-data-source networking.rs pub edit and note
      
      * chore: reflect various feedback
      
      * Replace grafana and tidy
      
      * Add generics
      
      * Add photo back
      
      * Re-fix spaces in primitives/consensus/babe/src/inherents.rs
      
      * chore: revert this file back to paritytech/master inherents.rs.
      
      * Add newline at EOF
      
      * Tidy
      
      * Use local registry
      
      * fix typo
      
      Co-Authored-By: default avatarMax Inden <[email protected]>
      
      * chore:  Apply review feedback
      
      * endpoint -> exporter
      
      * fix readme
      
      * Remove lazy_static, use ServiceMetrics struct instead
      
      * Switch to using GaugeVecs
      
      * chore: without nightly , edit README
      
      * block_height -> block_height_number
      
      * Switch to a ready_transactions_number gauge
      
      * Update utils/prometheus/src/lib.rs
      
      Co-Authored-By: default avatarMax Inden <[email protected]>
      
      * no-prometheus flag add
      
      * /metrics url Input check
      
      * remove prometheus in Tracing
      
      * remove prometheus in Tracing
      
      * chore: master code rebase edit
      
      * gitlab-check-web-wasm edit code
      
      * From:from and cargo.lock update
      
      * with_prometheus_registry add background_tasks
      
      * utils/prometheus/src/lib.rs: Restructure #[cfg] for wasm without hyper
      
      Given that Hyper is not compatible with WASM targets it needs to be
      excluded from WASM builds. Instead of introducing #[cfg] lines
      throughout the crate, this patch splits the crate into two: known_os and
      unknown_os (WASM).
      
      * utils/prometheus/src/lib.rs: Feature gate known_os module
      
      * client/cli/src/lib.rs: Re-add newline at end of file
      
      Co-authored-by: default avatarJeseonLEE <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarAshley <[email protected]>
      Co-authored-by: default avatarHyungsuk Kang <[email protected]>
      ebd42434
    • Bastian Köcher's avatar
      Consolidate frame benchmarking into a frame crate (#4977) · c077a2b5
      Bastian Köcher authored
      This prs cleans up some of the frame benchmarking stuff:
      - Move CLI into `frame-benchmarking-cli`. No frame related CLI should
      exists in the default Substrate CLI.
      - Move all traits and types related to frame benchmarking into the
      `frame-benchmarking` trait. Frame types should be isolated in Frame.
      c077a2b5
  3. Feb 18, 2020
    • Tomasz Drwięga's avatar
      Inspection extension to node CLI (#4697) · d9952dd5
      Tomasz Drwięga authored
      * Initial inspect.
      
      * WiP
      
      * Add parsing tests.
      
      * Finalize CLI.
      
      * Update to latest substrate.
      
      * Remove unused imports.
      
      * Support ImportParams as well, to get the right pruning setting.
      
      * Mention in docs that hash is no 0x.
      
      * Move bytes above extrinsics.
      
      * Switch to fill helper from sc_cli.
      
      * Remove overwrite.
      
      * Fix error.
      
      * Fix error message.
      
      * Remove extra allow.
      
      * init_config
      d9952dd5
    • Igor Matuszewski's avatar
      297e6495
    • Toralf Wittner's avatar
      Remove direct yamux dependency. (#4968) · 9b33c471
      Toralf Wittner authored
      libp2p-0.16 allows configuring yamux through libp2p-yamux, so the
      direct dependency is no longer needed.
      
      While at it we also update to the latest versions of yamux and
      nohash-hasher, though the code changes do not depend on it.
      9b33c471
    • Nikolay Volf's avatar
      Reusable bench-db & bench-keyring (#4955) · dececc3f
      Nikolay Volf authored
      * move to node-testing/bench
      
      * to tabs
      dececc3f
    • Igor Matuszewski's avatar
      offchain: Upgrade hyper to 0.13, which uses tokio 0.2 (#4860) · 0c8e0592
      Igor Matuszewski authored
      * service: Don't depend on tokio-executor
      
      Seems to be a leftover dependency that's not used anymore.
      
      * offchain: Upgrade hyper to 0.13, which uses tokio 0.2
      
      * offchain: Adapt HTTP tests to Tokio 0.2
      
      * network: Don't transitively include tokio 0.2 in WASM
      
      1) We don't specifically depend on Tokio codec impls
      2) Conflating features in Cargo means that enabling Tokio runtime
      in the native environment will also do so in WASM, where it's
      obviously not implemented and causes a compilation error.
      
      * grafana-data-source: Pull hyper/tokio only in native environment
      0c8e0592
  4. Feb 17, 2020
  5. Feb 14, 2020
    • Web3 Philosopher's avatar
      Adds fork-awareness and finalization notifications to transaction pool watchers. (#4740) · 16bb1926
      Web3 Philosopher authored
      
      
      * adds finalization support to sc-transaction-pool using MaintainedTransactionPool for finalization events
      
      * adds TransactionStatus::Retracted, notify watchers of retracted blocks, finalized now finalizes, transactions for current finalized -> last finalized block
      
      * adds last_finalized to ChainApi, use generic BlockT for ChainEvent
      
      * fix tests
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * tests
      
      * fix tests, docs, lazily dedupe pruned hashes
      
      * fix tests, Cargo.lock
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * remove tree_route, last_finalized from ChainApi, add block hash to Finalization and Retracted events
      
      * prune finality watchers
      
      * fix tests
      
      * remove HeaderBackend bound from FullChainApi
      
      * code style nits, terminate stream in finality_timeout
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      16bb1926
    • Gavin Wood's avatar
      Composite accounts (#4820) · 29454c30
      Gavin Wood authored
      
      
      * Basic account composition.
      
      * Add try_mutate_exists
      
      * De-duplicate
      
      * Refactor away the UpdateBalanceOutcome
      
      * Expunge final UpdateBalanceOutcome refs
      
      * Refactor transfer
      
      * Refactor reservable currency stuff.
      
      * Test with the alternative setup.
      
      * Fixes
      
      * Test with both setups.
      
      * Fixes
      
      * Fix
      
      * Fix macros
      
      * Make indices opt-in
      
      * Remove CreationFee, and make indices opt-in.
      
      * Fix construct_runtime
      
      * Fix last few bits
      
      * Fix tests
      
      * Update trait impls
      
      * Don't hardcode the system event
      
      * Make tests build and fix some stuff.
      
      * Pointlessly bump runtime version
      
      * Fix benchmark
      
      * Another fix
      
      * Whitespace
      
      * Make indices module economically safe
      
      * Migrations for indices.
      
      * Fix
      
      * Whilespace
      
      * Trim defunct migrations
      
      * Remove unused storage item
      
      * More contains_key fixes
      
      * Docs.
      
      * Bump runtime
      
      * Remove unneeded code
      
      * Fix test
      
      * Fix test
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix ED logic
      
      * Repatriate reserved logic
      
      * Typo
      
      * Fix typo
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Last few fixes
      
      * Another fix
      
      * Build fix
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      29454c30
  6. Feb 13, 2020
    • Wei Tang's avatar
      pallet-evm: add support for transaction-level create2 (#4907) · 067c8844
      Wei Tang authored
      * pallet-evm: add support for transaction-level create2
      
      * Bump runtime version
      
      * Switch to FunctionOf for weights
      067c8844
    • Nikolay Volf's avatar
      b36497ad
    • Sergey Pepyakin's avatar
      executor: Migrate wasmtime backend to a high-level API (#4686) · 0b2ae97f
      Sergey Pepyakin authored
      
      
      * Migrate wasmtime backend to wasmtime-api
      
      * Port to a newer version of wasmtime
      
      * Update to the latest changes.
      
      * Rejig the sandbox module a bit
      
      * Materialze
      
      * Fixes.
      
      * executor wasm_runtime fix
      
      * Refactor everything
      
      * More refactoring
      
      * Even more refactorings
      
      * More cleaning.
      
      * Update to the latest wasmtime
      
      * Reformat
      
      * Renames
      
      * Refactoring and comments.
      
      * Docs
      
      * Rename FunctionExecutor to host.
      
      * Imrpove docs.
      
      * fmt
      
      * Remove panic
      
      * Assert the number of arguments are equal between wasmtime and hostfunc.
      
      * Comment a possible panic if there is no corresponding value variant.
      
      * Check signature of the entrypoint.
      
      * Use git version of wasmtime
      
      * Refine and doc the sandbox code.
      
      * Comment RefCells.
      
      * Update wasmtime to the latest-ish master.
      
      This may solve a problem with segfaults.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Use full SHA1 hash of wasmtime commit.
      
      * Add a panic message.
      
      * Add some documentation
      
      * Update wasmtime version to include SIGSEGV fix
      
      * Update to crates.io version of wasmtime
      
      * Make it work.
      
      * Move the creation of memory into `InstanceWrapper::new`
      
      * Make `InstanceWrapper` !Send & !Sync
      
      * Avoid using `take_mut`
      
      * Update client/executor/wasmtime/Cargo.toml
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Limit maximum size of memory.
      
      * Rename `init_state` to `with_initialized_state`
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      0b2ae97f
    • Nikolay Volf's avatar
      Full block import benchmark (#4865) · b01bd0d4
      Nikolay Volf authored
      
      
      * full block import benchmark
      
      * try rocksdb cache
      
      * add profiling helper
      
      * use random keyring instead of zero caching
      
      * update docs
      
      * add more io stats
      
      * remove last sentence
      
      * add ci job to see
      
      * Update primitives/keyring/src/sr25519.rs
      
      Co-Authored-By: default avatarMarcio Diaz <[email protected]>
      
      * switch to 100tx-block
      
      * remove ci script
      
      Co-authored-by: default avatarMarcio Diaz <[email protected]>
      b01bd0d4
  7. Feb 12, 2020
    • Toralf Wittner's avatar
      network: Use "one shot" protocol handler. (#3520) · ea721a19
      Toralf Wittner authored
      * network: Use "one shot" protocol handler.
      
      Add two new `NetworkBehaviour`s, one handling remote block requests
      and another one to handle light client requests (both local and from
      remote). The change is motivated by the desire to use multiple
      substreams of a single connection for different protocols. To achieve
      this, libp2p's `OneShotHandler` is used as a protocol handler in each
      behaviour. It will open a fresh substream for the duration of the
      request and close it afterwards. For block requests, we currently only
      handle incoming requests from remote and tests are missing. For light
      client handling we support incoming requests from remote and also
      ported a substantial amount of functionality over from
      `light_dispatch.rs` (including several tests). However the result lacks
      in at least two aspects:
      
      (1) We require external updates w.r.t. the best block per peer and
      currently nothing updates this information.
      (2) We carry a lot of peer-related state around.
      
      Both aspects could be simplified by externalising peer selection and
      just requiring a specific peer ID where the request should be sent to.
      We still have to maintain some peer related state due to the way
      libp2p's swarm and network behaviour work (e.g. we must make sure to
      always issue `NetworkBehaviourAction::SendEvent`s to peers we are
      connected to, otherwise the actions die a silent death.
      
      Another change implemented here is the use of protocol buffers as the
      encoding for network messages. Certain individual fields of messages
      are still SCALE encoded. There has been some discussion about this
      in another PR (https://github.com/paritytech/substrate/pull/3452), so
      far without resolution.
      
      * Uncomment `Behaviour::light_client_request`.
      
      * Add license headers.
      ea721a19
    • 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
  8. Feb 11, 2020
  9. Feb 10, 2020
    • Nikolay Volf's avatar
      update primitive types to 0.6.2 (#4866) · 613a3bc8
      Nikolay Volf authored
      613a3bc8
    • Ashley's avatar
      Fix timer panics in the wasm light client (#4561) · ae03ee91
      Ashley authored
      * Make WASM browser thing compile
      
      * Fix
      
      * updated exit-future (github repo)
      
      * Switch to broadcast crate
      
      * Migrate client/cli
      
      * Switch exit-future to modernize branch
      
      * Small changes
      
      * Switch to cargo version and fix fg tests
      
      * fix basic-authorship
      
      * Fix crash on grafana macro
      
      * Fix grafana macro
      
      * Switch node python version
      
      * Disable record_metrics_slice in grafana macro on wasm
      
      * Update client/grafana-data-source/src/lib.rs
      
      * Revert "Update client/grafana-data-source/src/lib.rs"
      
      This reverts commit 888009a8.
      
      * Add wasm support for state machine
      
      * Switch to my own libp2p version
      
      * Revert "Switch to my own libp2p version"
      
      This reverts commit ce613871.
      
      * Revert "Add wasm support for state machine"
      
      This reverts commit de7eaa06
      
      .
      
      * Add sc-browser
      
      * Squash
      
      * remove sc-browser
      
      * Fix keystore on wasm
      
      * stubs for removed functions to make env compatible with old runtimes
      
      * Add test (that doesn't work)
      
      * Fix build scripts
      
      * Revert basic-authorship due to no panics
      
      * Revert cli/informant
      
      * Revert consensus
      
      * revert offchain
      
      * Update utils/browser/Cargo.toml
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * export console functions
      
      * Add new chainspec
      
      * Fix ws in chain spec
      
      * revert chainspec
      
      * Fix chainspec
      
      * Use an Option<PathBuf> in keystore instead of cfg flags
      
      * Remove crud
      
      * Only use wasm-timer for instant and systemtime
      
      * Remove telemetry changes
      
      * Assuming this is ok
      
      * Add a KeystoreConfig
      
      * Add stubs back in
      
      * Update libp2p
      
      * Revert "Add stubs back in"
      
      This reverts commit 4690cf18.
      
      * Remove commented js again
      
      * Bump kvdb-web version
      
      * Fix cli
      
      * Switch branch on futures-timer
      
      * Fix tests
      
      * Remove sc-client test build in check-web-wasm because there isn't a good way to build futures-timer with wasm-bindgen support in the build
      
      * Remove more things ^^
      
      * Switch branch on futures-timer back
      
      * Put DB io stats behind a cfg flag
      
      * Fix things
      
      * Don't timeout transports on wasm
      
      * Update branch of futures-timer and fix bad merge
      
      * Spawn informant
      
      * Fix network test
      
      * Fix delay resets
      
      * Changes
      
      * Fix tests
      
      * use wasm_timer for transaction pool
      
      * Fixes
      
      * Switch futures-timer to crates
      
      * Only diagnose futures on native
      
      * Fix sc-network-test tests
      
      * Select log level in js
      
      * Fix syncing ;^)
      
      * Allow disabling colours in the informant
      
      * Use OutputFormat enum for informant
      
      * MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master
      
      * Update futures-diagnose
      
      * Revert "MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master"
      
      This reverts commit baa4ffc9
      
      .
      
      * Pass whole chain spec in start_client
      
      * Get Instant::now to work in transaction pool again
      
      * Informant dep reordering
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarDemi Obenour <[email protected]>
      ae03ee91
    • Cecile Tonglet's avatar
      Update trie-db to the latest (#4874) · 7e8ac2eb
      Cecile Tonglet authored
      7e8ac2eb
    • Shawn Tabrizi's avatar
      Create Benchmarking Setup for Identity Pallet #4695 (#4818) · 8b6b093d
      Shawn Tabrizi authored
      
      
      * Starting
      
      * closer
      
      * Compiles!
      
      * comments
      
      * Create seperate mock
      
      * Remove changes to test env
      
      * Fix step calculation
      
      * Add host function
      
      * Add runtime api
      
      * compiles
      
      * Update to use offchain timestamp
      
      * Gives a result
      
      * added some CLI wip
      
      * make generic
      
      * Update instance
      
      * Remove CLI stuff
      
      * Remove last cli stuff
      
      * undo more changes
      
      * Update benchmarks
      
      * Update Cargo.lock
      
      * remove test
      
      * Move loop out of runtime
      
      * Benchmarking externalities
      
      * Benchmarking state
      
      * Implemented commit
      
      * Make CLI work, move loop back into runtime
      
      * Wipe resets to genesis
      
      * Speedup benchmarks
      
      * Use enum to select extrinsic within pallet
      
      * CLI controls which module and extrinsic to call
      
      * Select a pallet with cli
      
      * Add steps and repeats to cli
      
      * Output as CSV format
      
      * Introduce benchmark pallet
      
      * Append bench
      
      * Use Results
      
      * fix merge
      
      * Clear Identity benchmark
      
      * Bench request judgment and cancel request
      
      * Add final benchmarks
      
      * Fix CSV output
      
      * Start cleaning up for PR
      
      * Bump numbers in `wasmtime` integration tests.
      
      * More docs
      
      * Add rockdb feature to bench
      
      * Fix formatting issues
      
      * Add test feature to bench
      
      * Add test feature to bench
      
      * Add rocksdb feature flag
      
      * Update bench.rs
      
      Co-authored-by: default avatarArkadiy Paronyan <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      8b6b093d
  10. Feb 07, 2020
  11. Feb 06, 2020
    • Wei Tang's avatar
      babe: pass epoch data via intermediates (#4807) · dec1bb7d
      Wei Tang authored
      * babe: pass epoch data via intermediates
      
      * Switch to use Box<dyn Any> for intermediates
      
      * Set intermediate.epoch to be Option
      
      * Fix proposer should put out an empty intermediate
      
      * Remove unnecessary encode/decode
      
      * Add EpochData to block_import_params in slot worker
      
      * Fix aura compile
      
      * Fix integration test
      dec1bb7d
    • Wei Tang's avatar
      Refactor epoch changes to a separate crate (#4785) · 8d7bf667
      Wei Tang authored
      * Init epoch changes module
      
      * Initial integration of new epoch changes module for BABE
      
      * Fix all initial compile errors
      
      * rename: digest -> digests
      
      * Fix babe tests
      
      * Bump impl_version
      
      * Fix more test issues
      
      * Remove test flag for tree
      
      It unfortunately won't work for multiple crates.
      
      * Update cargo lock
      
      * Fix duplicate parking_lot version
      
      * Add missing license header
      8d7bf667
    • Cecile Tonglet's avatar
      CLI improvements & fixes (#4812) · 099cd0f2
      Cecile Tonglet authored
      These are a few changes I missed during the refactoring.
      
      1. Initialization issue and boilerplate
      
          Most importantly: part of the `Configuration` initialization was done in `sc_cli::init`. This means the user can not benefit from this initialization boilerplate if they have multiple `Configuration` since `sc_cli::init` can only be called once.
      
      2. Boilerplate for `VersionInfo` and `Configuration`
      
          I'm also answering to the critic of @bkchr on the initialization using version: https://github.com/paritytech/substrate/pull/4692/files/bea809d4#r372047238 This will allow initializing a `Configuration` and provide the version by default.
      
      3. Loading the `chain_spec` explicitly
      
          In the past it was done automatically but in some cases we want to delay this. I moved the code to `Configuration.load_spec()` so it can be called later on. `chain_spec` can also be written directly to the `Configuration` without using this `load_spec` helper.
      
      4. [deleted]
      
      5. Fixing issue that prevents the user to override the port
      
          In the refactoring I introduced a bug by mistake that could potentially prevent the CLI user to override the ports if defaults where provided for these ports (only on cumulus).
      
      6. Change task_executor from Box to Arc
      
          This is useful for cumulus where we have 2 nodes with 2 separate Configuration that need to spawn tasks to the same runtime.
      
      7. Renamed TasksExecutorRequired to TaskExecutor
      
          For consistency.
      
      This is related to https://github.com/paritytech/cumulus/issues/24
      
      This is the continuation (and hopefully the end of) #4692 
      099cd0f2
    • Jimmy Chu's avatar
      Node template folders restructuring (#4811) · 3fc91c76
      Jimmy Chu authored
      * Restructure node-template so it is clear that node, runtime, and pallets are separated
      * Separating to mock and tests
      * restructuring runtime to top-level
      * updated release script
      * updated Cargo.lock
      3fc91c76
  12. Feb 04, 2020
  13. Feb 03, 2020
  14. Feb 01, 2020