1. 06 Oct, 2021 1 commit
    • Bernhard Schuster's avatar
      collect included disputes from on-chain (#3924) · b74335ac
      Bernhard Schuster authored
      
      
      * dummy: impl another runtime API
      
      * query the on chain disputes, and inform self
      
      * make use of the refactor
      
      * minro
      
      * SPLIT ME
      
      * write dispute values
      
      * wip
      
      * impl for all runtimes
      
      * chore: fmt
      
      * [] -> get
      
      * fixup mock runtime
      
      * fixup
      
      * fixup discovery for overseer init
      
      * chore: fmt
      
      * spellcheck
      
      * rename imported_on_chain_disputes -> on_chain_votes
      
      * reduction
      
      * make it mockable
      
      * rename and refactor
      
      * don't query on chain info if it's not needed
      
      * yikes
      
      * fmt
      
      * fix test
      
      * minimal fix for existing tests
      
      * attempt to fetch the session info from the rolling window before falling back
      
      * moved
      
      * comments
      
      * comments
      
      * test for backing votes
      
      * rename
      
      * Update runtime/polkadot/src/lib.rs
      
      * chore: spellcheck + dict
      
      * chore: fmt
      
      * fixup cache size
      
      * add warning
      
      * logging, rationale, less defense
      
      * introduce new unchecked, that still checks in debug builds
      
      * fix
      
      * draft alt approach
      
      * fix unused imports
      
      * include the session
      
      * Update node/core/dispute-coordinator/src/real/mod.rs
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      
      * provide where possible
      
      * expand comment
      
      * fixin
      
      * fixup
      
      * ValidityVote <-> ValidityAttestation <-> CompactStatement has a 1:1 representation
      
      * mark TODO
      
      * Update primitives/src/v1/mod.rs
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      
      * address review comments
      
      * update docs
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      b74335ac
  2. 22 Sep, 2021 1 commit
    • Keith Yeung's avatar
      Add benchmarking for parachain runtime paras pallet (#3888) · e9c4bc1e
      Keith Yeung authored
      
      
      * Crate basic barebones benchmarking infrastructure for paras
      
      * Fill in benchmarking contents
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * Use autogenerated WeightInfos for kusama and westend
      
      * cargo fmt
      
      * Use saturating_sub
      
      * Add missing import
      
      * Try and hit the worst possible time complexity as much as possible
      
      * cargo fmt
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * Add a MAX_HEAD_DATA_SIZE constant
      
      * Prefill vectors with sample data for worst case complexity
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * Improve comment on SAMPLE_SIZE constant
      
      Co-authored-by: default avatarParity Bot <admin@parity.io>
      e9c4bc1e
  3. 15 Sep, 2021 1 commit
    • Andrew Jones's avatar
      Companion for #8615: enrich metadata with type information (#3336) · 7bf12d67
      Andrew Jones authored
      
      
      * Use beefy branch with scale-info
      
      * Add patches
      
      * Sprinkle some TypeInfo derives
      
      * Add some TypeInfo deriv
      
      * Cargo.lock
      
      * Derive TypeInfo and skip type params for Xcm types
      
      * Cargo.lock
      
      * Fix up scale_info bounds attributes
      
      * Fix up dependencies
      
      * Use my own beefy-primitives branch
      
      * Bump BEEFY
      
      * Update patches
      
      * Add some scale-info dependencies and TypeInfo derives
      
      * More TypeInfo decoration
      
      * Update scale-info
      
      * Some TypeInfos and remove more Event pallet::metadata
      
      * Moar TypeInfos
      
      * TypeInfos galore, fix up metadata runtime API
      
      * TypeInfo
      
      * TypeInfos, update other runtime metadata APIs
      
      * Fix up Kusama, comment out some `usize` QueueSize parameter types
      
      * Remove local diener patches
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Update to scale-info crates.io release
      
      * Update primitive-types branch
      
      * Update pallet-beefy to use custom branch
      
      * Update other parity-common deps
      
      * Update parity-common patches
      
      * bump a bunch of deps in parity-common
      
      * Remove parity-common patches
      
      * Bump finality-grandpa version
      
      * Cargo.lock
      
      * Update scale-info to 0.9.1
      
      * Add recursion_limit for runtime-parachains
      
      * Add some scale_info attributes
      
      * Cargo.lock
      
      * Revert finality-grandpa bump
      
      * Cargo.lock, scale-info update
      
      * cargo update
      
      * Make sure using patched version of finality-grandpa
      
      * Use patched scale-info
      
      * Update to scale-info 0.10.0
      
      * Update finality-grandpa
      
      * Cargo.lock
      
      * Update beefy deps
      
      * Update beefy deps again
      
      * Add scale-info dependency
      
      * Remove deprecated pallet::metadata attributes.
      
      * Add some missing scale-info deps and derives
      
      * Use some variant struct call syntax
      
      * Add missing TypeInfo impl
      
      * Add some more TypeInfo impls
      
      * Convert some call enum struct variant constructors
      
      * More scale-info deps and derives
      
      * Call enum struct variants
      
      * TypeInfo derives
      
      * Call enum variant structs
      
      * scale-info deps and derives
      
      * Call enum variant struct constructors
      
      * Use beefy-primitives scale-info feature
      
      * Use grandpa-bridge-gadget master branch
      
      * Remove finality-grandpa patch
      
      * Add missing scale_info dependency and derive
      
      * Fix up some call variant constructors
      
      * Add missing scale_info dependency
      
      * Fix some test errors
      
      * More TypeInfo derives
      
      * More call variant structs
      
      * Call variant structs in tests
      
      * Cargo.lock
      
      * Fmt
      
      * Fix more call struct variants
      
      * Another call struct variant
      
      * add scale-info/std features explicitly
      
      * More call struct variants
      
      * Add missing scale-info dependency
      
      * Fmt
      
      * review: activate scale-info/std where missing
      
      * Remove some duplicate std feature activation
      
      * review: add scale_info bounds() attr
      
      * More call variant structs
      
      * Remove recursion limit
      
      * Update beefy-primitives
      
      * Update beefy-primitives
      
      * Fix simnet call variant struct errors
      
      * Fmt
      
      * cargo update -p beefy-primitives
      
      * Add some missing TypeInfo derives
      
      * Fix some call variants
      
      * Fix some call variant underscores
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Add missing TypeInfo derive
      
      * Add some more missing TypeInfo derives
      
      * Even more missing TypeInfo derives
      
      * Add TypeInfo derives to new xcm types
      
      * Fmt
      
      * Cargo.lock
      
      * Add missing TypeInfo impls
      
      * Cargo.lock
      
      * More missing TypeInfos
      
      * Fixes
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Add TypeInfo impls to xcm v2
      
      * Update to scale-info 1.0
      
      * Update finality-grandpa 0.14.4, patch for now
      
      * Update beefy
      
      * Remove patched finality-grandpa
      
      * Add TypeInfo impl to Outcome
      
      * Fixes
      
      * Call variant struct
      
      * Call variant struct
      
      * Fix test
      
      * Add TypeInfo impl
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Cargo.lock
      
      * git checkout master Cargo.lock
      
      * update Substrate
      
      * Add missing scale-info features for beefy-primitives
      
      * Fmt
      
      * Remove check for now
      
      * Update beefy-primitives, removes scale-info feature
      
      * Update beefy-primitives again
      
      Co-authored-by: default avataradoerr <0xad@gmx.net>
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      Co-authored-by: thiolliere's avatarthiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
      7bf12d67
  4. 14 Sep, 2021 1 commit
  5. 03 Aug, 2021 1 commit
  6. 02 Aug, 2021 1 commit
  7. 21 Jul, 2021 1 commit
  8. 19 Jul, 2021 1 commit
    • asynchronous rob's avatar
      Disputes runtime (#2947) · 219f0a4e
      asynchronous rob authored
      
      
      * disputes module skeleton and storage
      
      * implement dispute module initialization logic
      
      * implement disputes session change logic
      
      * provide dispute skeletons
      
      * deduplication & ancient check
      
      * fix a couple of warnings
      
      * begin provide_dispute_data impl
      
      * flesh out statement set import somewhat
      
      * move ApprovalVote to shared primitives
      
      * add a signing-payload API to explicit dispute statements
      
      * implement statement signature checking
      
      * some bitflags glue for observing changes in disputes
      
      * implement dispute vote import logic
      
      * flesh out everything except slashing
      
      * guide: tweaks
      
      * declare and use punishment trait
      
      * punish validators for inconclusive disputes
      
      * guide: tiny fix
      
      * guide: update docs
      
      * add disputes getter fn
      
      * guide: small change to spam slots handling
      
      * improve spam slots handling and fix some bugs
      
      * finish API of disputes runtime
      
      * define and deposit `RevertTo` log
      
      * begin integrating disputes into para_inherent
      
      * use precomputed slash_for/against
      
      * return candidate hash from process_bitfields
      
      * implement inclusion::collect_disputed
      
      * finish integration into rest of runtime
      
      * add Disputes to initializer
      
      * address suggestions
      
      * use pallet macro
      
      * fix typo
      
      * Update runtime/parachains/src/disputes.rs
      
      * add test: fix pruning
      
      * document specific behavior
      
      * deposit events on dispute changes
      
      * add an allow(unused) on fn disputes
      
      * add a dummy PunishValidators implementation
      
      * add disputes module to Rococo
      
      * add disputes module to westend runtime
      
      * add disputes module to test runtime
      
      * add disputes module to kusama runtime
      
      * guide: prepare for runtime API for checking frozenness
      
      * remove revert digests in favor of state variable
      
      * merge reversions
      
      * Update runtime/parachains/src/disputes.rs
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * Update runtime/parachains/src/disputes.rs
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * Update runtime/parachains/src/disputes.rs
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * add byzantine_threshold and supermajority_threshold utilities to primitives
      
      * use primitive helpers
      
      * deposit revert event when freezing chain
      
      * deposit revert log when freezing chain
      
      * test revert event and log are generated when freezing
      
      * add trait to decouple disputes handling from paras inherent handling
      
      * runtime: fix compilation and setup dispute handler
      
      * disputes: add hook for filtering out dispute statements
      
      * disputes: add initializer hooks to DisputesHandler
      
      * runtime: remove disputes pallet from all runtimes
      
      * tag TODOs
      
      * don't import any dispute statements just yet...
      
      * address grumbles
      
      * fix spellcheck, hopefully
      
      * maybe now?
      
      * last spellcheck round
      
      * fix runtime tests
      
      * fix test-runtime
      
      Co-authored-by: thiolliere's avatarthiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      Co-authored-by: default avatarAndré Silva <andrerfosilva@gmail.com>
      219f0a4e
  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. 01 Jul, 2021 1 commit
    • Bastian Köcher's avatar
      Companion for Substrate#8953 (#3140) · a620156c
      Bastian Köcher authored
      * Companion
      
      * Update branch
      
      * Update to correspond to substrate fixes
      
      * Update cargo.lock
      
      * Remove patches
      
      * update Substrate
      
      Co-authored-by: parity-processbot <>
      a620156c
  11. 28 Jun, 2021 1 commit
  12. 21 Jun, 2021 1 commit
    • Shawn Tabrizi's avatar
      Use `max_code_size` and `max_wasm_data_size` from Parachains Configuration (#3329) · 897afffb
      Shawn Tabrizi authored
      
      
      * use `configuration::config()` for max bytes
      
      * Update integration_tests.rs
      
      * Update paras_registrar.rs
      
      * remove consts
      
      * add asserts for non-zero
      
      * more const clean up
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs
      
      * add checks to `MAX_CODE_SIZE`
      
      * re-pot MAX_POV_SIZE
      
      * check pov limit in runtime
      
      * POV_BOMB_LIMIT multiplier
      
      * fix compile
      
      * Update configuration.rs
      
      * Update node/primitives/src/lib.rs
      
      * fix test
      
      Co-authored-by: default avatarParity Bot <admin@parity.io>
      897afffb
  13. 17 Jun, 2021 1 commit
  14. 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
  15. 12 Jun, 2021 1 commit
  16. 11 Jun, 2021 1 commit
  17. 27 May, 2021 1 commit
  18. 22 May, 2021 1 commit
  19. 07 May, 2021 1 commit
  20. 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