1. Aug 20, 2020
    • Web3 Philosopher's avatar
      Merge Subkey into sc-cli (#4954) · 6e098a10
      Web3 Philosopher authored
      * draft
      
      * revert
      
      * WIP
      
      * all that remains is tests
      
      * update Cargo.lock
      
      * tests WIP
      
      * WIP refactor node-template-runtime and node-runtime
      
      * implments sc_cli::RuntimeAdapter for node_template_runtime::Runtime
      
      * final draft
      
      * fix update_config for subcommands
      
      * proper AccountId decoding
      
      * test-runtime tests
      
      * revert
      
      * move RuntimeAdapter to cli-utils
      
      * use &'static str for TryFrom::<&'a str>::Error for Ss58AddressFormat
      
      * tests
      
      * add frame-system to sc-cli dev-dependencies
      
      * add frame-system to sc-cli dev-dependencies
      
      * fix ui test
      
      * wip
      
      * fixed inspect test
      
      * bump impl version
      
      * bump impl version, fixx spaces remove todos
      
      * pallet-balances-cli, rustc for some reason cannot resolve pallet_balances_cli in node-cli 😩
      
      * wip
      
      * Subcommand::run takes &self
      
      * can't believe i missed that 🤦🏾‍♂️
      
      * bump wasm-bindgen for some reason
      
      * adds key subcommand, rename generate-node-key to generate-node-id
      
      * cargo update and crossed fingers 🤞🏽
      
      
      
      * update ui test
      
      * update more ui tests
      
      * should be all good now
      
      * revert subkey change
      
      * revert subkey change
      
      * adds frame-utilities-cli
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      
      * removes frame from sc-cli, fix license
      
      * my editor and ci disagrees on line width
      
      * bump spec version
      
      * turn off default features for parity-scale-codec
      
      * enable full_crypto feature for sp-core in cli-utils
      
      * merge frame-utilities-cli with pallet-balances-cli
      
      * remove full_crypto feature from sp_core in cli-utils
      
      * bump Cargo.lock
      
      * cli-utils -> frame-utils
      
      * rename BlockNumber to GenericNumber, fix spaces
      
      * fix spaces
      
      * construct additional_signed manually
      
      * sign test
      
      * remove unused vars
      
      * implement subkey with frame-utilities-cli and sc_cli
      
      * fix moduleid test
      
      * CI and clion disagree on line widths
      
      * adds associated Params type to SignedExtensionProvider
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      
      * move some code around
      
      * removes unneccesary generic params
      
      * moves module_id back to frame_utilities_cli
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove print_ext
      
      * remove MaybeDisplay from pallet_balances::Trait::Balance
      
      * a lot of stuff tbh
      
      * adds ExtrasParamsBuilder
      
      * remove tests for ModuleIdCmd
      
      * address comments from PR
      
      * bump Cargo.lock
      
      * manually insert key into keystore
      
      * remove unnecessary SharedParams
      
      * add validation to vanity pattern, remove unused arg
      
      * remove SharedParams from Sign, Vanity, Verify
      
      * remove SharedParams from ModuleIdCmd, remove expect from Verify, new line to Cargo.toml
      
      * remove SharedParams from InsertCmd
      
      * 🤦🏾
      
      ‍♂️
      
      * deleted prometheus.yml
      
      * move a few things around
      
      * fix vanity test
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      6e098a10
  2. Aug 17, 2020
    • Wei Tang's avatar
      babe, aura, pow: only call check_inherents if authoring version is compatible (#6862) · 488b7c72
      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
      488b7c72
  3. Aug 15, 2020
  4. Aug 12, 2020
    • Max Inden's avatar
      client/authority-discovery: Introduce AuthorityDiscoveryService (#6760) · 473a23f4
      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
      473a23f4
  5. Aug 10, 2020
    • Hernando Castano's avatar
      Add Subscription RPC for Grandpa Finality (#5732) · eb0e05e1
      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]>
      eb0e05e1
  6. Aug 07, 2020
  7. Aug 06, 2020
  8. Jul 30, 2020
  9. Jul 28, 2020
  10. Jul 26, 2020
  11. Jul 22, 2020
    • Wei Tang's avatar
      Better handling of stable-only build (#6569) · 17922fe4
      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]>
      17922fe4
    • Ashley's avatar
      Remove the service builder (#6557) · 08c3d65c
      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]>
      08c3d65c
  12. Jul 21, 2020
  13. Jul 17, 2020
    • André Silva's avatar
      grandpa: report equivocations with unsigned extrinsics (#6656) · 6687fa11
      André Silva authored
      * grandpa: use unsigned extrinsics for equivocation reporting
      
      * grandpa: allow signed reports as well
      
      * grandpa: change runtime api for submitting unsigned extrinsics
      
      * grandpa: fix tests
      
      * grandpa: add test for unsigned validation
      
      * grandpa: add benchmark for equivocation proof checking
      
      * offences: fix grandpa benchmark
      
      * grandpa: add proper weight for equivocation reporting extrinsic
      
      * grandpa: fix weight unit
      6687fa11
  14. Jul 09, 2020
  15. Jul 08, 2020
    • Bastian Köcher's avatar
      Improve transaction submission (#6599) · d076f470
      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
      d076f470
  16. Jul 04, 2020
    • André Silva's avatar
      babe: report equivocations (#6362) · 18334ee1
      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
      18334ee1
  17. Jul 02, 2020
  18. Jun 30, 2020
    • Ashley's avatar
      Remove the service, replacing it with a struct of individual chain components (#6352) · ec2ab797
      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
      ec2ab797
  19. Jun 26, 2020
  20. Jun 21, 2020
  21. Jun 11, 2020
  22. Jun 10, 2020
  23. Jun 09, 2020
  24. Jun 08, 2020
    • Bastian Köcher's avatar
      Fix transaction pruning in tx-pool (#6276) · 9fe0da54
      Bastian Köcher authored
      The `tree_route` generated by the import notification is only from the
      old best block to the new best parent. This means, it does not contain
      the new best block in `enacted()`. We need to prune the transactions of
      the new best block "manually" to fix this bug.
      
      Besides that, this pr also changed the `id` parameter of the `NewBlock`
      chain event to `hash`. The hash of a block is unique in contrast to the
      block number. (Block id can either be number or hash)
      9fe0da54
  25. Jun 05, 2020
  26. May 27, 2020
  27. May 21, 2020
    • André Silva's avatar
      babe: treat epoch_authorship RPC method as unsafe (#6069) · 14d89b7b
      André Silva authored
      * service: pass DenyUnsafe to rpc extensions
      
      * node: add DenyUnsafe to rpc full node dependencies
      
      * client: fix whitespace in rpc policy file
      
      * babe: treat epochAuthorship rpc method as unsafe
      
      * babe: add test for unsafe rpc method
      
      * babe: rename babe rpc handler
      
      * service: traitify rpc extension builder
      
      * service: make the rpc extensions builder api non-breaking
      
      * service: revert changes from light node rpc extensions builder
      
      * node: remove unnecessary type in service creation
      
      * service: cleanup with_rpc_extensions implementation
      
      * service: add missing docs to RpcExtensionBuilder
      14d89b7b
  28. May 18, 2020
  29. May 15, 2020
  30. May 14, 2020
  31. May 13, 2020
    • Bastian Köcher's avatar
      Handle clap errors manually and don't reset `SIGPIPE` (#6012) · 525dc61d
      Bastian Köcher authored
      Instead of resetting `SIGPIPE` to the system default handler, we now
      handle a clap error manually and ignore any error when writing to
      `stdout`/`stderr`. In this way, the node does not silently stops when it
      encounters a `SIGPIPE` in normal mode and we still support piping of the
      cli output.
      525dc61d
  32. May 06, 2020
    • André Silva's avatar
      grandpa: report equivocations (#3868) · a2512e83
      André Silva authored
      * session: runtime api for generating session membership proofs
      
      * grandpa: add runtime api for creating equivocation report txs
      
      * grandpa: submit signed equivocation report transactions
      
      * grandpa: use proper equivocation report type
      
      * grandpa: report equivocations
      
      * grandpa: validate equivocation proof
      
      * grandpa: update to finality-grandpa 0.9.1
      
      * grandpa: fix encoding of session membership proof
      
      * grandpa: initialize set id session mapping for genesis session
      
      * grandpa: fix bug in set_id session validation
      
      * fix compilation
      
      * cleanup from merge conflicts
      
      * cleanup crate tomls
      
      * grandpa: refactor equivocation handling to separate trait
      
      * node-template: fix compilation
      
      * fix test compilation
      
      * bump finality-grandpa to v0.10.2
      
      * rpc: fix runtime version test
      
      * CHERRY-PICK #4200: Add documentation to SubmitSignedTransaction and actually make it work
      
      Squashed commit of the following:
      
      commit dc8d71c3
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 16:29:33 2019 +0100
      
          Split the method to avoid confusing type error message.
      
      commit 0c4c0378
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 16:19:55 2019 +0100
      
          Make accounts optional, fix logic.
      
      commit d715f645
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 10:06:20 2019 +0100
      
          Remove warning.
      
      commit 3f38218a
      Merge: f85b8903 368318c9
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 07:08:05 2019 +0100
      
          Merge branch 'master' into td-signed-transactions
      
      commit f85b8903
      Merge: f8c95403 d8d5da2c
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Dec 2 13:57:25 2019 +0100
      
          Merge branch 'master' into td-signed-transactions
      
      commit f8c95403
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:34:52 2019 +0100
      
          Forgotten import.
      
      commit a645b90d
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:32:10 2019 +0100
      
          Fix naming and bounds.
      
      commit bc28c605
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:01:05 2019 +0100
      
          Add documentation to signed transactions and actually make them work.
      
      * grandpa: skip block initialization on report submission method
      
      * primitives: allow transaction pool access by default for offchain calls
      
      * grandpa: unused parameters
      
      * grandpa: remove unused method
      
      * grandpa: enable equivocation reporting
      
      * grandpa: add workaround for parameter encoding
      
      * grandpa: fix localized_payload calls in tests
      
      * fix submit_report_equivocation_extrinsic in runtimes
      
      * node: fix submit transaction test compilation
      
      * node: bump spec_version
      
      * rpc: fix api version test
      
      * grandpa: allow custom equivocation offence type
      
      * grandpa: add test for authorities::next_change_height
      
      * grandpa: cleanup report_equivocation function
      
      * node: move reporting app crypto to node-primitives
      
      * grandpa: move equivocation traits to own module
      
      * grandpa: rename app-crypto crate import
      
      * grandpa: export equivocation types
      
      * node: bump spec_version
      
      * grandpa: rename EquivocationReport to EquivocationProof
      
      * grandpa: add missing docs to primitives
      
      * grandpa: add missing docs to equivocation
      
      * node: fix compilation
      
      * grandpa: add missing docs to pallet
      
      * node: bump spec_version
      
      * fix whitespace
      
      * grandpa: return error on offence reporting
      
      * grandpa: expose session and validator count in proofs through traits
      
      * grandpa: use strong key in module KeyOwnerProofSystem
      
      * grandpa: move key ownership proof to grandpa runtime api
      
      * grandpa: remove unnecessary cloning when checking equivocation proof
      
      * grandpa: make report_equivocation a method in Environment
      
      * support: implement KeyOwnerProofSystem for ()
      
      * grandpa: move KeyOwnerProofSystem to module trait
      
      * test-utils: fix runtime compilation
      
      * grandpa: fix test compilation
      
      * grandpa: fix test compilation after merge
      
      * grandpa: simplify transaction submission types
      
      * grandpa: validate equivocation report in signed extension
      
      * client: fix test
      
      * node: use ValidateEquivocationReport signed extension
      
      * grandpa: expose key ownership proof under opaque type
      
      * grandpa: better docs on key ownership proofs
      
      * grandpa: add note about signed extension
      
      * grandpa: add ValidateEquivocationReport::new
      
      * grandpa: remove skip_initialize_block from runtime api
      
      * grandpa: use new offchain transaction submission API
      
      * grandpa: take set_id in generate_key_ownership_proof
      
      * grandpa: update to finality-grandpa v0.12.2
      
      * grandpa: cleanup usages of AuthoritySet::current
      
      * grandpa: fix test
      
      * grandpa: add mocking utilities for equivocation reporting
      
      * grandpa: add test for equivocation reporting
      
      * grandpa: move SetIdSession initialization
      
      * grandpa: add more tests
      
      * node: enable historical session manager
      
      * node: bump spec_version
      
      * node: use strong key types in KeyOwnerProofSystem definitions
      
      * grandpa: export GrandpaEquivocationOffence type
      a2512e83
  33. May 05, 2020
  34. May 04, 2020
    • Jon Häggblad's avatar
      Expose GRANDPA round state through RPC (#5375) · c0ccc24d
      Jon Häggblad authored
      
      
      * grandpa: wire up basic RPC call
      
      * grandpa: make it compile against GRANDPA with expose round state
      
      * grandpa: use shared voter state to expose RPC endpoint
      
      * grandpa: restructure into nested structs
      
      * grandpa: return background rounds too
      
      * grandpa: return error when endpoint not ready
      
      * grandpa: collect grandpa rpc deps
      
      * grandpa: decide to use concrete AuthorityId in finality-grandpa-rpc
      
      * grandpa: remove unncessary type annotation
      
      * grandpa: move error code to const
      
      * grandpa: remove unnecessary WIP comment
      
      * grandpa: remove Id type parameter for SharedVoterState
      
      * grandpa: update tests to add shared_voter_state in parameters
      
      * grandpa: remove old deprecated test
      
      * grandpa: fix getting the correct set_id
      
      * grandpa: make SharedVoterState a struct
      
      * grandpa: wrap shared_voter_state in rpc_setup
      
      * grandpa: replace spaces with tabs
      
      * grandpa: limit RwLock write attempt to 1 sec
      
      * grandpa: add missing doc comments and remove some pub
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      Co-Authored-By: default avatarHernando Castano <[email protected]>
      
      * grandpa: update function name call after change in finality-grandpa
      
      * grandpa: group pub use and only export voter::report
      
      * grandpa: add missing docs
      
      * grandpa: extract out structs used for json serialization
      
      * grandpa: stick to u32 for fields intended for js
      
      * grandpa: move Error type to its own file
      
      * grandpa: group pub use better
      
      * Apply code review suggestion
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * grandpa: use correct version of finality-granpda in rpc crate
      
      * grandpa: add back basic rpc unit test
      
      * grandpa: replace SharedVoterState::new() with empty()
      
      * node: cleanup grandpa::SharedVoterState usage in macro
      
      * grandpa: remove VoterState error variant
      
      * grandpa: enable missing futures compat feature
      
      * grandpa: fix typo in error variant
      
      * grandpa: remove test_utils
      
      * grandpa: allow mocking rpc handler components
      
      * grandpa: rename serialized to report in rpc module
      
      * grandpa: add proper test for RPC
      
      * grandpa: update to finality-grandpa v0.12.1
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarDemi Obenour <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      c0ccc24d
    • Bastian Köcher's avatar
      Expose that `BasicQueue` expects blocking spawn (#5860) · 30394132
      Bastian Köcher authored
      * Expose that `BasicQueue` expects blocking spawn
      
      Up to now `BasicQueue` expected a closure that to spawn a `Future`.
      This was expected to be a closure that spawns a blocking future.
      However, this wasn't documented anywhere. This pr introduces a new trait
      `SpawnBlocking` that exposes this requirement to the outside.
      
      * Feedback
      30394132
  35. Apr 29, 2020