1. Aug 17, 2020
    • Shawn Tabrizi's avatar
      WeightInfo for System, Timestamp, and Utility (#6868) · 74a583d1
      Shawn Tabrizi authored
      * initial updates to system
      
      * fix compile
      
      * Update writer.rs
      
      * update weights
      
      * finish system weights
      
      * timestamp weights
      
      * utility weight
      
      * Fix overflow in weight calculations
      
      * add back weight notes
      
      * Update for whitelisted benchmarks
      
      * add trait bounds
      
      * Revert "add trait bounds"
      
      This reverts commit 12b08b7189aa3969f96fa19b211a370860fdb240.
      
      * Update weights for unaccounted for read
      74a583d1
    • Wei Tang's avatar
      babe, aura, pow: only call check_inherents if authoring version is compatible (#6862) · 3f85b85e
      Wei Tang authored
      * pow: check can_author_with before calling check_inherents
      
      * babe: check can_author_with before calling check_inherents
      
      * aura: check can_author_with before calling check_inherents
      
      * Fix node and node template compile
      
      * Add missing comma
      
      * Put each parameter on its own line
      
      * Add debug print
      
      * Fix line width too long
      
      * Fix pow line width issue
      3f85b85e
  2. Aug 15, 2020
  3. Aug 14, 2020
    • Roman Borschel's avatar
      Update to libp2p-0.23. (#6870) · 327e0294
      Roman Borschel authored
      * Update to libp2p-0.23.
      
      Thereby incorporate bandwidth measurement along the
      lines previously done by libp2p itself.
      
      * Tweak dependencies for wasm32 compilation.
      
      For wasm32 we need to enable unstable features to
      make `task::Builder::local` available.
      
      * Simplify dependencies.
      
      * Simplify.
      
      Leave the calculation of bytes sent/received per second
      to the outer layers of the code, subject to their own
      individual update intervals.
      
      * Cleanup
      
      * Re-add lost dev dependency.
      
      * Avoid division by zero.
      
      * Remove redundant metric.
      
      * Enable sending of noise legacy handshakes.
      
      * Add comment about monotonic gauge.
      
      * CI
      327e0294
  4. Aug 12, 2020
    • Max Inden's avatar
      client/authority-discovery: Introduce AuthorityDiscoveryService (#6760) · 2d5ec723
      Max Inden authored
      * client/authority-discovery: Rename AuthorityDiscovery to XXXWorker
      
      * client/authority-discovery: Introduce AuthorityDiscoveryService
      
      Add a basic `AuthorityDiscoveryService` implementation which enables
      callers to get the addresses for a given `AuthorityId` from the local
      cache.
      
      * client/authority-discovery: Split into worker and service mod
      
      Move `Service` and `Worker` to their own Rust modules resulting in the
      following file structure.
      
      ├── build.rs
      ├── Cargo.toml
      └── src
          ├── error.rs
          ├── lib.rs
          ├── service.rs
          ├── tests.rs
          ├── worker
          │   ├── addr_cache.rs
          │   ├── schema
          │   │   └── dht.proto
          │   └── tests.rs
          └── worker.rs
      
      * client/authority-discovery: Cache PeerId -> AuthorityId mapping
      
      * client/authority-discovery: Update priority group on interval
      
      Instead of updating the authority discovery peerset priority group each
      time a new DHT value is found, update it regularly on an interval.
      
      This removes the need for deterministic random selection. Instead of
      trying to return a random stable set of `Multiaddr`s, the `AddrCache`
      now returns a random set on each call.
      
      * client/authority-discovery: Implement Service::get_authority_id
      
      * client/authority-discovery: Use HashMap instead of BTreeMap
      
      * client/authority-discovery: Rework priority group interval
      
      * client/authority-discovery: Fix comment
      
      * bin/node/cli: Update authority discovery constructor
      
      * client/authority-discovery: Fuse from_service receiver
      
      * client/authority-discovery: Remove Rng import
      
      * client/authority-discovery: Ignore Multiaddr without PeerId
      
      * client/authority-discovery/service: Add note on returned None
      
      * client/authority-discovery/addr_cache: Replace double clone with deref
      2d5ec723
    • mattrutherford's avatar
      Implement tracing::Event handling & parent_id for spans and events (#6672) · 9442c19b
      mattrutherford authored
      
      
      * implement events handling, implement parent_id for spans & events
      
      * add events to sp_io::storage
      
      * update test
      
      * add tests
      
      * adjust limit
      
      * let tracing crate handle parent_ids
      
      * re-enable current-id tracking
      
      * add test for threads with CurrentSpan
      
      * fix log level
      
      * remove redundant check for non wasm traces
      
      * remove duplicate definition in test
      
      * Adding conditional events API
      
      * prefer explicit parent_id over current,
      
      enhance test
      
      * limit changes to client::tracing event implementation
      
      * remove From impl due to fallback required on parent_id
      
      * implement SPAN_LIMIT
      
      change event log output
      
      * change version of tracing-core
      
      * update dependancies
      
      * revert limit
      
      * remove duplicate dependency
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarMatt Rutherford <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      9442c19b
  5. Aug 10, 2020
    • Alexander Theißen's avatar
      seal: Change prefix and module name from "ext_" to "seal_" for contract callable functions (#6798) · 04b185e3
      Alexander Theißen authored
      * seal: Change prefix "ext_" to "seal_" for contract callable functions
      
      The word Ext is a overloaded term in the context of substrate. It usually
      is a trait which abstracts away access to external resources usually in order
      to mock them away for the purpose of tests. The contract module has its own
      `Ext` trait in addition the the substrate `Ext` which makes things even more
      confusing.
      
      In order to differentiate the contract callable functions more clearly from
      this `Ext` concept we rename them to use the "seal_" prefix instead.
      
      This should change no behaviour at all. This is a pure renaming commit.
      
      * seal: Rename import module from "env" to "seal0"
      
      * seal: Fixup integration test
      
      * seal: Add more tests for new import module names
      04b185e3
    • Hernando Castano's avatar
      Add Subscription RPC for Grandpa Finality (#5732) · 433b7214
      Hernando Castano authored
      
      
      * Rough skeleton for what I think the RPC should look like
      
      * Create channel for sending justifications
      
      Sends finalized header and justification from Grandpa to the
      client. This lays the groundwork for hooking into the RPC module.
      
      * WIP: Add subscribers for justifications to Grandpa
      
      Adds the Sender end of a channel into Grandpa, through which notifications
      about block finality events can be sent.
      
      * WIP: Add a struct for managing subscriptions
      
      Slightly different approach from the last commit, but same
      basic idea. Still a rough sketch, very much doesn't compile yet.
      
      * Make naming more clear and lock data in Arc
      
      * Rough idea of what RPC would look like
      
      * Remove code from previous approach
      
      * Missed some things
      
      * Update client/rpc-api/src/chain/mod.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update client/rpc-api/src/chain/mod.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Split justification subscription into sender and receiver halves
      
      * Replace RwLock with a Mutex
      
      * Add sample usage from the Service's point of view
      
      * Remove code that referred to "chain_" RPC
      
      * Use the Justification sender/receivers from Grandpa LinkHalf
      
      * Add some PubSub boilerplate
      
      * Add guiding comments
      
      * TMP: comment out to fix compilation
      
      * Return MetaIoHandler from PubSubHandler in create_full
      
      * Uncomment pubsub methods in rpc handler (fails to build)
      
      * node/rpc: make Metadata concrete in create_full to fix compilation
      
      * node: pass in SubscriptionManger to grandpa rpc handler
      
      * grandpa-rpc: use SubscriptionManger to add subscriber
      
      * grandpa-rpc: attempt at setting up the justification stream (fails to build)
      
      * grandpa-rpc: fix compilation of connecting stream to sink
      
      * grandpa-rpc: implement unsubscribe
      
      * grandpa-rpc: update older tests
      
      * grandpa-rpc: add full prefix to avoid confusing rust-analyzer
      
      * grandpa-rpc: add test for pubsub not available
      
      * grandpa-rpc: tidy up leftover code
      
      * grandpa-rpc: add test for sub and unsub of justifications
      
      * grandpa-rpc: minor stylistic changes
      
      * grandpa-rpc: split unit test
      
      * grandpa-rpc: minor stylistic changes in test
      
      * grandpa-rpc: skip returning future when cancelling
      
      * grandpa-rpc: reuse testing executor from sc-rpc
      
      * grandpa-rpc: don't need to use PubSubHandler in tests
      
      * node-rpc: use MetaIoHandler rather than PubSubHandler
      
      * grandpa: log if getting header failed
      
      * grandpa: move justification channel creation into factory function
      
      * grandpa: make the justification sender optional
      
      * grandpa: fix compilation warnings
      
      * grandpa: move justification notification types to new file
      
      * grandpa-rpc: move JustificationNotification to grandpa-rpc
      
      * grandpa-rpc: move JustificationNotification to its own file
      
      * grandpa: rename justification channel pairs
      
      * grandpa: rename notifier types
      
      * grandpa: pass justification as GrandpaJustification to the rpc module
      
      * Move Metadata to sc-rpc-api
      
      * grandpa-rpc: remove unsed error code
      
      * grandpa: fix bug for checking if channel is closed before sendind
      
      * grandpa-rpc: unit test for sending justifications
      
      * grandpa-rpc: update comments for the pubsub test
      
      * grandpa-rpc: update pubsub tests with more steps
      
      * grandpa-rpc: fix pubsub test
      
      * grandpa-rpc: minor indendation
      
      * grandpa-rpc: decode instead of encode in test
      
      * grandpa: fix review comments
      
      * grandpa: remove unused serde dependency
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarJon Häggblad <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      433b7214
    • Joshy Orndorff's avatar
      Update pinned wasm-bindgen dependency (#6861) · a936771c
      Joshy Orndorff authored
      * Update dependency.
      
      * Update readme docs
      
      * update python webserver command
      a936771c
  6. Aug 07, 2020
  7. Aug 06, 2020
  8. Aug 05, 2020
  9. Aug 04, 2020
    • thiolliere's avatar
      pallet-democracy use of weightinfo (#6783) · b6505d74
      thiolliere authored
      * democracy use of weightinfo
      
      * fix some doc and benchs
      
      * todo generate from parity machine
      
      * factorize and add license
      
      * use final weights
      
      * add slightly more sensible default weight
      
      * refactor
      
      * rename benchmark to avoid confusion
      
      * just make remove_other_vote benchmark being the worst case of the extrinsic
      b6505d74
  10. Aug 03, 2020
    • Ashley's avatar
      Convert spaces to tabs (#6799) · 07facb13
      Ashley authored
      07facb13
    • Bastian Köcher's avatar
      Fix transaction payment runtime api (#6792) · 02c879ec
      Bastian Köcher authored
      The transaction payment runtime api used its own extrinsic generic
      parameter. This is wrong, because this resulted in using always the
      native extrinsic. If there was a runtime upgrade that changed the
      extrinsic in some way, it would result in the api breaking. The correct
      way is to use the `Extrinsic` from the `Block` parameter. This is on the
      node side the opaque extrinsic and on the runtime side the real extrinsic.
      02c879ec
  11. Jul 30, 2020
  12. Jul 29, 2020
    • Alexander Theißen's avatar
      seal: Add benchmarks for dispatchables (#6715) · a2163420
      Alexander Theißen authored
      * seal: Fix syntax that confuses rust-analyzer
      
      * seal: Add benchmarks for Dispatchables
      
      These are only the benchmarks for the dispatchables of
      the pallet. Those are not listed in the Schedule because
      we do not want to pull the Schedule from storage before
      dispatching.
      
      This OK because those costs are not related to actual contract
      execution. Those costs (instruction costs, ext_* costs) will
      be benchmarked seperatly and entered into the default Schedule.
      
      * seal: Add a maximum code size
      
      * Fix comments from review
      
      * Removed SEED constant
      a2163420
  13. Jul 28, 2020
  14. Jul 27, 2020
  15. Jul 26, 2020
  16. Jul 22, 2020
    • Wei Tang's avatar
      Better handling of stable-only build (#6569) · ac8de557
      Wei Tang authored
      
      
      * Better handling of stable-only build
      
      * Fix node template build
      
      * Fix wasm builder node-template version mismatch
      
      * Fix load_spec error
      
      * Add , in parameter
      
      * Add descrptive panic messages in tests
      
      * Add descriptive tests in node/executor benches
      
      * Fix missing compact_code_unwrap
      
      * Add missing wasm_binary_unwrap function for executor integration test
      
      * Only define import_sp_io in no_std
      
      * Small Cargo.toml styling fix
      
      * Bump wasm-builder to 2.0.0
      
      * Fix all `with_wasm_builder_from_crates` version in Substrate
      
      * Use `with_wasm_builder_from_crates` for node-template
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      ac8de557
    • Ashley's avatar
      Remove the service builder (#6557) · ffa2177d
      Ashley authored
      
      
      * :)
      
      * Slight tidy
      
      * Remove ServiceBuilderCommand
      
      * Remove whitespace
      
      * Keep task manager alive for check_block/import_blocks
      
      * Pass task_manager to run_until_exit
      
      * WIP
      
      * WIP
      
      * Get rid of the macros
      
      * 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
      
      * Add sc-prelude
      
      * Rename sc-prelude to sc-service-prelude
      
      * Rename to sc-service-types
      
      * Improve service types
      
      * Fix line widths
      
      * Remove sc-service-types and move type definitions to crates
      
      * Update bin/node-template/node/src/service.rs
      
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      
      * Add TLightClientWithHash
      
      * Rework types
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      ffa2177d
    • ddorgan's avatar
      Reset flaming fir network (#6703) · 0feac04f
      ddorgan authored
      0feac04f
  17. Jul 21, 2020
  18. Jul 17, 2020
  19. Jul 15, 2020
  20. Jul 10, 2020
  21. 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
  22. 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