Skip to content
  1. Jul 09, 2020
  2. Jul 08, 2020
  3. 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
  4. Jul 01, 2020
    • cheme's avatar
      Restrict `Protected` to some heap types. (#6471) · 8ef1ac0e
      cheme authored
      * Restrict `Protected` to some heap types.
      
      * Comment abut Protected usage.
      
      * Remove Protected from crypto, use secrecy crate for existing uses.
      
      * use a parse function
      
      * fix error convert
      
      * Rename and move secretY string function.
      
      * std result
      8ef1ac0e
    • David's avatar
      Fix mocking multiple http calls in the same function call (#6510) · d855a5e9
      David authored
      
      
      * Fix mocking multiple http calls in the same function call
      
      Fixes an issue where a function call would perform more than one http request and wait for each to complete before proceeding. The `RequestId` comes from the length of the `requests` collection in the `OffchainState` and if a request is completed before the next one starts it will be removed and the "next expected" will be off by one. This PR tries to fix that by using a request counter that tracks how many requests have been performed so that we can `remove()` items from the `expected_requests` at the right index.
      
      I suspect that this is a sub-optimal soluton and perhaps requests and their mocks should live side by side in the same collection, e.g. in a tuple of `(PendingRequest, Option<ExpectedRequest>)`.
      
      * Update primitives/core/src/offchain/testing.rs
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * Update primitives/core/src/offchain/testing.rs
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * Panic on overflow
      
      * Update primitives/core/src/offchain/testing.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Use a Deque and push/pop expected requests
      
      * fix test
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      d855a5e9
  5. Jun 30, 2020
  6. Jun 25, 2020
  7. Jun 19, 2020
  8. Jun 18, 2020
    • Rakan Alhneiti's avatar
      Babe VRF Signing in keystore (#6225) · 9b08492e
      Rakan Alhneiti authored
      * Introduce trait
      
      * Implement VRFSigner in keystore
      
      * Use vrf_sign from keystore
      
      * Convert output to VRFInOut
      
      * Simplify conversion
      
      * vrf_sign secondary slot using keystore
      
      * Fix RPC call to claim_slot
      
      * Use Public instead of Pair
      
      * Check primary threshold in signer
      
      * Fix interface to return error
      
      * Move vrf_sign to BareCryptoStore
      
      * Fix authorship_works test
      
      * Fix BABE logic leaks
      
      * Acquire a read lock once
      
      * Also fix RPC acquiring the read lock once
      
      * Implement a generic way to construct VRF Transcript
      
      * Use make_transcript_data to call sr25519_vrf_sign
      
      * Make sure VRFTranscriptData is serializable
      
      * Cleanup
      
      * Move VRF to it's own module
      
      * Implement & test VRF signing in testing module
      
      * Remove leftover
      
      * Fix feature requirements
      
      * Revert removing vec macro
      
      * Drop keystore pointer to prevent deadlock
      
      * Nitpicks
      
      * Add test to make sure make_transcript works
      
      * Fix mismatch in VRF transcript
      
      * Add a test to verify transcripts match in babe
      
      * Return VRFOutput and VRFProof from keystore
      9b08492e
  9. Jun 16, 2020
    • Ashley's avatar
      Split the service initialisation up into seperate functions (#6332) · 6199d86c
      Ashley authored
      * Seperate out the complexity in ServiceBuilder::build_common into seperate functions
      
      * Fix line widths
      
      * Move some functions to their respective crates
      6199d86c
    • Bernhard Schuster's avatar
      historical slashing w ocw w adhoc tree creation (#6220) · 10959200
      Bernhard Schuster authored
      
      
      * draft
      
      * steps
      
      * chore: fmt
      
      * step by step
      
      * more details
      
      * make test public
      
      * refactor: split into on and offchain
      
      * test stab
      
      * tabs my friend
      
      * offchain overlay: split key into prefix and true key
      
      Simplifies inspection and makes key actually unique.
      
      * test: share state
      
      * fix & test
      
      * docs improv
      
      * address review comments
      
      * cleanup test chore
      
      * refactor, abbrev link text
      
      * chore: linewidth
      
      * fix prefix key split fallout
      
      * minor fallout
      
      * minor changes
      
      * addresses review comments
      
      * rename historical.rs -> historical/mod.rs
      
      * avoid shared::* wildcard import
      
      * fix: add missing call to store_session_validator_set_to_offchain
      
      * fix/compile: missing shared:: prefix
      
      * fix/test: flow
      
      * fix/review: Apply suggestions from code review
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * fix/review: more review comment fixes
      
      * fix/review: make ValidatorSet private
      
      * fix/include: core -> sp_core
      
      * fix/review: fallout
      
      * fix/visbility: make them public API
      
      Ref #6358
      
      * fix/review: review changes fallout - again
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      10959200
  10. Jun 14, 2020
  11. Jun 12, 2020
    • André Silva's avatar
      client: use appropriate ExecutionContext for initial sync / regular import (#6180) · 0dc66347
      André Silva authored
      * client: use appropriate ExecutionContext for sync/import
      
      * client: remove dead code
      
      * client: ExecutionContext: distinguish between own and foreign imports
      
      * client: fix cli parameter doc
      
      * Revert "client: ExecutionContext: distinguish between own and foreign imports"
      
      This reverts commit 0fac1152.
      
      * primitives: add docs for ExecutionContext
      
      * cli: execution strategy docs
      
      * cli: use different execution context for importing block on validator
      
      * cli: remove defaults from execution context flags
      0dc66347
  12. Jun 11, 2020
  13. Jun 08, 2020
  14. May 28, 2020
    • Bernhard Schuster's avatar
      offchain storage lock (#6010) · d65e6443
      Bernhard Schuster authored
      
      
      * feat/offchain/storage: add remove interface method
      
      * feat/offchain/storeage: add remote to StorageValueRef
      
      * feat/offchain/storage: add storage lock
      
      * fix/review: Apply suggestions from code review
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * refactor/offchain/storage/lock: introduce `Lockable` trait part 1 of 2
      
      * chore/offchain/rename: _remove -> clean
      
      * feat/offchain/storage/lock: add TimeAndBlock based part 2 of 2
      
      * fix/offchain/storage/lock: block and time expiry must be && not ||
      
      * chore/offchain/storage: minor fmt doc comments
      
      * doc/comment: prefer markdown emphasis over CAPS
      
      * doc/comment: rewrap multiline module level docs
      
      * doc/comment: rephrase
      
      * impl sleep_until and use the actual time for the test env
      
      * feat/test: add more tests, ignore some sample impl doctests
      
      * fix/review: Apply suggestions from code review
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * doc/comment: better description
      
      * fix/review: Apply suggestions from code review
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * chore/storage: lifetime cleanup
      
      * fix/cleanup: trait bounds, cargo-spellcheck + extra explanations
      
      * fix/doc: periods +-
      
      * fix/review: Apply suggestions from code review
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * cleanup: remove explicit lifetime bound, copy -> clone
      
      * fix/review: make trait Lockable contain only static, try_lock should not return Err(Option<L>),
      
      * chore/lifetimes: remove a couple of lifetime bounds which the compiler can figure out
      
      * refactor: migrate to an instant based
      
      * fix/feedback: fix, reduce, rename, docs update pending
      
      * docs/reword: adjust to changed code
      
      * fix/offchain/testing: timestamp and sleep_until shall not block
      
      * chore/lines: lines must < 100 chars
      
      * fix/docs: add missing pub field doc comments
      
      * refactor/x: try_lock does not need to return an Option<_>
      
      * refactor/simplify: a better way of waiting for a lock to resolve
      
      * docs: consistency
      
      * fix/line: < 100
      
      * fix/doctest/use: avoid crate::
      
      * fix/doctest: *
      
      * fix/review: remove unused trait bound
      
      * fix/review: pretty by const fn
      
      * fix/review: reduce default timeout to 20s
      
      * docs: grammar
      
      * fix/review: add with_block_deadline
      
      * doc: revamp BlockNumberProvider documentation to be less frame centric
      
      * chore: fmt
      
      * docs: add missing doc comment
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      d65e6443
  15. May 26, 2020
  16. May 25, 2020
  17. May 21, 2020
  18. May 16, 2020
  19. May 15, 2020
  20. May 13, 2020
  21. May 12, 2020
    • André Silva's avatar
      grandpa: missing equivocation reporting nits (#5953) · b85fc50a
      André Silva authored
      * primitives: move reporting key type to common key types
      
      * session: remove useless methods on MembershipProof
      
      * grandpa: remove std special-casing when checking signatures
      
      * grandpa: add some more docs
      
      * grandpa: use proper error types rather than strings
      b85fc50a
  22. May 06, 2020
    • Dan Forbes's avatar
      Fix docs (#5928) · b292de78
      Dan Forbes authored
      
      
      * Fix docs
      
      * Update frame/support/src/dispatch.rs
      
      Prettier link
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update primitives/runtime/src/traits.rs
      
      Prettier link
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      b292de78
    • 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
    • Max Inden's avatar
      client/authority-discovery: Do not double encode signature (#5901) · e0dee27e
      Max Inden authored
      Previously, when publishing ones address onto the DHT, the signature
      signing those addresses would be SCALE encoded twice.
      
      This commit removes the second encoding and adjusts the tests
      to catch future regressions.
      e0dee27e
  23. May 05, 2020
  24. May 04, 2020
    • 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
  25. Apr 30, 2020
  26. Apr 28, 2020
  27. Apr 27, 2020
    • Kian Paimani's avatar
      Enable Offchain Equalise (#5683) · 05275e80
      Kian Paimani authored
      * Master.into()
      
      * Remove debug stuff
      
      * Better license
      
      * Migrate away from SimpleDispatchInfo
      
      * Fix test
      
      * Revert "Migrate away from SimpleDispatchInfo"
      
      This reverts commit dbdd27fa.
      
      * Move to offchain randomness
      
      * Fix tests
      
      * Fix tests more
      05275e80
  28. Apr 24, 2020
  29. Apr 23, 2020