- Jan 14, 2025
-
-
command-bot authored
"$PIPELINE_SCRIPTS_DIR/commands/bench/bench.sh" --subcommand=pallet --runtime=dev --target_dir=substrate --features=runtime-benchmarks --pallet=pallet_asset_rewards
-
command-bot authored
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime=asset-hub-rococo --runtime_dir=assets --target_dir=cumulus --pallet=pallet_asset_rewards
-
command-bot authored
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime=asset-hub-westend --runtime_dir=assets --target_dir=cumulus --pallet=pallet_asset_rewards
-
Muharem Ismailov authored
-
Muharem Ismailov authored
-
Muharem Ismailov authored
-
- Jan 13, 2025
-
-
polka.dom authored
As per #3326, removes pallet::getter macro usage from pallet-grandpa. The syntax `StorageItem::<T, I>::get()` should be used instead. cc @muraca --------- Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Michal Kucharczyk authored
# Description This PR modifies the hard-coded size of extrinsics cache within [`PoolRotator`](https://github.com/paritytech/polkadot-sdk/blob/cdf107de/substrate/client/transaction-pool/src/graph/rotator.rs#L36-L45) to be inline with pool limits. The problem was, that due to small size (comparing to number of txs in single block) of hard coded size: https://github.com/paritytech/polkadot-sdk/blob/cdf107de/substrate/client/transaction-pool/src/graph/rotator.rs#L34 excessive number of unnecessary verification were performed in `prune_tags`: https://github.com/paritytech/polkadot-sdk/blob/cdf107de /substrate/client/transaction-pool/src/graph/pool.rs#L369-L370 This was resulting in quite long durations of `prune_tags` execution time (which was ok for 6s, but becomes noticable for 2s blocks): ``` Pruning at HashAndNumber { number: 83, ... }. Resubmitting transactions: 6142, reverification took: 237.818955ms Pruning at HashAndNumber { number: 84, ... }. Resubmitting transactions: 5985, reverification took: 222.118218ms Pruning at HashAndNumber { number: 85, ... }. Resubmitting transactions: 5981, reverification took: 215.546847ms ``` The fix reduces the overhead: ``` Pruning at HashAndNumber { number: 92, ... }. Resubmitting transactions: 6325, reverification took: 14.728354ms Pruning at HashAndNumber { number: 93, ... }. Resubmitting transactions: 7030, reverification took: 23.973607ms Pruning at HashAndNumber { number: 94, ... }. Resubmitting transactions: 4465, reverification took: 9.532472ms ``` ## Review Notes I decided to leave the hardocded `EXPECTED_SIZE` for the legacy transaction pool. Removing verification of transactions during re-submission may negatively impact the behavior of the legacy (single-state) pool. As in long-term we probably want to deprecate old pool, I did not invest time to assess the impact of rotator change in behavior of the legacy pool. --------- Co-authored-by: command-bot <> Co-authored-by:
Iulian Barbu <14218860+iulianbarbu@users.noreply.github.com>
-
Alexandru Gheorghe authored
Reference hardware requirements have been bumped to at least 8 cores so we can no allocate 50% of that capacity to PVF execution. --------- Signed-off-by:
Alexandru Gheorghe <alexandru.gheorghe@parity.io>
-
PG Herveou authored
Update the current approach to attach the `ref_time`, `pov` and `deposit` parameters to an Ethereum transaction. Previously we will pass these 3 parameters along with the signed payload, and check that the fees resulting from `gas x gas_price` match the actual fees paid by the user for the extrinsic. This approach unfortunately can be attacked. A malicious actor could force such a transaction to fail by injecting low values for some of these extra parameters as they are not part of the signed payload. The new approach encodes these 3 extra parameters in the lower digits of the transaction gas, approximating the the log2 of the actual values to encode each components on 2 digits --------- Co-authored-by:
GitHub Action <action@github.com> Co-authored-by: command-bot <>
-
Branislav Kontur authored
## Description This PR deprecates `UnpaidLocalExporter` in favor of the new `LocalExporter`. First, the name is misleading, as it can be used in both paid and unpaid scenarios. Second, it contains a hard-coded channel 0, whereas `LocalExporter` uses the same algorithm as `xcm-exporter`. ## Future Improvements Remove the `channel` argument and slightly modify the `ExportXcm::validate` signature as part of [this issue](https://github.com/orgs/paritytech/projects/145/views/8?pane=issue&itemId=84899273). --------- Co-authored-by: command-bot <>
-
Bastian Köcher authored
Closes: https://github.com/paritytech/polkadot-sdk/issues/7033
-
- Jan 11, 2025
-
-
Bastian Köcher authored
-
- Jan 10, 2025
-
-
Francisco Aguirre authored
Collectives-westend was using `FixedWeightBounds`, meaning the same weight per instruction. Added proper benchmarks. --------- Co-authored-by:
GitHub Action <action@github.com> Co-authored-by:
Branislav Kontur <bkontur@gmail.com>
-
- Jan 09, 2025
-
-
Andrei Eres authored
# Description - Used 10 notifications and requests within the benchmarks. After moving the network workers' initialization out of the benchmarks, it is acceptable to use this small number without losing precision. - Removed the 128MB payload that consumed most of the execution time.
-
seemantaggarwal authored
# Description Migrating salary pallet to use umbrella crate. It is a follow-up from https://github.com/paritytech/polkadot-sdk/pull/7025 Why did I create this new branch? I did this, so that the unnecessary cargo fmt changes from the previous branch are discarded and hence opened this new PR. ## Review Notes This PR migrates pallet-salary to use the umbrella crate. Added change: Explanation requested for why `TestExternalities` was replaced by `TestState` as testing_prelude already includes it `pub use sp_io::TestExternalities as TestState;` I have also modified the defensive! macro to be compatible with umbrella crate as it was being used in the salary pallet
-
wmjae authored
Co-authored-by:
Dónal Murray <donalm@seadanda.dev>
-
- Jan 07, 2025
-
-
Alistair Singh authored
Changes: 1. Use the 0x0000000000000000000000000000000000000000 token address as Native ETH. 2. Convert it to/from `{ parents: 2, interior: X1(GlobalConsensus(Ethereum{chain_id: 1})) }` when encountered. Onchain changes: This will require a governance request to register native ETH (with the above location) in the foreign assets pallet and make it sufficient. Related solidity changes: https://github.com/Snowfork/snowbridge/pull/1354 TODO: - [x] Emulated Tests --------- Co-authored-by:
Vincent Geddes <117534+vgeddes@users.noreply.github.com> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Bastian Köcher <info@kchr.de>
-
Ludovic_Domingues authored
PR for #3581 Added a cfg to show a deprecated warning message when using std --------- Co-authored-by: command-bot <> Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
Iulian Barbu authored
# Description Seems like I added `SKIP_WASM_BUILD=1`
💀 for arch64 binaries, which results in various errors like: https://github.com/paritytech/polkadot-sdk/issues/6966. This PR unsets the variable. Closes #6966. ## Integration People who found workarounds as in #6966 can consume the fixed binaries again. ## Review Notes I introduced SKIP_WASM_BUILD=1 for some reason for aarch64 (probably to speed up testing) and forgot to remove it. It slipped through and interfered with `stable2412` release artifacts. Needs backporting to `stable2412` and then rebuilding/overwriting the aarch64 artifacts. --------- Signed-off-by:Iulian Barbu <iulian.barbu@parity.io>
-
wmjae authored
Co-authored-by:
Dónal Murray <donalm@seadanda.dev> Co-authored-by:
Dónal Murray <donal.murray@parity.io> Co-authored-by:
Shawn Tabrizi <shawntabrizi@gmail.com>
-
Ludovic_Domingues authored
PR for #7054 Replaced frame_support with $crate from @gui1117 's suggestion to fix the dependency issue --------- Co-authored-by: command-bot <>
-
Alin Dima authored
Will fix: https://github.com/paritytech/polkadot-sdk/issues/6574 https://github.com/paritytech/polkadot-sdk/issues/6644 https://github.com/paritytech/polkadot-sdk/issues/6062 --------- Co-authored-by:
Javier Viola <javier@parity.io>
-
Andrei Eres authored
# Description Implements NetworkRequest::request for litep2p that we need for networking benchmarks ## Review Notes Duplicates implementation for NetworkService https://github.com/paritytech/polkadot-sdk/blob/5bf9dd2a/substrate/client/network/src/service.rs#L1186-L1205 --------- Co-authored-by: command-bot <>
-
Utkarsh Bhardwaj authored
# Description Migrate pallet-node-authorization to use umbrella crate. Part of #6504 ## Review Notes * This PR migrates pallet-node-authorization to use the umbrella crate. * Some imports like below have not been added to any prelude as they have very limited usage across the various pallets. ```rust use sp_core::OpaquePeerId as PeerId; ``` * Added a commonly used runtime trait for testing in the `testing_prelude` in `substrate/frame/src/lib.rs`: ```rust pub use sp_runtime::traits::BadOrigin; ``` * `weights.rs` uses the `weights_prelude` like: ```rust use frame::weights_prelude::*; ``` * `tests.rs` and `mock.rs` use the `testing_prelude`: ```rust use frame::testing_prelude::*; ``` * `lib.rs` uses the main `prelude` like: ```rust use frame::prelude::*; ``` * For testing: Checked that local build works and tests run successfully.
-
Iulian Barbu authored
# Description Introduce a workflow `debug` input for `misc-sync-templates.yml` and use it instead of the `runner.debug` context variable, which is set to '1' when `ACTIONS_RUNNER_DEBUG` env/secret is set (https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging#enabling-runner-diagnostic-logging). This is useful for controlling when to show debug prints. ## Integration N/A ## Review Notes Using `runner.debug` requires setting the `ACTIONS_RUNNER_DEBUG` env variable, but setting it to false/true is doable through an input, or by importing a variable from the github env file (which requires a code change). This input alone can replace the entire `runner.debug` + `ACTIONS_RUNNER_DEBUG` setup, which simplifies debug printing, but it doesn't look as standard as `runner.debug`. I don't think it is a big deal overall, for this action alone, but happy to account for other opinions. Note: setting the `ACTIONS_RUNNER_DEBUG` whenever we want in a separate branch wouldn't be useful because we can not run the `misc-sync-templates.yml` action from other branch than `master` (due to branch protection rules), so we need to expose this input to be controllable from `master`. --------- Signed-off-by:
Iulian Barbu <iulian.barbu@parity.io>
-
Jeeyong Um authored
# Description This PR removes usage of deprecated `sp-std` from Substrate. (following PR of #5010) ## Integration This PR doesn't remove re-exported `sp_std` from any crates yet, so downstream projects using re-exported `sp_std` will not be affected. ## Review Notes The existing code using `sp-std` is refactored to use `alloc` and `core` directly. The key-value maps are instantiated from a vector of tuples directly instead of using `sp_std::map!` macro. `sp_std::Writer` is a helper type to use `Vec<u8>` with `core::fmt::Write` trait. This PR copied it into `sp-runtime`, because all crates using `sp_std::Writer` (including `sp-runtime` itself, `frame-support`, etc.) depend on `sp-runtime`. If this PR is merged, I would write following PRs to remove remaining usage of `sp-std` from `bridges` and `cumulus`. --------- Co-authored-by: command-bot <> Co-authored-by:
Guillaume Thiolliere <guillaume.thiolliere@parity.io> Co-authored-by:
Bastian Köcher <info@kchr.de> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
- Jan 06, 2025
-
-
jasmy authored
Co-authored-by:
Dónal Murray <donal.murray@parity.io>
-
Oliver Tale-Yazdi authored
Changes: - Add call `import_member` to the core-fellowship pallet. - Move common logic between `import` and `import_member` into `do_import`. ## `import_member` Can be used to induct an arbitrary collective member and is callable by any signed origin. Pays no fees upon success. This is useful in the case that members did not induct themselves and are idling on their rank. --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by: command-bot <>
-
Sebastian Kunert authored
## Problem In the parachain template we use the [fully verifying import queue ](https://github.com/paritytech/polkadot-sdk/blob/3d9eddbe/cumulus/client/consensus/aura/src/equivocation_import_queue.rs#L224-L224) which does extra equivocation checks. However, when we import a warp synced block with state, we don't set a fork choice, leading to an incomplete block import pipeline and error here: https://github.com/paritytech/polkadot-sdk/blob/3d9eddbe/substrate/client/service/src/client/client.rs#L488-L488 This renders warp sync useless for chains using this import queue. ## Fix The fix is to always import a block with state as best block, as we already do in the normal Aura Verifier. In a follow up we should also take another look into unifying the usage of the different import queues. fixes https://github.com/paritytech/project-mythical/issues/256 --------- Co-authored-by: command-bot <>
-
Alin Dima authored
Fix this zombienet test It was failing because in https://github.com/paritytech/polkadot-sdk/pull/6452 I enabled the v2 receipts for testnet genesis, so the collators started sending v2 receipts with zeroed collator signatures to old validators that were still checking those signatures (which lead to disputes, since new validators considered the candidates valid). The fix is to also use an old image for collators, so that we don't create v2 receipts. We cannot remove this test yet because collators also perform chunk recovery, so until all collators are upgraded, we need to maintain this compatibility with the old protocol version (which is also why systematic recovery was not yet enabled)
-
taozui472 authored
Co-authored-by:
Dónal Murray <donal.murray@parity.io>
-
thiolliere authored
I can't find taplo version in the log, and current version is incompatible with latest version.
-
- Jan 05, 2025
-
-
thiolliere authored
Implement cumulus StorageWeightReclaim as wrapping transaction extension + frame system ReclaimWeight (#6140) (rebasing of https://github.com/paritytech/polkadot-sdk/pull/5234) ## Issues: * Transaction extensions have weights and refund weight. So the reclaiming of unused weight must happen last in the transaction extension pipeline. Currently it is inside `CheckWeight`. * cumulus storage weight reclaim transaction extension misses the proof size of logic happening prior to itself. ## Done: * a new storage `ExtrinsicWeightReclaimed` in frame-system. Any logic which attempts to do some reclaim must use this storage to avoid double reclaim. * a new function `reclaim_weight` in frame-system pallet: info and post info in arguments, read the already reclaimed weight, calculate the new unused weight from info and post info. do the more accurate reclaim if higher. * `CheckWeight` is unchanged and still reclaim the weight in post dispatch * `ReclaimWeight` is a new transaction extension in frame system. For solo chains it must be used last in the transactino extension pipeline. It does the final most accurate reclaim * `StorageWeightReclaim` is moved from cumulus primitives into its own pallet (in order to define benchmark) and is changed into a wrapping transaction extension. It does the recording of proof size and does the reclaim using this recording and the info and post info. So parachains don't need to use `ReclaimWeight`. But also if they use it, there is no bug. ```rust /// The TransactionExtension to the basic transaction logic. pub type TxExtension = cumulus_pallet_weight_reclaim::StorageWeightReclaim< Runtime, ( frame_system::CheckNonZeroSender<Runtime>, frame_system::CheckSpecVersion<Runtime>, frame_system::CheckTxVersion<Runtime>, frame_system::CheckGenesis<Runtime>, frame_system::CheckEra<Runtime>, frame_system::CheckNonce<Runtime>, frame_system::CheckWeight<Runtime>, pallet_transaction_payment::ChargeTransactionPayment<Runtime>, BridgeRejectObsoleteHeadersAndMessages, (bridge_to_rococo_config::OnBridgeHubWestendRefundBridgeHubRococoMessages,), frame_metadata_hash_extension::CheckMetadataHash<Runtime>, ), >; ``` --------- Co-authored-by:
GitHub Action <action@github.com> Co-authored-by:
georgepisaltu <52418509+georgepisaltu@users.noreply.github.com> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Sebastian Kunert <skunert49@gmail.com> Co-authored-by: command-bot <>
-
- Jan 04, 2025
-
-
thiolliere authored
Currently `(A, B, C)` and `((A, B), C)` change the order of implications in the transaction extension pipeline. This order is not accessible in the metadata, because the metadata is just a vector of transaction extension, the nested structure is not visible. This PR make the implementation for tuple of `TransactionExtension` better for tuple of tuple. `(A, B, C)` and `((A, B), C)` don't change the implication for the validation A. This is a breaking change but only when using the trait `TransactionExtension` the code implementing the trait is not breaking (surprising rust behavior but fine). --------- Co-authored-by: command-bot <> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
- Jan 03, 2025
-
-
Qiwei Yang authored
related issue: #7018 replaced duplicated whitelists with `AllPalletsWithSystem::whitelisted_storage_keys();` in this PR --------- Co-authored-by:
Guillaume Thiolliere <gui.thiolliere@gmail.com> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Alexander Samusev authored
cc https://github.com/paritytech/ci_cd/issues/1094
-
Oliver Tale-Yazdi authored
- **[docs] Fix release naming** - **Remove outdated and unmaintained file** Closes https://github.com/paritytech/polkadot-sdk/issues/6998 --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
Utkarsh Bhardwaj authored
# Description Migrate pallet-mixnet to use umbrella crate whilst adding a few types and traits in the frame prelude that are used by other pallets as well. ## Review Notes * This PR migrates `pallet-mixnet` to use the umbrella crate. * Note that some imports like `use sp_application_crypto::RuntimeAppPublic;` and imports from `sp_mixnet::types::` have not been migrated to the umbrella crate as they are not used in any / many other places and are relevant only to the `pallet-mixnet`. * Transaction related helpers to submit transactions from `frame-system` have been added to the main `prelude` as they have usage across various pallets. ```Rust pub use frame_system::offchain::*; ``` * Exporting `arithmetic` module in the main `prelude` since this is used a lot throughout various pallets. * Nightly formatting has been applied using `cargo fmt` * Benchmarking dependencies have been removed from`palet-mixnet` as there is no benchmarking.rs present for `pallet-mixnet`. For the same reason, `"pallet-mixnet?/runtime-benchmarks"` has been removed from `umbrella/Cargo.toml`. --------- Co-authored-by:
Dónal Murray <donalm@seadanda.dev>
-
- Jan 02, 2025
-
-
Xavier Lau authored
Changes: - Automatically detect if current env is tty. If not disable the spinner logging. - Add `Result` type. - Format log style. Originally reported from: - https://github.com/hack-ink/polkadot-runtime-releaser/blob/4811d2b419649a73edd5bd1f748a858b846eb139/action/try-runtime/action.yml#L75-L91 - https://github.com/hack-ink/polkadot-runtime-releaser-workshop/pull/3#issuecomment-2563883943 Closes #7010. --- Polkadot address: 156HGo9setPcU2qhFMVWLkcmtCEGySLwNqa3DaEiYSWtte4Y --------- Signed-off-by:
Xavier Lau <x@acg.box> Co-authored-by: command-bot <> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-