1. 06 Jan, 2021 9 commits
  2. 05 Jan, 2021 5 commits
    • Bastian Köcher's avatar
      Improve the `unbacked-span` (#2206) · 4f41fb74
      Bastian Köcher authored
      This ensures that we also record the first `import_statement` that will
      lead to the creation of the `unbacked-span`.
      4f41fb74
    • Peter Goodspeed-Niklaus's avatar
      Reduce the inclusion inherent's actual weight if the block is already heavy (#2060) · 0508b6f2
      Peter Goodspeed-Niklaus authored
      * don't modify inherent data on heavy block
      
      * write up current thinking on block weight detection
      
      * extract inherent inclusion check into its own function
      
      * put heavy block check into runtime
      
      * the `inclusion` inherent call is Operational, not Mandatory
      
      This resolves a lot of the trickiness about this issue, because
      we no longer need to override or supplant any existing proposer
      logic; the existing logic should exhibit these behaviors:
      
      - the `inclusion` inherent is prioritized over standard transactions
      - but if it's too heavy, i.e. in case of runtime upgrade, it'll be
        dropped in favor of that.
      
      It is my belief that allowing the proposer to just not include
      this data won't have any adverse effects: it's equivalent to replacing
      them with empty versions of themselves, which the `ProvideInherent`
      impl already does.
      
      * Revert "the `inclusion` inherent call is Operational, not Mandatory"
      
      This reverts commit e58858d1.
      
      * Revert "write up current thinking on block weight detection"
      
      This reverts commit fd587b80.
      
      * Revert "don't modify inherent data on heavy block"
      
      This reverts commit 38299d3c
      
      .
      
      * add backed candidate block weight assumption to configuration
      
      * Limit backed candidates according to a candidate weight heuristic.
      
      This approach replaces making the inclusion inherent non-mandatory.
      It's still not ideal in that we have to configure a heuristic for
      how much each backed candidate 'weighs', instead of directly
      measuring it somehow.
      
      This approach also never truncates the signed bitfields. The
      rationale for that depends on some assumptions:
      
      - processing the signed bitfields is cheap compared to the
        backed candidates
      - it is beneficial to the progress of the relay chain
        to update the signed bitfields even if not all backed candidates
        are updated
      
      * simplify limit_backed_candidates and weight assumption
      
      * don't trust the provisioner to fairly distribute candidates
      
      * use saturating subtraction
      
      * empty commit to restart ci
      
      * use new mechanism for getting max block weight
      
      * apply weight refunds to the inclusion inherent
      
      This makes some assumptions about fundamental weights, which are
      encapsulated as constants. From there, it lets Substrate know
      what the actual computed weight of the inherent is.
      
      * use a correct fixed weight for the inclusion inherent
      
      Co-authored-by: thiolliere's avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      
      * use dynamic inclusion weight so we reduce calculated weight when excluding candidates
      
      * don't double-count this intrinsic's weight in the block weight
      
      * add unit tests of fn limit_backed_candidates
      
      * add tests that the inclusion inherent's weight correctly updates
      
      Co-authored-by: thiolliere's avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      0508b6f2
    • dependabot[bot]'s avatar
    • Bastian Köcher's avatar
      Add one Jaeger span per relay parent (#2196) · 17344327
      Bastian Köcher authored
      
      
      * Add one Jaeger span per relay parent
      
      This adds one Jaeger span per relay parent, instead of always creating
      new spans per relay parent. This should improve the UI view, because
      subsystems are now grouped below one common span.
      
      * Fix doc tests
      
      * Replace `PerLeaveSpan` to `PerLeafSpan`
      
      * More renaming
      
      * Moare
      
      * Update node/subsystem/src/lib.rs
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Skip the spans
      
      * Increase `spec_version`
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      17344327
    • Sergey Pepyakin's avatar
      Parachains well known keys and abridged primitives (#2194) · 6b688dd5
      Sergey Pepyakin authored
      * Add well_known_keys
      
      * Reorder HrmpChannel and HostConfiguration members
      
      * abridged versions and well known keys tests
      
      * Add some comments
      
      * Add a note on generation of the prefixes
      
      and other magic values
      
      * Recommend accessing the well known values through abridged structs
      6b688dd5
  3. 04 Jan, 2021 5 commits
    • Bastian Köcher's avatar
      Use correct ROC currency name (#2195) · e8cd587d
      Bastian Köcher authored
      e8cd587d
    • asynchronous rob's avatar
      Improve Network Spans (#2169) · a891884e
      asynchronous rob authored
      * utility functions for erasure-coding threshold
      
      * add candidate-hash tag to candidate jaeger spans
      
      * debug implementation for jaeger span
      
      * add a span to each live candidate in availability dist.
      
      * availability span covers only our piece
      
      * fix tests
      
      * keep span alive slightly longer
      
      * remove spammy bitfield-gossip-received log
      
      * Revert "remove spammy bitfield-gossip-received log"
      
      This reverts commit 831a2db5
      
      .
      
      * add claimed validator to bitfield-gossip span
      
      * add peer-id to handle-incoming span
      
      * add peer-id to availability distribution span
      
      * Update node/network/availability-distribution/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * Update erasure-coding/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * Update node/subsystem/src/jaeger.rs
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      a891884e
    • Sergey Pepyakin's avatar
      Add relay storage root to persisted validation data (#2161) · 50538aa5
      Sergey Pepyakin authored
      * Cont.: Implement the state root obtaining during inclusion
      
      During inclusion now we obtain the storage root by passing it through
      the inclusion_inherent.
      
      * Fix tests
      
      * Bump rococo spec version
      
      * Reorder the parent header into the end
      
      of the inclusion inherent.
      
      When the parent header is in the beginning, it shifts the other two
      fields, so that a previous version won't be able to decode that. If
      we put the parent header in the end, the other two fields will stay
      at their positions, thus make it possible to decode with the previous
      version.
      
      That allows us to perform upgrade of rococo runtime without needing of
      simultanuous upgrade of nodes and runtime, or restart of the network.
      
      * Squash a stray tab
      50538aa5
    • Bastian Köcher's avatar
      Improve unbacked span (#2191) · 85932d15
      Bastian Köcher authored
      We need to make sure to drop the import-statement child span before the
      parent span is dropped.
      85932d15
    • Bastian Köcher's avatar
      d975841c
  4. 02 Jan, 2021 1 commit
  5. 30 Dec, 2020 2 commits
    • Alexander Theißen's avatar
      Companion for #7810 (Define ss58 prefix inside the runtime) (#2182) · 2ad8c5cf
      Alexander Theißen authored
      * Companion for #7810
      
      * Added missing trait items for tests
      
      * Add another missing trait item
      
      * fixup
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      2ad8c5cf
    • Shawn Tabrizi's avatar
      Migrate Claims Pallet to WeightInfo (#2171) · 4e73c1d3
      Shawn Tabrizi authored
      
      
      * migrate claims to weightinfo
      
      * fix up
      
      * fix benchmark
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=claims --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/
      
      * fix test runtime
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=claims --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/
      
      * Update runtime/kusama/src/weights/claims.rs
      
      * use path for pallet
      
      * Update Cargo.lock
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_common::claims --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/
      
      * Delete runtime_common::claims.rs
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_common::claims --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_common_claims.rs
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::claims --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_claims.rs
      
      * use full automation file
      
      * patch import
      
      * consolidate benchmark logic
      
      * fix
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::claims --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_claims.rs
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_common::claims --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_common_claims.rs
      
      * update weight comments
      
      Co-authored-by: default avatarParity Benchmarking Bot <admin@parity.io>
      4e73c1d3
  6. 29 Dec, 2020 3 commits
  7. 28 Dec, 2020 2 commits
  8. 27 Dec, 2020 1 commit
  9. 24 Dec, 2020 2 commits
  10. 21 Dec, 2020 2 commits
    • asynchronous rob's avatar
      bump rococo spec version · 2c6920c4
      asynchronous rob authored
      2c6920c4
    • Sergey Pepyakin's avatar
      Do not use rely on the block initialization when calling runtime APIs (#2123) · e21f5cec
      Sergey Pepyakin authored
      
      
      * Don't initialize block when calling runtime APIs
      
      * Adapt check_validation_outputs
      
      We split the code path for the inclusion and for the commitments checking.
      
      * Slap #[skip_initialize_block] on safe runtime APIs
      
      That is, those that should not be affected by this attribute
      
      * Make `Scheduled` not ephemeral
      
      So that it is persisted in the storage and ready to be inspected
      by the runtime APIs. This is in contrast to what was before, where we
      would remove the storage entry and then rely on the scheduling performed
      by `on_initialize` again.
      
      * Add a big fat comment
      
      * Typos
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      
      * Move session change to the end of the current block
      
      Previously, it was the beginning of the next block. This allows us to
      put #[skip_initialize_block]
      
      * Update tests
      
      * Fix a test in paras registrar
      
      Also refactor it a bit so the next time there are more chances this kind
      of issue is diagnosed quicker.
      
      * Add for_runtime_api to inclusion's check_validation_outputs
      
      Co-authored-by: asynchronous rob's avatarRobert Habermeier <rphmeier@gmail.com>
      e21f5cec
  11. 20 Dec, 2020 2 commits
  12. 18 Dec, 2020 6 commits