1. 30 Nov, 2021 1 commit
    • Sergey Pepyakin's avatar
      pvf-precheck: Add `sign` in subsystem-util (#4407) · e4580d09
      Sergey Pepyakin authored
      Right now, most of operations that sign stuff in polkadot protocol are
      handled by a very convenient tool - `Signed`. However `Signed` assumes
      that whatever is signed is anchored to some `parent_hash` which works
      for most cases, but does not work for others.
      
      One instance of such a case is pre-checking (#3211). There validators
      submit signed votes on-chain. A vote is valid for the entire session. If
      we were to use `Signed` we would have to root a vote in some block of
      that session and during vote verification check that this block is
      indeed within the session. This is especially annoying since we agreed
      to use unsigned extrinsics to submit votes and we need to make the
      unsigned extrinsic validation as slim as possible.
      
      (FWIW, the definition of a pre-checking vote can be seen in the next
      diff in the stack)
      
      That's the reason why we opted-out from using `Signed` for pre-checking
      and decided to go with the manual signing approach. Almost every piece
      of machinery is in place except for signing which is presented in this
      PR.
      e4580d09
  2. 20 Nov, 2021 1 commit
    • Javier Viola's avatar
      introduce malus + zombienet based integration tests (#4131) · 2ffb293e
      Javier Viola authored
      * test/malus: craft the first maliciously disputing actor
      
      * initial draft
      
      * Add Dockerfile and instructions how to use it to build malus image locally
      
      * Forgot one flag for the build cmd
      
      * we are not docker specific, we are happy to use any containerruntime
      
      * shuffle things around
      
      * add initial tera based integration test
      
      * chores
      
      * fixins
      
      * simple setup to start
      
      * other samples (WIP)
      
      * add Docker version with cargo-chef
      
      * update substarte and small change of orders in commands in the container file
      
      * metrics one
      
      * fmt
      
      * minor
      
      * fixin
      
      * fix metric names
      
      * -d
      
      * add open gauge
      
      * fmt
      
      * spellcheck
      
      * fix test
      
      * adjust to changed error messages
      
      * refactor, more malus impls
      
      * more malus changes
      
      * foo
      
      * minor cleanup
      
      * suggest garbage candidate
      
      * chore
      
      * fix suggest garabge malus
      
      * malus: back garbage candidate
      
      * cargo lock
      
      * re-introduce metrics
      
      * chore: cargo fmt
      
      * undoe 1.54.0 output, CI uses 1.53.0 rustc
      
      * update location of js types
      
      * Fix trybuild
      
      * add tag to image name also; this will be replaced in the prod version
      
      * Tests fixed
      
      * add some fix me
      
      * add dockerfile for ci
      
      * Add docker file for malus for ci
      
      * use variables in .toml file
      
      * add chnages for malus test
      
      * some fixes
      
      * some more fixes
      
      * Update .gitlab-ci.yml
      
      * add local build for polkadot and malus
      
      * some fixes
      
      * enable disputes feature in CI
      
      * ok, ok
      
      * rename: MsgFilter -> MessageInterceptor
      
      * remove TODO that would not have worked
      
      * intercept
      
      * refactor
      
      * fix README and containers
      
      * fix
      
      * chore: cargo fmt
      
      * avoid some more malus-$VARIANT references
      
      * fix argument order
      
      * chore: add about
      
      * Update sanity check in relay chain selection
      
      * fix order, add dispute-unavailable-block malus
      
      * fixup: avoid underflow issue
      
      * it's all u32
      
      * fix conditional use
      
      * Revert "it's all u32"
      
      This reverts commit 6b3ae25b.
      
      * Revert "fixup: avoid underflow issue"
      
      This reverts commit 336cbe29.
      
      * Revert "Update sanity check in relay chain selection"
      
      This reverts commit 970647f3
      
      .
      
      * update the malus bin
      
      * Update node/malus/integrationtests/0003-dispute-unavailable-block.feature
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * add some FIXME reminders
      
      * update path to index.js
      
      * Update .gitlab-ci.yml
      
      * Update node/malus/integrationtests/0001-dispute-valid-block.toml
      
      * try 1: make malus test run
      
      * chore: cargo fmt
      
      * temporary fix
      
      * use subcommand syntax from latest gurke
      
      * cargo +nightly fmt
      
      * add collator to a a test
      
      * docs: add env vars to README
      
      * update ci to run dispute-valid-block test
      
      * needs the polkadot image
      
      * Fix path for nodejs container
      
      * post merge fix
      
      * download proper dir  containg configs for malus test
      
      * update the malus ci job
      
      * rm a whitespace
      
      * temp build for malus
      
      * use correct build command for temp malus
      
      * remove subcommands for now
      
      * set max validators per core in the default HostConfig
      
      * tabs
      
      * update beefy
      
      * fixup
      
      * fixup II
      
      * make one variant compile
      
      * make other variants compile
      
      * revert changes to chain_spec
      
      * fmt
      
      * build malus image from polkadot-test-malus again
      
      * revert unrelated changes
      
      * try fixing build-malus job
      
      * Revert "remove subcommands for now"
      
      This reverts commit 5d8292bc
      
      .
      
      * try fixing build-malus job II
      
      * MVP working dispute-ancestor
      
      * renames
      
      * fix PVF execution on malus
      
      * fix test
      
      * fix typo
      
      * fmt
      
      * checkmate
      
      * try something
      
      * make it actually work
      
      * some tweaks to 01 feature test
      
      * fmt
      
      * sleep a bit more
      
      * complete wococoization
      
      * some tweaks to 01 feature test
      
      * typo fix
      
      * use correct metric names
      
      * fix
      
      * ffs
      
      * .
      
      * try some rearrangement
      
      * Attempt to wait till initial node bootstrap in test
      
      * Fix test syntax
      
      * Run malus tests with v2 script
      
      * Proper symlink created
      
      * simnet v14
      
      * add zombienet tests
      
      * add zombie net test - draft
      
      * add more tests to dispute suite
      
      * add within to fix tests
      
      * replace test directory and start test migration
      
      * migrate all the tests
      
      * add timeout to tests
      
      * reduce debug
      
      * make easy to test in dev
      
      * set appropriated debug
      
      * use image from ci
      
      * fix config for test
      
      * set images from ci
      
      * fix config
      
      * add COLIMAGE env
      
      * tweek tests
      
      * reduce debug
      
      * typo
      
      * wip, migrate old test to zombie-net
      
      * adjunt test config for zombie-net
      
      * run mauls 0001 test only
      
      * clean and setup smoke-test in zombie-net
      
      * add extra time to assertinons
      
      * clean code to merge and improve README
      
      * add info to access logs
      
      * improved readme
      
      * merge master and resolve conflicts
      
      * Update zombienet_tests/README.md
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * clean and consolidate zombienet name
      
      * change runner in gitlab
      
      * add comment explain why we use wococo
      
      * change tag for runner
      
      * remove unused tests
      
      * remove dup Dockerfile and update description
      
      * fmt
      
      * fix compilation post-merge
      
      * fmt
      
      * cut me Some slack
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      Co-authored-by: Radu Popa's avatarradupopa2010 <radupopa2010@yahoo.com>
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
      Co-authored-by: default avatarAnton Gavrilov <AntonE.Gavrilov@gmail.com>
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      Co-authored-by: Lldenaurois's avatarLldenaurois <Ljdenaurois@gmail.com>
      2ffb293e
  3. 19 Nov, 2021 1 commit
    • Robert Klotzner's avatar
      Dispute spam protection (#4134) · d488955d
      Robert Klotzner authored
      
      
      * Mostly notes.
      
      * Better error messages.
      
      * Introduce Fatal/NonFatal + drop back channel participation
      
      - Fatal/NonFatal - in order to make it easier to use utility functions.
      - We drop the back channel in dispute participation as it won't be
      needed any more.
      
      * Better error messages.
      
      * Utility function for receiving `CandidateEvent`s.
      
      * Ordering module typechecks.
      
      * cargo fmt
      
      * Prepare spam slots module.
      
      * Implement SpamSlots mechanism.
      
      * Implement queues.
      
      * cargo fmt
      
      * Participation.
      
      * Participation taking shape.
      
      * Finish participation.
      
      * cargo fmt
      
      * Cleanup.
      
      * WIP: Cleanup + Integration.
      
      * Make `RollingSessionWindow` initialized by default.
      
      * Make approval voting typecheck.
      
      * Get rid of lazy_static & fix approval voting tests
      
      * Move `SessionWindowSize` to node primitives.
      
      * Implement dispute coordinator initialization.
      
      * cargo fmt
      
      * Make queues return error instead of boolean.
      
      * Initialized: WIP
      
      * Introduce chain api for getting finalized block.
      
      * Fix ordering to only prune candidates on finalized events.
      
      * Pruning of old sessions in spam slots.
      
      * New import logic.
      
      * Make everything typecheck.
      
      * Fix warnings.
      
      * Get rid of obsolete dispute-participation.
      
      * Fixes.
      
      * Add back accidentelly deleted Cargo.lock
      
      * Deliver disputes in an ordered fashion.
      
      * Add module docs for errors
      
      * Use type synonym.
      
      * hidden docs.
      
      * Fix overseer tests.
      
      * Ordering provider taking `CandidateReceipt`.
      
      ... To be kicked on one next commit.
      
      * Fix ordering to use relay_parent
      
      as included block is not unique per candidate.
      
      * Add comment in ordering.rs.
      
      * Take care of duplicate entries in queues.
      
      * Better spam slots.
      
      * Review remarks + docs.
      
      * Fix db tests.
      
      * Participation tests.
      
      * Also scrape votes on first leaf for good measure.
      
      * Make tests typecheck.
      
      * Spelling.
      
      * Only participate in actual disputes, not on every import.
      
      * Don't account backing votes to spam slots.
      
      * Fix more tests.
      
      * Don't participate if we don't have keys.
      
      * Fix tests, typos and warnings.
      
      * Fix merge error.
      
      * Spelling fixes.
      
      * Add missing docs.
      
      * Queue tests.
      
      * More tests.
      
      * Add metrics + don't short circuit import.
      
      * Basic test for ordering provider.
      
      * Import fix.
      
      * Remove dead link.
      
      * One more dead link.
      Co-authored-by: Lldenaurois's avatarLldenaurois <Ljdenaurois@gmail.com>
      d488955d
  4. 11 Nov, 2021 1 commit
  5. 22 Oct, 2021 1 commit
    • Chris Sosnin's avatar
      Introduce new Runtime API endpoint for fetching the validation data (#3728) · fc32642c
      Chris Sosnin authored
      * Introduce new Runtime API endpoint
      
      `persisted_validation_data_with_code_hash` that will be used
      by the candidate validation subsystem in order to decrease amount
      of runtime API requests.
      
      * Node-side part of new runtime API request
      
      * Define code hash getter via macro
      
      * Rename new endpoint to `assumed_validation_data`
      
      * Docs for runtime API impl of new endpoint
      
      * AssumedValidationData specialized request function
      
      * fmt
      fc32642c
  6. 18 Oct, 2021 1 commit
  7. 12 Aug, 2021 1 commit
    • Robert Klotzner's avatar
      Remove request multiplexer (#3624) · 117466aa
      Robert Klotzner authored
      * WIP: Get rid of request multiplexer.
      
      * WIP
      
      * Receiver for handling of incoming requests.
      
      * Get rid of useless `Fault` abstraction.
      
      The things the type system let us do are not worth getting abstracted in
      its own type. Instead error handling is going to be merely a pattern.
      
      * Make most things compile again.
      
      * Port availability distribution away from request multiplexer.
      
      * Formatting.
      
      * Port dispute distribution over.
      
      * Fixup statement distribution.
      
      * Handle request directly in collator protocol.
      
      + Only allow fatal errors at top level.
      
      * Use direct request channel for availability recovery.
      
      * Finally get rid of request multiplexer
      
      Fixes #2842 and paves the way for more back pressure possibilities.
      
      * Fix overseer and statement distribution tests.
      
      * Fix collator protocol and network bridge tests.
      
      * Fix tests in availability recovery.
      
      * Fix availability distribution tests.
      
      * Fix dispute distribution tests.
      
      * Add missing dependency
      
      * Typos.
      
      * Review remarks.
      
      * More remarks.
      117466aa
  8. 02 Aug, 2021 1 commit
  9. 14 Jul, 2021 1 commit
    • Denis_P's avatar
      WIP: CI: add spellcheck (#3421) · 8a6af441
      Denis_P authored
      
      
      * CI: add spellcheck
      
      * revert me
      
      * CI: explicit command for spellchecker
      
      * spellcheck: edit misspells
      
      * CI: run spellcheck on diff
      
      * spellcheck: edits
      
      * spellcheck: edit misspells
      
      * spellcheck: add rules
      
      * spellcheck: mv configs
      
      * spellcheck: more edits
      
      * spellcheck: chore
      
      * spellcheck: one more thing
      
      * spellcheck: and another one
      
      * spellcheck: seems like it doesn't get to an end
      
      * spellcheck: new words after rebase
      
      * spellcheck: new words appearing out of nowhere
      
      * chore
      
      * review edits
      
      * more review edits
      
      * more edits
      
      * wonky behavior
      
      * wonky behavior 2
      
      * wonky behavior 3
      
      * change git behavior
      
      * spellcheck: another bunch of new edits
      
      * spellcheck: new words are koming out of nowhere
      
      * CI: finding the master
      
      * CI: fetching master implicitly
      
      * CI: undebug
      
      * new errors
      
      * a bunch of new edits
      
      * and some more
      
      * Update node/core/approval-voting/src/approval_db/v1/mod.rs
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Update xcm/xcm-executor/src/assets.rs
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Apply suggestions from code review
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Suggestions from the code review
      
      * CI: scan only changed files
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      8a6af441
  10. 08 Jul, 2021 1 commit
  11. 22 Jun, 2021 1 commit
  12. 21 Jun, 2021 1 commit
  13. 18 Jun, 2021 1 commit
    • Andronik Ordian's avatar
      improved gossip topology (#3270) · f223297b
      Andronik Ordian authored
      * gossip-support: gossip topology
      
      * some fixes
      
      * handle view update for newly added gossip peers
      
      * fix neighbors calculation
      
      * fix test
      
      * resolve TODOs
      
      * typo
      
      * guide updates
      
      * spaces in the guide
      
      * sneaky spaces
      
      * hash randomness
      
      * address some review nits
      
      * use unbounded in bridge for subsystem msg
      f223297b
  14. 16 Jun, 2021 1 commit
  15. 13 Jun, 2021 1 commit
    • asynchronous rob's avatar
      Dispute Coordinator Subsystem (#3150) · 19c1d29d
      asynchronous rob authored
      
      
      * skeleton for dispute-coordinator
      
      * add coordinator and participation message types
      
      * begin dispute-coordinator DB
      
      * functions for loading
      
      * implement strongly-typed DB transaction
      
      * add some tests for DB transaction
      
      * core logic for pruning
      
      * guide: update candidate-votes key for coordinator
      
      * update candidate-votes key
      
      * use big-endian encoding for session, and implement upper bound generator
      
      * finish implementing pruning
      
      * add a test for note_current_session
      
      * define state of the subsystem itself
      
      * barebones subsystem definition
      
      * control flow
      
      * more control flow
      
      * implement session-updating logic
      
      * trace
      
      * control flow for message handling
      
      * Update node/core/dispute-coordinator/src/lib.rs
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * Update node/subsystem/src/messages.rs
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * some more control flow
      
      * guide: remove overlay
      
      * more control flow
      
      * implement some DB getters
      
      * make progress on importing statements
      
      * add SignedDisputeStatement struct
      
      * move ApprovalVote to shared primitives
      
      * add a signing-payload API to explicit dispute statements
      
      * add signing-payload to CompactStatement
      
      * add relay-parent hash to seconded/valid dispute variatns
      
      * correct import
      
      * type-safe wrapper around dispute statements
      
      * use checked dispute statement in message type
      
      * extract rolling session window cache to subsystem-util
      
      * extract session window tests
      
      * approval-voting: use rolling session info cache
      
      * reduce dispute window to match runtime in practice
      
      * add byzantine_threshold and supermajority_threshold utilities to primitives
      
      * integrate rolling session window
      
      * Add PartialOrd to CandidateHash
      
      * add Ord to CandidateHash
      
      * implement active dispute update
      
      * add dispute messages to AllMessages
      
      * add dispute stubs to overseer
      
      * inform dispute participation to participate
      
      * implement issue_local_statement
      
      * implement `determine_undisputed_chain`
      
      * fix warnings
      
      * test harness for dispute coordinator tests
      
      * add more helpers to test harness
      
      * add some more helpers
      
      * some tests for dispute coordinator
      
      * ignore wrong validator indices
      
      * test finality voting rule constraint
      
      * add more tests
      
      * add variants to network bridge
      
      * fix test compilation
      
      * remove most dispute coordinator functionality
      
      as of #3222 we can do most of the work within the approval voting subsystem
      
      * Revert "remove most dispute coordinator functionality"
      
      This reverts commit 9cd615e8
      
      .
      
      * Use thiserror
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * Update node/core/dispute-coordinator/src/lib.rs
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * extract tests to separate module
      
      * address nit
      
      * adjust run_iteration API
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      19c1d29d
  16. 12 Jun, 2021 1 commit
  17. 11 Jun, 2021 1 commit
  18. 08 Jun, 2021 1 commit
    • Lldenaurois's avatar
      Remove candidate selection (#3148) · a4dfdf16
      Lldenaurois authored
      * Create validator_side module
      
      * Subsume Candidate Selection
      
      * Add test to ensure candidate backing logic is correct
      
      * Ensure secondings are adequately cleaned up and address test flakyness
      
      * Address Feedback
      a4dfdf16
  19. 31 May, 2021 1 commit
    • asynchronous rob's avatar
      Reversion Safety tools for overseer and subsystems (#3104) · d8d8e926
      asynchronous rob authored
      * guide: reversion safety
      
      * guide: manage reversion safety in subsystems
      
      * add leaf status to ActivatedLeaf
      
      * add an LRU-cache to overseer for staleness detection
      
      * update ActivatedLeaf usages in tests to contain status field
      
      * add variant where missed accidentally
      
      * add some helpers to LeafStatus
      
      * address grumbles
      d8d8e926
  20. 13 May, 2021 1 commit
  21. 03 May, 2021 1 commit
    • Robert Klotzner's avatar
      More secure `Signed` implementation (#2963) · e9a29ecc
      Robert Klotzner authored
      * Remove signature verification in backing.
      
      `SignedFullStatement` now signals that the signature has already been
      checked.
      
      * Remove unused check_payload function.
      
      * Introduced unchecked signed variants.
      
      * Fix inclusion to use unchecked variant.
      
      * More unchecked variants.
      
      * Use unchecked variants in protocols.
      
      * Start fixing statement-distribution.
      
      * Fixup statement distribution.
      
      * Fix inclusion.
      
      * Fix warning.
      
      * Fix backing properly.
      
      * Fix bitfield distribution.
      
      * Make crypto store optional for `RuntimeInfo`.
      
      * Factor out utility functions.
      
      * get_group_rotation_info
      
      * WIP: Collator cleanup + check signatures.
      
      * Convenience signature checking functions.
      
      * Check signature on collator-side.
      
      * Fix warnings.
      
      * Fix collator side tests.
      
      * Get rid of warnings.
      
      * Better Signed/UncheckedSigned implementation.
      
      Also get rid of Encode/Decode for Signed! *party*
      
      * Get rid of dead code.
      
      * Move Signed in its own module.
      
      * into_checked -> try_into_checked
      
      * Fix merge.
      e9a29ecc
  22. 27 Apr, 2021 1 commit
    • Robert Klotzner's avatar
      Send statements to own backing group first (#2927) · dcd672cb
      Robert Klotzner authored
      * Factor out runtime module into utils.
      
      * First fatal error design.
      
      * Better error handling infra.
      
      * Error handling cleanup.
      
      * Send to peers of our group first.
      
      * Finish backing group prioritization.
      
      * Little cleanup.
      
      * More cleanup.
      
      * Forgot to checkin error.rs.
      
      * Notes.
      
      * Runtime -> RuntimeInfo
      
      * qed in debug assert.
      
      * PolkaErr -> Fault.
      dcd672cb
  23. 16 Apr, 2021 1 commit
    • Robert Klotzner's avatar
      Infrastructure improvements (#2897) · fff63cb5
      Robert Klotzner authored
      * Factor out runtime module into utils.
      
      * Add maybe_authority information to `PeerConnected` event.
      
      We already gather this information in authority discovery, so we might
      as well share it with others.
      
      This opens up an easy path to trigger validators differently from normal
      nodes, e.g. for prioritization. This change has become more important
      now, that we just connect to all validators and therefore just have a
      long peer list without any information about those nodes.
      
      * Test fix.
      fff63cb5
  24. 09 Apr, 2021 1 commit
  25. 03 Apr, 2021 1 commit
    • asynchronous rob's avatar
      Collation protocol: stricter validators (#2810) · 54e18e65
      asynchronous rob authored
      
      
      * guide: declare one para as a collator
      
      * add ParaId to Declare messages and clean up
      
      * fix build
      
      * fix the testerinos
      
      * begin adding keystore to collator-protocol
      
      * remove request_x_ctx
      
      * add core_for_group
      
      * add bump_rotation
      
      * add some more helpers to subsystem-util
      
      * change signing_key API to take ref
      
      * determine current and next para assignments
      
      * disconnect collators who are not on current or next para
      
      * add collator peer count metric
      
      * notes for later
      
      * some fixes
      
      * add data & keystore to test state
      
      * add a test utility for answering runtime API requests
      
      * fix existing collator tests
      
      * add new tests
      
      * remove sc_keystore
      
      * update cargo lock
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      54e18e65
  26. 01 Apr, 2021 1 commit
  27. 30 Mar, 2021 1 commit
  28. 28 Mar, 2021 1 commit
    • asynchronous rob's avatar
      Split NetworkBridge and break cycles with Unbounded (#2736) · d23a6d5a
      asynchronous rob authored
      
      
      * overseer: pass messages directly between subsystems
      
      * test that message is held on to
      
      * Update node/overseer/src/lib.rs
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      
      * give every subsystem an unbounded sender too
      
      * remove metered_channel::name
      
      1. we don't provide good names
      2. these names are never used anywhere
      
      * unused mut
      
      * remove unnecessary &mut
      
      * subsystem unbounded_send
      
      * remove unused MaybeTimer
      
      We have channel size metrics that serve the same purpose better now and the implementation of message timing was pretty ugly.
      
      * remove comment
      
      * split up senders and receivers
      
      * update metrics
      
      * fix tests
      
      * fix test subsystem context
      
      * use SubsystemSender in jobs system now
      
      * refactor of awful jobs code
      
      * expose public `run` on JobSubsystem
      
      * update candidate backing to new jobs & use unbounded
      
      * bitfield signing
      
      * candidate-selection
      
      * provisioner
      
      * approval voting: send unbounded for assignment/approvals
      
      * async not needed
      
      * begin bridge split
      
      * split up network tasks into background worker
      
      * port over network bridge
      
      * Update node/network/bridge/src/lib.rs
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * rename ValidationWorkerNotifications
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      d23a6d5a
  29. 26 Mar, 2021 1 commit
  30. 26 Feb, 2021 1 commit
    • Robert Klotzner's avatar
      Request based availability distribution (#2423) · 950447e1
      Robert Klotzner authored
      * WIP
      
      * availability distribution, still very wip.
      
      Work on the requesting side of things.
      
      * Some docs on what I intend to do.
      
      * Checkpoint of session cache implementation
      
      as I will likely replace it with something smarter.
      
      * More work, mostly on cache
      
      and getting things to type check.
      
      * Only derive MallocSizeOf and Debug for std.
      
      * availability-distribution: Cache feature complete.
      
      * Sketch out logic in `FetchTask` for actual fetching.
      
      - Compile fixes.
      - Cleanup.
      
      * Format cleanup.
      
      * More format fixes.
      
      * Almost feature complete `fetch_task`.
      
      Missing:
      
      - Check for cancel
      - Actual querying of peer ids.
      
      * Finish FetchTask so far.
      
      * Directly use AuthorityDiscoveryId in protocol and cache.
      
      * Resolve `AuthorityDiscoveryId` on sending requests.
      
      * Rework fetch_task
      
      - also make it impossible to check the wrong chunk index.
      - Export needed function in validator_discovery.
      
      * From<u32> implementation for `ValidatorIndex`.
      
      * Fixes and more integration work.
      
      * Make session cache proper lru cache.
      
      * Use proper lru cache.
      
      * Requester finished.
      
      * ProtocolState -> Requester
      
      Also make sure to not fetch our own chunk.
      
      * Cleanup + fixes.
      
      * Remove unused functions
      
      - FetchTask::is_finished
      - SessionCache::fetch_session_info
      
      * availability-distribution responding side.
      
      * Cleanup + Fixes.
      
      * More fixes.
      
      * More fixes.
      
      adder-collator is running!
      
      * Some docs.
      
      * Docs.
      
      * Fix reporting of bad guys.
      
      * Fix tests
      
      * Make all tests compile.
      
      * Fix test.
      
      * Cleanup + get rid of some warnings.
      
      * state -> requester
      
      * Mostly doc fixes.
      
      * Fix test suite.
      
      * Get rid of now redundant message types.
      
      * WIP
      
      * Rob's review remarks.
      
      * Fix test suite.
      
      * core.relay_parent -> leaf for session request.
      
      * Style fix.
      
      * Decrease request timeout.
      
      * Cleanup obsolete errors.
      
      * Metrics + don't fail on non fatal errors.
      
      * requester.rs -> requester/mod.rs
      
      * Panic on invalid BadValidator report.
      
      * Fix indentation.
      
      * Use typed default timeout constant.
      
      * Make channel size 0, as each sender gets one slot anyways.
      
      * Fix incorrect metrics initialization.
      
      * Fix build after merge.
      
      * More fixes.
      
      * Hopefully valid metrics names.
      
      * Better metrics names.
      
      * Some tests that already work.
      
      * Slightly better docs.
      
      * Some more tests.
      
      * Fix network bridge test.
      950447e1
  31. 22 Feb, 2021 1 commit
  32. 19 Feb, 2021 1 commit
    • Bernhard Schuster's avatar
      feat/jaeger: more spans, more stages (#2477) · f9186eb2
      Bernhard Schuster authored
      * feat/jaeger: more spans, more stages
      
      Stage numbers are still arbitrarily picked.
      
      * feat/jaeger: additional spans
      
      * chore/spellcheck: improve the dictionary
      
      * fix/jaeger JaegerSpan -> jaeger::Span
      f9186eb2
  33. 18 Jan, 2021 1 commit
    • Sergey Pepyakin's avatar
      Remove TransientValidationData (#2272) · 44f01a39
      Sergey Pepyakin authored
      * collation-generation: use persisted validation data
      
      * node: remote FullValidationData API
      
      * runtime: remove FullValidationData API
      
      * backing tests: use persisted validation data
      
      * FullCandidateReceipt: use persisted validation data
      
      This is not a big change since this type is not used anywhere
      
      * Remove ValidationData and TransientValidationData
      
      Also update the guide
      44f01a39
  34. 13 Jan, 2021 1 commit
  35. 05 Jan, 2021 1 commit
  36. 17 Dec, 2020 1 commit
    • Andronik Ordian's avatar
      refactor View to include finalized_number (#2128) · c429e15c
      Andronik Ordian authored
      * refactor View to include finalized_number
      
      * guide: update the NetworkBridge on BlockFinalized
      
      * av-store: fix the tests
      
      * actually fix tests
      
      * grumbles
      
      * ignore macro doctest
      
      * use Hash::repeat_bytes more consistently
      
      * broadcast empty leaves updates as well
      
      * fix issuing view updates on empty leaves updates
      c429e15c
  37. 07 Dec, 2020 1 commit
  38. 04 Dec, 2020 1 commit
    • Peter Goodspeed-Niklaus's avatar
      do not store backed candidates in the provisioner (#1909) · 113ae827
      Peter Goodspeed-Niklaus authored
      * guide: non-semantic changes
      
      * guide: update per the issue description
      
      * GetBackedCandidates operates on multiple hashes now
      
      * GetBackedCandidates still needs a relay parent
      
      * implement changes specified in guide
      
      * distinguish between various occasions for canceled oneshots
      
      * add tracing info to getbackedcandidates
      
      * REVERT ME: add tracing messages for GetBackedCandidates
      
      Note that these messages are only sometimes actually passed on to the
      candidate backing subsystem, with the consequence that it is
      unexpectedly frequent that the provisioner fails to create its
      provisionable data.
      
      * REVERT ME: more tracing logging
      
      * REVERT ME: log when CandidateBackingJob receives any message at all
      
      * REVERT ME: log when send_msg sends a message to a job
      
      * fix candidate-backing tests
      
      * streamline GetBackedCandidates
      
      This uses table.attested_candidate instead of table.get_candidate, because
      it's not obvious how to get a BackedCandidate from just a
      CommittedCandidateReceipt.
      
      * REVERT ME: more logging tracing job lifespans
      
      * promote warning about job premature demise
      
      * don't terminate CandiateBackingJob::run_loop in event of failure to process message
      
      * Revert "REVERT ME: more logging tracing job lifespans"
      
      This reverts commit 7365f2fb.
      
      * Revert "REVERT ME: log when send_msg sends a message to a job"
      
      This reverts commit 58e46aad.
      
      * Revert "REVERT ME: log when CandidateBackingJob receives any message at all"
      
      This reverts commit 0d6f3841.
      
      * Revert "REVERT ME: more tracing logging"
      
      This reverts commit 675fd262.
      
      * Revert "REVERT ME: add tracing messages for GetBackedCandidates"
      
      This reverts commit e09e1564.
      
      * formatting
      
      * add logging message to CandidateBackingJob::run_loop start
      
      * REVERT ME: add tracing to candidate-backing job creation
      
      * run candidatebacking loop even if no assignment
      
      * use unique error variants for each canceled oneshot
      
      * Revert "REVERT ME: add tracing to candidate-backing job creation"
      
      This reverts commit 8ce5f4f0.
      
      * try_runtime_api more to reduce silent exits
      
      * add sanity check that returned backed candidates preserve ordering
      
      * remove redundant err attribute
      113ae827
  39. 30 Nov, 2020 1 commit
    • Bastian Köcher's avatar
      Simplify subsystem jobs (#2037) · 1fbf09ac
      Bastian Köcher authored
      * Simplify subsystem jobs
      
      This pr simplifies the subsystem jobs interface. Instead of requiring an
      extra message that is used to signal that a job should be ended, a job
      now ends when the receiver returns `None`. Besides that it changes the
      interface to enforce that messages to a job provide a relay parent.
      
      * Drop ToJobTrait
      
      * Remove FromJob
      
      We always convert this message to FromJobCommand anyway.
      1fbf09ac
  40. 28 Nov, 2020 1 commit