1. Jul 09, 2020
    • Bastian Köcher's avatar
      Make `init_logging` more easily usable (#6620) · 5bb834cc
      Bastian Köcher authored
      Instead of requiring the `LogRotationOpt`, it now requires an
      `Option<LogRotationOpt>`. This makes it much more easy to use the
      interface when someone isn't interested on the `LogRotationOpt`'s
      5bb834cc
    • Ashley's avatar
      Simplify a few chain components creation APIs related to the service (#6611) · 234e7d0c
      Ashley authored
      
      
      * Simplify a few chain components creation APIs related to the service
      
      * Fix basic-authorship doc tests
      
      * Remove DefaultQueue
      
      * Update client/service/src/builder.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Move ExecutionExtensions comment around
      
      * Remove unused BlakeTwo256
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      234e7d0c
    • Alexander Theißen's avatar
      seal: Rework contracts API (#6573) · 25de5b5c
      Alexander Theißen authored
      * Transition getter functions to not use scratch buffer
      
      * Remove scratch buffer from ext_get_storage
      
      * Remove scratch buffer from ext_call
      
      * Remove scratch buffer from ext_instantiate
      
      * Add ext_input and remove scratch buffer
      
      * Rework error handling (changes RPC exposed data)
      
      * ext_return passes a flags field instead of a return code
      	* Flags is only for seal and not for the caller
      	* flags: u32 replaced status_code: u8 in RPC exposed type
      * API functions use a unified error type (ReturnCode)
      * ext_transfer now traps on error to be consistent with call and instantiate
      
      * Remove the no longer used `Dispatched` event
      
      * Updated inline documentation
      
      * Prevent skipping of copying the output for getter API
      
      * Return gas_consumed from the RPC contracts call interface
      
      * Updated COMPLEXTITY.md
      
      * Rename ext_gas_price to ext_weight_to_fee
      
      * Align comments with spaces
      
      * Removed no longer used `ExecError`
      
      * Remove possible panic in `from_typed_value`
      
      * Use a struct as associated data for SpecialTrap::Return
      
      * Fix nits in COMPLEXITY.md
      
      * Renamed SpecialTrap to TrapReason
      
      * Fix test
      
      * Finish renaming special_trap -> trap_reason
      
      * Remove no longer used get_runtime_storage
      
      * fixup! Remove no longer used get_runtime_storage
      
      * Removed tabs for comment aligment
      25de5b5c
  2. Jul 08, 2020
    • Shawn Tabrizi's avatar
      Add `WeightInfo` to all pallets with benchmarks. (#6575) · 2302898b
      Shawn Tabrizi authored
      * Start adding weight info
      
      * More weightinfo
      
      * finish weight info
      
      * more fixes
      
      * inital update of node runtime
      
      * fix the rest of the compilation
      
      * update balances
      
      * add docs
      
      * fix balances tests
      
      * Fix more tests
      
      * Fix compile
      
      * Fix pallet-evm tests
      2302898b
    • Bastian Köcher's avatar
      Improve transaction submission (#6599) · 94cddee1
      Bastian Köcher authored
      * Improve transaction submission
      
      Before this pr the transaction pool validated each transaction, even if
      the transaction was already known to the pool. This pr changes the
      behavior to first check if we are already aware of a transaction and
      thus, to only validate them if we don't know them yet. However, there is
      still the possibility that a given transaction is validated multiple
      times. This can happen if the transaction is added the first time, but
      is not yet validated and added to the validated pool.
      
      Besides that, this pr fixes the wrong metrics of gossiped transactions
      in the network. It also moves some metrics to the transaction pool api,
      to better track when a transaction actually is scheduled for validation.
      
      * Make sure we don't submit the same transaction twice from the network concurrently
      
      * Remove added listener call
      
      * Feedback
      
      * Ignore banned on resubmit
      94cddee1
    • Max Inden's avatar
      *: Update to libp2p v0.21.1 (#6559) · faa72caf
      Max Inden authored
      
      
      * *Cargo.toml: Update versions
      
      * client/network/src/discovery: Adjust to Kademlia  API changes
      
      * client/network: Adjust to one_shot.rs changes
      
      * client/network/discovery: Log address list on trace level
      
      * client/network/discovery: Ignore RoutablePeer and PendingRoutablePeer
      
      * Commit Cargo.lock
      
      * Finish update
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      faa72caf
    • pscott's avatar
      Add log rotation (#6564) · 6eb2eb81
      pscott authored
      
      
      * Use flexi_logger; Add log rotation
      
      * Add default rotation; Add FlexiLogger error
      
      * Fix compilation error
      
      * Remove logging to stdout if it's not a tty
      
      * Fix formatting
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Remove needless debug statement
      
      * Default to unlimited size for log rotation
      
      * Add more comments about log-age option
      
      * Remove unused variable
      
      * Fix typo in comment
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      6eb2eb81
    • Bastian Köcher's avatar
      Upgrade `kvdb-*`, `trie-db` and `memory-db` (#6584) · ce0b55ff
      Bastian Köcher authored
      
      
      * Upgrade `kvdb-*`, `trie-db` and `memory-db`
      
      The updates of `trie-db` and `memory-db` are important, as they fix the
      non-deterministic build of Polkadot/Substrate.
      
      * Change `trie-db` version
      
      * Update test-utils/runtime/Cargo.toml
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Update primitives/trie/Cargo.toml
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Update `Cargo.lock` and `trie-bench`
      
      * Fix UI tests
      
      * Switch to fixed version of memory-db
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      ce0b55ff
  3. Jul 07, 2020
  4. Jul 06, 2020
    • Bastian Köcher's avatar
      Don't require module name in inherents (#6576) · ad2e8322
      Bastian Köcher authored
      * Start
      
      * Cleanup `construct_runtime!`
      
      * Add tests
      
      * Fix after merge
      
      * Update the docs
      ad2e8322
    • Shawn Tabrizi's avatar
      Benchmarks Writer CLI (#6567) · 2019f707
      Shawn Tabrizi authored
      * initial mockup
      
      * add and wipe
      
      * track writes
      
      * start to add to pipeline
      
      * return all reads/writes
      
      * Log reads and writes from bench db
      
      * causes panic
      
      * Allow multiple commits
      
      * commit before ending benchmark
      
      * doesn't work???
      
      * fix
      
      * Update lib.rs
      
      * switch to struct for `BenchmarkResults`
      
      * add to output
      
      * fix test
      
      * line width
      
      * @Kianenigma
      
       review
      
      * Add Whitelist to DB Tracking in Benchmarks Pipeline (#6405)
      
      * hardcoded whitelist
      
      * Add whitelist to pipeline
      
      * Remove whitelist pipeline from CLI, add to runtime
      
      * clean-up unused db initialized whitelist
      
      * Add regression analysis to DB Tracking (#6475)
      
      * Add selector
      
      * add tests
      
      * debug formatter for easy formula
      
      * initial idea
      
      * use all benchmarks
      
      * broken
      
      * working without trait
      
      * Make work for multiple pallets
      
      * Fix merge issues
      
      * writer appends to file
      
      * implement () for balances weight trait
      
      * update name of trait
      
      * Weights to WeightInfo
      
      * auto trait writer
      
      * Heap pages are configurable
      
      * clean out runtime changes
      
      * more clean up
      
      * Fix string generation
      
      * Update comments
      
      * Update bin/node/runtime/src/lib.rs
      
      Co-authored-by: default avatararkpar <[email protected]>
      2019f707
  5. Jul 04, 2020
    • André Silva's avatar
      babe: report equivocations (#6362) · a9c21b8b
      André Silva authored
      * slots: create primitives crate for consensus slots
      
      * offences: add method to check if an offence is unknown
      
      * babe: initial equivocation reporting implementation
      
      * babe: organize imports
      
      * babe: working equivocation reporting
      
      * babe: add slot number to equivocation proof
      
      * session: move duplicate traits to session primitives
      
      * babe: move equivocation stuff to its own file
      
      * offences: fix test
      
      * session: don't have primitives depend on frame_support
      
      * babe: use opaque type for key owner proof
      
      * babe: cleanup client equivocation reporting
      
      * babe: cleanup equivocation code in pallet
      
      * babe: allow sending signed equivocation reports
      
      * node: fix compilation
      
      * fix test compilation
      
      * babe: return bool on check_equivocation_proof
      
      * babe: add test for equivocation reporting
      
      * babe: add more tests
      
      * babe: add test for validate unsigned
      
      * babe: take slot number in generate_key_ownership_proof API
      
      * babe: add benchmark for equivocation proof checking
      
      * session: add benchmark for membership proof checking
      
      * offences: fix babe benchmark
      
      * babe: add weights based on benchmark results
      
      * babe: adjust weights after benchmarking on reference hardware
      
      * babe: reorder checks in check_and_report_equivocation
      a9c21b8b
  6. Jul 02, 2020
    • Xiliang Chen's avatar
      Allow specify schedule dispatch origin (#6387) · e1d0f84c
      Xiliang Chen authored
      
      
      * allow specify schedule dispatch origin
      
      * fix tests
      
      * use caller origin for scheduled
      
      * fix tests
      
      * line width
      
      * check origin for cancel
      
      * line width
      
      * fix some issues for benchmarking
      
      * fix doc test
      
      * another way to constraint origin
      
      * fix build issues
      
      * fix cancel
      
      * line width
      
      * fix benchmarks
      
      * bump version
      
      * enable runtime upgrade
      
      * add migration code and test
      
      * Update frame/scheduler/src/lib.rs
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      
      * expose migration method
      
      * add notes
      
      * bump version
      
      * remove on_runtime_upgrade
      
      * fix test
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      e1d0f84c
    • pscott's avatar
      Update SubstrateCli to return String (#6550) · 540ae1c1
      pscott authored
      
      
      * Update SubstrateCli to return String
      
      * Add default implementation for executable_name()
      
      * Use display instead of PathBuf
      
      * Get file_name in default impl of executable_name
      
      * Remove String::from and use .into()
      
      * Use default impl for executable_name()
      
      * Use .as_str() and remove useless .to_string()
      
      * Update only sp-io when running companion build
      
      * Remove unneeded update of sp-io in CI
      
      Co-authored-by: default avatarCecile Tonglet <[email protected]>
      540ae1c1
    • Ashley's avatar
      Remove `ServiceBuilderCommand` and implement the chain ops as standalone functions instead. (#6543) · 5f751e44
      Ashley authored
      
      
      * :)
      
      * Slight tidy
      
      * Remove ServiceBuilderCommand
      
      * Remove whitespace
      
      * Keep task manager alive for check_block/import_blocks
      
      * Pass task_manager to run_until_exit
      
      * Make task_manager in run_until_exit and make subcommands async
      
      * Change the async_run fn to return a future and task manager
      
      * async_run should take a result fn
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Fix spaces in export_raw_state
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      5f751e44
  7. Jun 30, 2020
    • Nikolay Volf's avatar
      Block production integration benchmark (#6468) · 850942ae
      Nikolay Volf authored
      * proposer benchmark
      
      * update cargo.lock
      850942ae
    • Ashley's avatar
      Remove the service, replacing it with a struct of individual chain components (#6352) · b832e35c
      Ashley authored
      * WIP
      
      * Making progress
      
      * Almost ready
      
      * Get service tests compiling
      
      * Fix node screenshot
      
      * Line widths
      
      * Fix node cli tests
      
      * Fix node cli warning
      
      * ChainComponents -> ServiceComponents, fix tests
      
      * make spawn_handle public
      
      * Remove spawnnamed impl for taskmanager
      
      * Move the keep alive stuff to the task manager
      
      * Move the telemetry, base path, rpc keep_alive to the service builder
      
      * Make the task manager keep alive an internal detail
      
      * Rewrite the browser start_client future
      
      * Remove run_node etc
      
      * Revert my personal changes to browser-demo/build.sh
      
      * use |config|
      
      * Add a runtime_version function to SubstrateCli
      
      * Reexport role and runtime version from sc cli
      
      * Update Cargo.lock
      
      * runtime_version -> native_runtime_version
      
      * Pass chain spec to native_runtime_version for polkadot
      
      * Fix line widths
      
      * Traitify ServiceComponents Client
      b832e35c
    • Toralf Wittner's avatar
      Update to libp2p v0.20.1 (#6465) · 3de2a880
      Toralf Wittner authored
      
      
      * Update to libp2p-0.20.0
      
      * Update to `libp2p-0.20.1`.
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      3de2a880
  8. Jun 29, 2020
  9. Jun 26, 2020
  10. Jun 25, 2020
  11. Jun 24, 2020
  12. Jun 21, 2020
  13. Jun 19, 2020
  14. Jun 18, 2020
    • mattrutherford's avatar
      Runtime interface to add support for tracing from wasm (#6381) · 74a989f3
      mattrutherford authored
      
      
      * Add span recording to tracing implementation
      
      * Add tracing proxy
      
      * switch to rustc_hash::FxHashMap
      
      * Replace lazy_static and hashmap with thread_local and vec.
      
      * fix marking valid span as invalid while removing invalid spans
      
      * refactor, add wasm_tracing module in `support`
      
      * update registered spans
      
      * tidy up
      
      * typos
      
      * refactor
      
      * update flag name to signal lost trace - `is_valid_trace`
      
      * update flag name to signal lost trace - `is_valid_trace`
      
      * update docs
      
      * update docs
      
      * Use tracing Field recording to store the actual `name` and `target`
      from wasm traces.
      
      * fix debug log in subscriber + small refactor
      
      * add tests
      
      * handle misuse in case trying to exit span not held
      
      * Implement filter for wasm traces, simplify field recording for primitive types
      
      * remove superfluous warning
      
      * update docs
      
      * Update primitives/tracing/src/proxy.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * update docs, apply suggestions
      
      * move Proxy from thread_local to `Extension`, rename macro
      
      * fix test
      
      * unify native & wasm span macro calls
      
      * implement wasm tracing control facility in primitives and frame
      
      * add cli flag `--wasm-tracing`
      
      * fix
      
      * switch to `Option<u4>` (possible performance degradation), switch
      to static mut bool
      
      * performance improvement using u64 vs Option<u64>
      
      * performance improvement moving concat to client
      
      * update docs
      
      * Update client/cli/src/params/import_params.rs
      
      Co-authored-by: default avatarCecile Tonglet <[email protected]>
      
      * performance improvement
      
      * Revert "performance improvement"
      
      This reverts commit 55ff8817a86302cd93bb6197eb4ca5bc7f4fb524.
      
      * small refactor
      
      * formatting
      
      * bump impl_version
      
      * Update client/cli/src/config.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * update docs
      
      * small fixes, remove pub static
      
      * nit
      
      * add integration tests and refactor Subscriber
      
      * tests
      
      * revert formatting
      
      * try fix test that works locally but not in CI
      
      * try fix test that works locally but not in CI
      
      * debug test that works locally but not in CI
      
      * fix test that works locally but not in CI
      
      * remove pub visibility from bool in runtime
      
      * make TracingSpanGuard #[cfg(not(feature = "std"))], update docs, comments
      
      * make TracingProxy drop implementation conditional on !empty state
      
      * add docs for TraceHandler
      
      * remove blank line
      
      * update expect message
      
      * update tests
      
      * rename cli option to tracing_enable_wasm
      
      * rename cli option to tracing_enable_wasm
      
      * fix
      
      * ensure wasm-tracing features are wasm only
      
      * bump impl_version
      
      * bump impl_version
      
      * add `"pallet-scheduler/std"` to `[features]` `std` in node/runtime
      
      * refactor service to remove sp_tracing dependency
      
      * refactor: line width, trait bounds
      
      * improve LogTraceHandler output
      
      * fix test
      
      * improve tracing log output
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * swap wasm indication from trace name to a separate value
      
      * Update client/tracing/src/lib.rs
      
      * add docs
      
      * remove runtime features
      
      remove wasm_tracing option from CLI
      
      remove wasm_tracing flag from ProfilingSubscriber
      
      Co-authored-by: default avatarMatt Rutherford <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarCecile Tonglet <[email protected]>
      74a989f3
    • Wei Tang's avatar
      Pallet: Atomic Swap (#6349) · bd5ad9fd
      Wei Tang authored
      
      
      * Init atomic swap pallet
      
      * Implement module swap operations
      
      * Add successful swap test
      
      * Bump node spec_version
      
      * Fix storage name
      
      * Add ProofLimit parameter to prevent proof size being too large
      
      * Add missing events
      
      * Basic weight support
      
      * Add basic docs
      
      * Mark swap on claim
      
      This handles the additional case if `repatriate_reserved` fails.
      
      * Add additional expire handler
      
      * Update frame/atomic-swap/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Add docs on ProofLimit
      
      * Fix test
      
      * Return Ok(()) even when the transfer fails
      
      Because we need to mark the swap as claimed no matter what.
      
      * Remove retry logic
      
      It's overkill. Swap is about something being executed, not necessarily successful.
      Although there should be logic (reserve and unreserve) to make it so that both parties *believes*
      that the execution is successful.
      
      * succeed -> succeeded
      
      * Add docs on duration -- revealer should use duration shorter than counterparty
      
      * Missing trait type
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      bd5ad9fd
  15. Jun 17, 2020
  16. Jun 16, 2020
  17. Jun 15, 2020
    • thiolliere's avatar
      Introduce in-origin filtering (#6318) · c2ad2727
      thiolliere authored
      
      
      * impl filter in origin
      
      * remove IsCallable usage. Breaking: utility::batch(root, calls) no longer bypass BasicCallFilter
      
      * rename BasicCallFilter -> BaseCallFilter
      
      * refactor code
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * remove forgotten temporar comment
      
      * better add suggestion in another PR
      
      * refactor: use Clone instead of mem::replace
      
      * fix tests
      
      * fix tests
      
      * fix tests
      
      * fix benchmarks
      
      * Make root bypass filter in utility::batch
      
      * fix unused imports
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      c2ad2727
  18. Jun 11, 2020
  19. Jun 10, 2020