Skip to content
  1. Sep 28, 2023
    • Xavier Lau's avatar
      Add `MaxTipAmount` for pallet-tips (#1709) · de71fecc
      Xavier Lau authored
      Last week we experienced a governance attack.
      Surprisingly, there was no upper limit on the tip amount.
      
      Due to the mechanism of pallet-fragment-election, the council members
      will be refreshed immediately. Attacker is easy to control the council
      and give a large tip amount.
      de71fecc
  2. Sep 27, 2023
  3. Sep 22, 2023
    • Sebastian Kunert's avatar
      Use correct target dir in polkadot readme (#1643) · fb0fd3e6
      Sebastian Kunert authored
      Closes #1372 
      
      This fixes the target directories in the polkadot readme. I verified
      manually the Ubuntu based install works on a fresh cloud machine. Build
      from source also worked as described.
      
      Since #1304 landed `--dev` also works again (not on v1.1.0 though), so I
      would consider the install instructions fixed.
      fb0fd3e6
  4. Sep 20, 2023
  5. Sep 18, 2023
    • Gonçalo Pestana's avatar
      Implements a variable deposit base calculation for EPM signed submissions (#1547) · 614aa31b
      Gonçalo Pestana authored
      **Note**: This is a lift-and-shift PR from the old substrate and
      polkadot repos, both PRs have been reviewed and audited
      (https://github.com/paritytech/substrate/pull/13983,
      https://github.com/paritytech/polkadot/pull/7140)
      
      ---
      
      This PR implements a generic `BaseDeposit` calculation for signed
      submissions, based on the size of the submission queue.
      
      It adds a new associated type to EPM's config, `type SignedDepositBase`,
      that implements `Convert<usize, BalanceOf<T>>`, which is used to
      calculate the base deposit for signed submissions based on the size of
      the signed submissions queue.
      
      `struct GeometricDepositBase<Balance, Fixed, Inc>` implements the
      convert trait so that the deposit value increases as a geometric
      progression. The deposit base is calculated by `deposit_base =
      fixed_deposit_base * (1 + increase_factor)^n`, where `n` is the term of
      the progression (i.e. the number of signed submissions in the queue).
      `Fixed` and `Inc` generic params are getters for `Balance` and
      `IncreaseFactor` to compute the geometric progression. If
      `IncreaseFactor = 0`, then the signed deposit is constant and equal to
      `Fixed` regardless of the size of the queue.
      
      ### Runtime configs
      
      In Kusama, the progression with 10% increase without changing the
      current signed fixed deposit is: (term == size of the queue)
      
      Term 1: `1,333,333,332,000`
      Term 2: `1,333,333,332,000 * 1.10 = 1,466,666,665,200`
      Term 3: `1,333,333,332,000 * 1.10^2 = 1,613,333,331,200`
      Term 4: `1,333,333,332,000 * 1.10^3 = 1,774,666,664,320`
      Term 5: `1,333,333,332,000 * 1.10^4 = 1,952,133,330,752`
      Term 6: `1,333,333,332,000 * 1.10^5 = 2,147,346,663,827.20`
      Term 7: `1,333,333,332,000 * 1.10^6 = 2,362,081,330,210.92`
      Term 8: `1,333,333,332,000 * 1.10^7 = 2,598,289,463,231.01`
      Term 9: `1,333,333,332,000 * 1.10^8 = 2,858,118,409,554.11`
      Term 10: `1,333,333,332,000 * 1.10^9 = 3,143,930,250,509.52`
      
      Westend:
      
      Term 1: `2,000,000,000,000`
      Term 2: `2,000,000,000,000 * 1.10 = 2,200,000,000,000`
      Term 3: `2,000,000,000,000 * 1.10^2 = 2,420,000,000,000`
      Term 4: `2,000,000,000,000 * 1.10^3 = 2,662,000,000,000`
      Term 5: `2,000,000,000,000 * 1.10^4 = 2,928,200,000,000`
      Term 6: `2,000,000,000,000 * 1.10^5 = 3,221,020,000,000`
      Term 7: `2,000,000,000,000 * 1.10^6 = 3,543,122,000,000`
      Term 8: `2,000,000,000,000 * 1.10^7 = 3,897,434,200,000`
      Term 9: `2,000,000,000,000 * 1.10^8 = 4,287,177,620,000`
      Term 10: `2,000,000,000,000 * 1.10^9 = 4,715,895,382,000`
      
      and in Polkadot, the deposit increase is disabled in the current state
      of the PR, as the increase factor is 0% -- so nothing changes from the
      current behaviour.
      
      Closes https://github.com/paritytech-secops/srlabs_findings/issues/189
      614aa31b
  6. Sep 17, 2023
  7. Sep 15, 2023
  8. Sep 13, 2023
  9. Sep 11, 2023
  10. Sep 05, 2023
  11. Sep 04, 2023
  12. Sep 03, 2023
  13. Sep 02, 2023
  14. Sep 01, 2023
  15. Aug 30, 2023
  16. Aug 29, 2023
  17. Aug 28, 2023
  18. Aug 25, 2023
  19. Aug 24, 2023
    • Gavin Wood's avatar
      Frame: Agile Coretime Broker pallet (RFC-1) (#14568) · 46bd466e
      Gavin Wood authored
      
      
      * Add Broker pallet
      
      * Flesh out CorePart
      
      * Repotting and fleshing out
      
      * more drafting
      
      * process timeslice
      
      * Test Fungibles completed
      
      * Auctions
      
      * Price morphing
      
      * First tests
      
      * Tidying up config/status
      
      * Docs
      
      * Timeslice todying
      
      * More Timeslice tidying
      
      * Tests]
      
      * Repotting.
      
      * Tests
      
      * Tests
      
      * System InstaPool cores and payout
      
      * Better Relay Test framework
      
      * Tests and instapool fixes
      
      * Support NFT interface
      
      * Proper renewals
      
      * Better events, results
      
      * Test transfer
      
      * Renewal test
      
      * Repot some impls and make dispatchables.
      
      * Better weight
      
      * Test migration
      
      * Document events
      
      * Introduce durations
      
      * Core count
      
      * Allow reassignment
      
      * Better naming
      
      * Error docs
      
      * Docs
      
      * Formatting
      
      * Advance notice period is in RC blocks, not timeslices
      
      * Docs
      
      * Formatting
      
      * Docs
      
      * Missing file
      
      * Added some events
      
      * Events for all dispatchables
      
      * Remove benchmark
      
      * Fix
      
      * Adds benchmark for configure and some basic setup
      
      * Adds benchmark for reserve and unreserve
      
      * Adds a couple of more benchmarks
      
      * Docs
      
      * Event
      
      * Fix
      
      * Adds benchmark for purchase
      
      * Dedup
      
      * Add some weight breakdowns
      
      * Repotting
      
      * Adds more benchmarks
      
      * Renaming and one more event
      
      * Sale event
      
      * Better price API and docs
      
      * Avoid possibility of clobbering renewal record
      
      * Avoid possibility of clobbering renewal record
      
      * Fixes a few benchmarks
      
      * Another test
      
      * More tests
      
      * Drop history test
      
      * Rename and CORE_MASK_BITS constant
      
      * Update frame/broker/src/dispatchable_impls.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/broker/src/dispatchable_impls.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/broker/src/dispatchable_impls.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/broker/src/utility_impls.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/broker/src/dispatchable_impls.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/broker/src/mock.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Addresses few review comments
      
      * Addresses few review comments
      
      * Addresses few review comments
      
      * Merge
      
      * Merge
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Integrates broker in kitchensink
      
      * Minor update
      
      * Fixes typo
      
      * Moves balance back to u64
      
      * Fixes kitchensink build
      
      * Fixes worst case for assign
      
      * Adds benchmark for process_core_count
      
      * Adds a couple of more benchmarks
      
      * Adds an assert for partition
      
      * Uses max_timeslices as input in claim_revenue benchmark
      
      * Adds benchmark for drop_renewal
      
      * Adds benchmark for process_core_schedule
      
      * Adds benchmark for process_pool
      
      * Adds assertion for transfer
      
      * Fixes benchmark for broker in kitchensink
      
      * Adds todo for process_revenue benchmark
      
      * Minor update
      
      * Fix for pool revenue history
      
      * remove TODOs
      
      * Fix tests
      
      * Document CoretimeInterface
      
      * rename part to mask
      
      * Fixes
      
      * Grumble
      
      * ".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime=dev --target_dir=substrate --pallet=pallet_broker
      
      * Adds benchmark for drop_history and fixes worst case for claim_revenue
      
      * Adds drop_history in WeightInfo
      
      * ".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime=dev --target_dir=substrate --pallet=pallet_broker
      
      * Minor fix for Quick Benchmark CI
      
      * Fixes
      
      * Docs
      
      * Headers
      
      * Expose a couple of APIs for benchmarking (#14688)
      
      * Expose a couple of APIs for benchmarking
      
      * Adds doc
      
      * Minor fix in CoretimeInterface impl for kitchensik
      
      * Minor
      
      * Cap renewal price
      
      * Adds a few tests
      
      * Adds more tests
      
      * Minor updates
      
      * Adds a test for an edge case
      
      * Fixes feature propagation
      
      * Fixes feature propagation
      
      * Adds doc fix
      
      * Syntax nits
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Reuse Bit assign functions
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Bitwise tests
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * adapt_price: Edge case for sold == target
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Add sanity checking to ConfigRecord
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Add deny(missing_docs) where possible
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * partition: forbid pivot_offset == 0
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Sort features
      
      zepter format features
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Import Zero from new location
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Clippy: remove redundant clone
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * try to fix build
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix CI
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarNikhil Gupta <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      46bd466e
    • juangirini's avatar
      Restructure `frame_benchmarking` macro related exports (#14787) · bc2b3d9d
      juangirini authored
      
      
      * make reexports private
      
      * make reexports private 2
      
      * make reexports private for runtime-benchmarking
      
      * make reexports private for try-runtime
      
      * fix for try-runtime
      
      * make reexports private for tests
      
      * fmt
      
      * make reexports private for tests
      
      * make reexports private for experimental
      
      * fix beefy
      
      * fix ui test
      
      * fix ui test
      
      * fix benches
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * fix contracts use
      
      * wip
      
      * wip
      
      * do not reexport sp_api::metadata_ir
      
      * fix CI checks
      
      * fix support tests
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/support/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * import codec directly
      
      * fmt
      
      * wip
      
      * wip
      
      * remove benchmarking private exports
      
      * fix zepter warning
      
      * fix imports
      
      * partially fix node-cli tests
      
      * fix node-cli tests
      
      * fix node-cli build
      
      * fix zepter warning
      
      * fix test
      
      * fix ui test
      
      * fix ci
      
      * remove unnecessary imports
      
      * add import back
      
      * add import back
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      bc2b3d9d
    • PG Herveou's avatar
      Contracts: Update Config::Debug (#14789) · cd464f9c
      PG Herveou authored
      * Update Debug trait
      
      * Rename
      
      * tweak
      
      * fmt
      
      * Better namings
      
      * rm unsafe-debug
      
      * rework doc
      
      * nit
      
      * fix comment
      
      * clippy
      
      * update naming
      
      * Rename file
      
      * fmt fixes
      
      * rename
      
      * Move tracing behind umbrella Debugging trait
      
      * fix
      
      * fix comment
      
      * reorder imports
      
      * comment
      
      * update doc
      
      * add missing doc
      
      * add missing doc
      
      * Update Debugging -> Debugger
      
      * Update bin/node/runtime/Cargo.toml
      cd464f9c
  20. Aug 23, 2023
  21. Aug 17, 2023
  22. Aug 16, 2023
  23. Aug 15, 2023
  24. Aug 14, 2023
  25. Aug 11, 2023
  26. Aug 10, 2023
    • Gonçalo Pestana's avatar
      [NPoS] Implements dynamic number of nominators (#12970) · 93754780
      Gonçalo Pestana authored
      
      
      * Implements dynamic nominations per nominator
      
      * Adds SnapshotBounds and ElectionSizeTracker
      
      * Changes the ElectionDataProvider interface to receive ElectionBounds as input
      
      * Implements get_npos_voters with ElectionBounds
      
      * Implements get_npos_targets with ElectionBounds
      
      * Adds comments
      
      * tests
      
      * Truncates nomninations that exceed nominations quota; Old tests passing
      
      * Uses DataProviderBounds and ElectionBounds (to continue)
      
      * Finishes conversions - tests passing
      
      * Refactor staking in babe mocks
      
      * Replaces MaxElectableTargets and MaxElectingVoters with ElectionBounds; Adds more tests
      
      * Fixes nits; node compiling
      
      * bechmarks
      
      * removes nomination_quota extrinsic to request the nomination quota
      
      * Lazy quota check, ie. at nominate time only
      
      * remove non-working test (for now)
      
      * tests lazy nominations quota when quota is lower than current number of nominated targets
      
      * Adds runtime API and custom RPC call for clients to query the nominations quota for a given balance
      
      * removes old rpc
      
      * Cosmetic touches
      
      * All mocks working
      
      * Fixes benchmarking mocks
      
      * nits
      
      * more tests
      
      * renames trait methods
      
      * nit
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Fix V2 PoV benchmarking (#13485)
      
      * Bump default 'additional_trie_layers' to two
      
      The default here only works for extremely small runtimes, which have
      no more than 16 storage prefices. This is changed to a "sane" default
      of 2, which is save for runtimes with up to 4096 storage prefices (eg StorageValue).
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update tests and test weights
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix PoV weights
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_balances
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_message_queue
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_glutton
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_glutton
      
      * Fix sanity check
      
      >0 would also do as a check, but let's try this.
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      
      * Move BEEFY code to consensus (#13484)
      
      * Move beefy primitives to consensus dir
      * Move beefy gadget to client consensus folder
      * Rename beefy crates
      
      * chore: move genesis block builder to chain-spec crate. (#13427)
      
      * chore: move genesis block builder to block builder crate.
      
      * add missing file
      
      * chore: move genesis block builder to sc-chain-spec
      
      * Update client/chain-spec/src/genesis.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update test-utils/runtime/src/genesismap.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update test-utils/runtime/client/src/lib.rs
      
      * fix warnings
      
      * fix warnings
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Speed up storage iteration from within the runtime (#13479)
      
      * Speed up storage iteration from within the runtime
      
      * Move the cached iterator into an `Option`
      
      * Use `RefCell` in no_std
      
      * Simplify the code slightly
      
      * Use `Option::replace`
      
      * Update doc comment for `next_storage_key_slow`
      
      * Make unbounded channels size warning exact (part 1) (#13490)
      
      * Replace `futures-channel` with `async-channel` in `out_events`
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Also print the backtrace of `send()` call
      
      * Switch from `backtrace` crate to `std::backtrace`
      
      * Remove outdated `backtrace` dependency
      
      * Remove `backtrace` from `Cargo.lock`
      
      ---------
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Removal of Prometheus alerting rules deployment in cloud-infra (#13499)
      
      * sp-consensus: remove unused error variants (#13495)
      
      * Expose `ChargedAmount` (#13488)
      
      * Expose `ChargedAmount`
      
      * Fix imports
      
      * sc-consensus-beefy: fix metrics: use correct names (#13494)
      
      
      Signed-off-by: default avataracatangiu <[email protected]>
      
      * clippy fix
      
      * removes NominationsQuotaExceeded event
      
      * Update frame/staking/src/lib.rs
      
      Co-authored-by: default avatarRoss Bulat <[email protected]>
      
      * adds back the npos_max_iter
      
      * remove duplicate imports added after merge
      
      * fmt
      
      * Adds comment in public struct; Refactors CountBound and SizeCount to struct
      
      * addresses various pr comments
      
      * PR comment reviews
      
      * Fixes on-chain election bounds and related code
      
      * EPM checks the size of the voter list returned by the data provider
      
      * cosmetic changes
      
      * updates e2e tests mock
      
      * Adds more tests for size tracker and refactors code
      
      * Adds back only_iterates_max_2_times_max_allowed_len test
      
      * Refactor
      
      * removes unecessary dependency
      
      * empty commit -- restart all stuck CI jobs
      
      * restarts ci jobs
      
      * Renames ElectionBounds -> Bounds in benchmarking mocks et al
      
      * updates mocks
      
      * Update frame/election-provider-support/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/staking/src/pallet/impls.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/election-provider-support/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/staking/src/tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * more checks in api_nominations_quota in tests
      
      * Improves docs
      
      * fixes e2e tests
      
      * Uses size_hint rather than mem::size_of in size tracker; Refactor size tracker to own module
      
      * nits from reviews
      
      * Refactors bounds to own module; improves docs
      
      * More tests and docs
      
      * fixes docs
      
      * Fixes benchmarks
      
      * Fixes rust docs
      
      * fixes bags-list remote-ext-tests
      
      * Simplify bound checks in create_snapshot_external
      
      * Adds target size check in get_npos_targets
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * restart ci
      
      * rust doc fixes and cosmetic nits
      
      * rollback upgrade on parity-scale-codec version (unecessary)
      
      * reset cargo lock, no need to update it
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Signed-off-by: default avataracatangiu <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avataryjh <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKoute <[email protected]>
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      Co-authored-by: default avatarAnthony Lazam <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarPiotr Mikołajczyk <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: default avatarRoss Bulat <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      93754780
  27. Aug 09, 2023
  28. Aug 08, 2023
    • Liam Aharon's avatar
      test-utils: programatically spawn dev nodes (#14704) · 7afff714
      Liam Aharon authored
      
      
      * allow spinning up dev node in background without binary
      
      * improve comments
      
      * restore rust-toolchain
      
      * remove rust-toolchain
      
      * tweak start_node_without_binary api
      
      * Update test-utils/cli/src/lib.rs
      
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      
      * address commends
      
      * use &str
      
      * update example
      
      * update comment
      
      * update docs
      
      * Revert "update docs"
      
      This reverts commit e18677f081247dd9672f64ea34d2c651daf401c2.
      
      * use node-cli instead of node-template
      
      * fix feature
      
      * fix feature
      
      * fix features
      
      ---------
      
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      7afff714