- Sep 18, 2024
-
-
Javier Viola authored
Fix tests: - minimal_template_block_production_test - parachain_template_block_production_test
-
Kazunobu Ndong authored
## Issue https://github.com/paritytech/polkadot-sdk/issues/4858 ## Description This PR removes `libp2p::request_response::OutboundFailure` from `substrate/client/network/sync/src/engine.rs`. This way, the dependency with the library `libp2p` is removed from `sc-network-sync`. --------- Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by: command-bot <> Co-authored-by:
Dmitry Markin <dmitry@markin.tech> Co-authored-by:
Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
-
Alexander Samusev authored
PR removes cargo check job that runs on osx runner from gitlab and moves `cargo-check-each-crate-macos` job to be required cc https://github.com/paritytech/ci_cd/issues/1037
-
Cyrill Leutwiler authored
Instead of error out if the provided output buffer is smaller than what we want to write, we can just write what fits into the output buffer instead. We already write back the actual bytes written to the in-out pointer, so contracts can check it anyways. This in turn introduces the benefit of allowing contracts to implicitly request only a portion of the returned data from calls and incantations. Which is especially beneficial for YUL as the `call` family opcodes have a return data size argument and this change removes the need to work around it in contract code. --------- Signed-off-by:
xermicus <cyrill@parity.io>
-
Javier Viola authored
Related to #4882 cc: @s0me0ne-unkn0wn ```sh RUST_LOG=info,zombie=debug cargo test -p polkadot-zombienet-sdk-tests smoke::coretime_revenue::coretime_revenue_test --features zombie-metadata -- --exact ``` --- _Update_: This pr is now ready for review. `warp-sync` failing test are not related. --------- Co-authored-by:
Dmitry Sinyavin <dmitry.sinyavin@parity.io> Co-authored-by:
s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
-
gupnik authored
As raised by @Kianenigma in https://github.com/sam0x17/macro_magic/issues/15, this PR adds the support for generics while using `derive_impl`. This can then be used in conjunction with `FliteFrameSystem` being defined [here](https://github.com/kianenigma/flite) as ```diff +#[derive_impl(FliteFrameSystem<Configuration>)] impl frame_system::Config for Runtime { type Block = Block; // .. Rest can be removed } ``` --------- Co-authored-by:
Kian Paimani <5588131+kianenigma@users.noreply.github.com>
-
- Sep 17, 2024
-
-
Bastian Köcher authored
When `SpendOrigin` doesn't return any `succesful_origin`, it doesn't mean that `RejectOrigin` will do the same. Thus, this pr fixes a potential wrong benchmarked weight for when `SpendOrigin` is set to e.g. `NeverOrigin`.
-
Nazar Mokrynskyi authored
# Description Follow-up to https://github.com/paritytech/polkadot-sdk/pull/5469 and mostly covering https://github.com/paritytech/polkadot-sdk/issues/5333. The primary change here is that syncing strategy is no longer created inside of syncing engine, instead syncing strategy is an argument of syncing engine, more specifically it is an argument to `build_network` that most downstream users will use. This also extracts addition of request-response protocols outside of network construction, making sure they are physically not present when they don't need to be (imagine syncing strategy that uses none of Substrate's protocols in its implementation for example). This technically allows to completely replace syncing strategy with whatever strategy chain might need. There will be at least one follow-up PR that will simplify `SyncingStrategy` trait and other public interfaces to remove mentions of block/state/warp sync requests, replacing them with generic APIs, such that strategies where warp sync is not applicable don't have to provide dummy method implementations, etc. ## Integration Downstream projects will have to write a bit of boilerplate calling `build_polkadot_syncing_strategy` function to create previously default syncing strategy. ## Review Notes Please review PR through individual commits rather than the final diff, it will be easier that way. The changes are mostly just moving code around one step at a time. # Checklist * [x] My PR includes a detailed description as outlined in the "Description" and its two subsections above. * [x] My PR follows the [labeling requirements]( https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process ) of this project (at minimum one label for `T` required) * External contributors: ask maintainers to put the right label on your PR. * [x] I have made corresponding changes to the documentation (if applicable)
-
- Sep 16, 2024
-
-
Javier Viola authored
Add new `CI` machinery to smoke test the `parachain-template-node` using zombienet-sdk. Thx! --------- Co-authored-by:
Przemek Rzad <przemek@parity.io> Co-authored-by:
Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by:
rzadp <roopert7@gmail.com> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Kian Paimani <5588131+kianenigma@users.noreply.github.com>
-
Przemek Rzad authored
- This will ensure that a correct product name (Polkadot/Cumulus/Substrate) is referenced in license headers. - Closes https://github.com/paritytech/license-scanner/issues/49
-
Eugen Snitko authored
Preflight reusable workflow - aggregated workflow to perform all preliminary jobs It currently includes: - check changed files - `set-image` (and runner) job - useful variables
-
ordian authored
the range should always contain at least 2 values for the benchmark to work closes #5680
-
Muharem Ismailov authored
Setup auto incremented asset id to `50_000_000` for trust backed assets. In order to align with Polkadot/Kusama Asset Hub - https://github.com/polkadot-fellows/runtimes/pull/414 The next closes existing assets IDs in Rococo is `69_696_969`, in Westend is `88_228_866`. ### Migration **Stakeholders**: all clients providing asset creation functionality on Westend/Rococo Asset Hub This change does not break the API but introduces a new constraint. It implements an auto-incremented ID strategy for Trust-Backed Assets (50 pallet instance indexes on both networks), starting at ID 50,000,000. Each new asset must be created with an ID that is one greater than the last asset created. The next ID can be fetched from the `NextAssetId` storage item of the assets pallet. An empty `NextAssetId` storage item indicates no constraint on the next asset ID and can serve as a feature flag for this release.
-
Bastian Köcher authored
Introduces a trait for verifying existence proofs in the runtime. The trait is implemented for the 16 patricia merkle tree and the binary tree. --------- Co-authored-by:
Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by: command-bot <>
-
- Sep 13, 2024
-
-
Benjamin Gallois authored
### Issue It was impossible to benchmark the pallet_treasury when `SpendOrigin = frame_support::traits::NeverEnsureOrigin<u64>;` was specified. ### Done - [x] Use `weight = 0` for all extrinsics that are un-callable with no `SpendOrigin`. - [x] Fix benchmarks for extrinsics requiring a Spend even if `SpendOrigin = frame_support::traits::NeverEnsureOrigin<u64>;` --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Bastian Köcher <info@kchr.de> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
Oliver Tale-Yazdi authored
Apparently changing the GH Token made it lose permission... error from here: https://github.com/paritytech/polkadot-sdk/actions/runs/10815755374/job/30005387859 From this list it looks like comment creation should be allowed by adding issues to the list: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token
-
Ron authored
# Description Adding support for send polkadot native assets(PNA) to Ethereum network through snowbridge. Asset with location in view of AH Including: - Relay token `(1,Here)` - Native asset `(0,[PalletInstance(instance),GenereIndex(index)])` managed by Assets Pallet - Native asset of Parachain `(1,[Parachain(paraId)])` managed by Foreign Assets Pallet The original PR in https://github.com/Snowfork/polkadot-sdk/pull/128 which has been internally reviewed by Snowbridge team. # Notes - This feature depends on the companion solidity change in https://github.com/Snowfork/snowbridge/pull/1155. Currently register PNA is only allowed from [sudo](https://github.com/Snowfork/polkadot-sdk/blob/46cb3528 /bridges/snowbridge/pallets/system/src/lib.rs#L621), so it's actually not enabled. Will require another runtime upgrade to make the call permissionless together with upgrading the Gateway contract. - To make things easy multi-hop transfer(i.e. sending PNA from Ethereum through AH to Destination chain) is not support ed in this PR. For this case user can switch to 2-phases transfer instead. --------- Co-authored-by:
Clara van Staden <claravanstaden64@gmail.com> Co-authored-by:
Alistair Singh <alistair.singh7@gmail.com> Co-authored-by:
Vincent Geddes <117534+vgeddes@users.noreply.github.com> Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com> Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
Oliver Tale-Yazdi authored
Discovered a bug in the migrations pallet while debugging https://github.com/paritytech/try-runtime-cli/pull/90. It only occurs when a single MBM is configured - hence it did not happen when Ajuna Network tried it... Changes: - Check len of the tuple before accessing its nth_id - Make nth_id return `None` on unary tuples and n>0 --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
ggwpez <ggwpez@users.noreply.github.com>
-
Cyrill Leutwiler authored
The salt argument should be optional to allow create1 equivalent calls. --------- Signed-off-by:
xermicus <cyrill@parity.io>
-
Alexander Samusev authored
PR adds `cargo-check-each-crate-macos` job in GitHub actions. It'll work some time in both CI systems until it's moved entirely to GHA. cc https://github.com/paritytech/ci_cd/issues/1021
-
Alexander Theißen authored
This was necessary when we needed to compact encode a `Option<T::Balance>` which is no longer necessary. The storage deposit limit is now non optional. This is just a left over. Also got rid of the `T::Hash: IsType<H256>`. We use `keccak256` instead of the generic hash function everywhere now.
-
Cyrill Leutwiler authored
This adds an API method `balance_of`, corresponding to the [BALANCE](https://www.evm.codes/#31?fork=cancun) EVM opcode. In `Ext`, `balance` and `balance_of` are internally routed through the same new `account_balance` method: `balance` is technically the same as `balance_of` with the caller address. This avoids duplicating all the tests and avoids a small inefficiency (in theory, `balance` directly call `balance_of` however this introduces a round trip of converting the target address to a H160 and back). --------- Signed-off-by:
Cyrill Leutwiler <bigcyrill@hotmail.com> Signed-off-by:
xermicus <cyrill@parity.io> Co-authored-by: command-bot <>
-
- Sep 12, 2024
-
-
PG Herveou authored
fix https://github.com/paritytech/polkadot-sdk/issues/5683
-
Dónal Murray authored
Add emulated test cases for the coretime chain. This tests the calls sent across the `CoretimeInterface` and ensures the weights are sufficient.
-
Dónal Murray authored
Proxies are possible in the runtimes for Kusama and Polkadot but this functionality was not previously available on testnets. Closes #5453. Proxies can now be used on `coretime-rococo`, `coretime-westend`, `people-rococo` and `people-westend` in the same way as they can be on Kusama and Polkadot chains. The exact same proxies are configured as the production runtimes for the respective system parachains.
-
Maksym H authored
Fixes: https://github.com/paritytech/ci_cd/issues/1034
-
Alexandru Gheorghe authored
This is part of the work to further optimize the approval subsystems, if you want to understand the full context start with reading https://github.com/paritytech/polkadot-sdk/pull/4849#issue-2364261568, # Description This PR contain changes to make possible the run of single approval-voting instance on a worker thread, so that it can be instantiated by the approval-voting-parallel subsystem. This does not contain any functional changes it just decouples the subsystem from the subsystem Context and introduces more specific trait dependencies for each function instead of all of them requiring a context. This change can be merged independent of the followup PRs. --------- Signed-off-by:
Alexandru Gheorghe <alexandru.gheorghe@parity.io> Co-authored-by:
Andrei Sandu <54316454+sandreim@users.noreply.github.com>
-
- Sep 11, 2024
-
-
Pavlo Khrystenko authored
### Description: * Adds `DeprecationStatusIR` enum to sp_metadata_ir. Deprecation info for simple items. * Adds `DeprecationInfoIR` enum to sp_metadata_ir. It is a deprecation info for an enums/errors/calls. Contains `DeprecationStatusIR`. Denotes full/partial deprecation of the type or its variants/calls * Adds `deprecation_info` field to - `RuntimeApiMetadataIR` - `RuntimeApiMethodMetadataIR` - `StorageEntryMetadataIR` - `PalletConstantMetadataIR` - `PalletCallMetadataIR` - `PalletMetadataIR` - `PalletEventMetadataIR` - `PalletErrorMetadataIR` ### Testing done: - Unit tests to check whether or not correct `note`/`since` texts are getting propagated to the metadata structs. - UI test to check for error message in case of incorrect attribute usage. There's also some test updates to make sure that deprecation attributes are getting propagated to the relevant structs. see: #4098, Solution: A ### Examples of produced deprecation info metadata They can be found in: - Tests for `frame-support` - hackmd link https://hackmd.io/@Zett98/Bys0YgbcR --------- Co-authored-by:
GitHub Action <action@github.com> Co-authored-by: command-bot <> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Ankan authored
Trivial and self explanatory changes. Wrapping err such as these makes debugging harder as well as does not really give any meaningful reason why this happened. The increment of consumer can genuinely fail if there are no providers (account does not exist) or it reaches max consumers. In both cases, its better to propagate the actual System err.
-
Niklas Adolfsson authored
Close #5677 I made a nit when I moved this code: https://github.com/paritytech/polkadot-sdk/blob/v1.14.0-rc1/substrate/client/service/src/lib.rs#L379-#L385 in https://github.com/paritytech/polkadot-sdk/pull/4792 Thus: - (ip.is_loopback(), RpcMethods::Auto) -> allow unsafe - (!ip.is_loopback(), RpcMethods::Auto) -> deny unsafe --------- Co-authored-by:
ggwpez <ggwpez@users.noreply.github.com>
-
Oliver Tale-Yazdi authored
Install with `--locked` to try to fix the CI. Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
PG Herveou authored
-
Maksym H authored
return the repo/ref as .sha creates detached branch and doesn't let to push back the changes
-
Alexander Theißen authored
Fixes #5577 I decided to bubble up the error from where we actually try to load the contract info. This helps to make sure that we don't miss some entry point by accident. The draw back is that we have to live with some additional `.expect`. @pgherveou With this logic the proxy and its runtime part should be completely unaware whether something is a contract call or a balance transfer. They should just route everything into pallet_revive. --------- Co-authored-by:
Cyrill Leutwiler <cyrill@parity.io>
-
- Sep 10, 2024
-
-
Maksym H authored
Fixes https://github.com/paritytech/polkadot-sdk/issues/5647 - [x] create new command (reusing original py module) - [x] add unit-test cases (just the fact of proxy) - [x] update docs
-
Alexandru Vasile authored
This release introduces several new features, improvements, and fixes to the litep2p library. Key updates include enhanced error handling, configurable connection limits, and a new API for managing public addresses. For a detailed set of changes, see [litep2p changelog](https://github.com/paritytech/litep2p/blob/master/CHANGELOG.md#070---2024-09-05). This PR makes use of: - connection limits to optimize network throughput - better errors that are propagated to substrate metrics - public addresses API to report healthy addresses to the Identify protocol ### Warp sync time improvement Measuring warp sync time is a bit inaccurate since the network is not deterministic and we might end up using faster peers (peers with more resources to handle our requests). However, I did not see warp sync times of 16 minutes, instead, they are roughly stabilized between 8 and 10 minutes. For measuring warp-sync time, I've used [sub-trige-logs](https://github.com/lexnv/sub-triage-logs/?tab=readme-ov-file#warp-time) ### Litep2p Phase | Time -|- Warp | 426.999999919s State | 99.000000555s Total | 526.000000474s ### Libp2p Phase | Time -|- Warp | 731.999999837s State | 71.000000882s Total | 803.000000719s Closes: https://github.com/paritytech/polkadot-sdk/issues/4986 ### Low peer count After exposing the `litep2p::public_addresses` interface, we can report to litep2p confirmed external addresses. This should mitigate or at least improve: https://github.com/paritytech/polkadot-sdk/issues/4925. Will keep the issue around to confirm this. ### Improved metrics We are one step closer to exposing similar metrics as libp2p: https://github.com/paritytech/polkadot-sdk/issues/4681. cc @paritytech/networking ### Next Steps - [x] Use public address interface to confirm addresses to identify protocol --------- Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io>
-
Liu-Cheng Xu authored
This PR is a pure refactoring by consolidating all the RPC related parameters into a dedicated `RpcParams` struct, allowing us at subcoin to build a custom run cmd without the need to duplicate code. --------- Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com>
-
Nazar Mokrynskyi authored
This is a step towards https://github.com/paritytech/polkadot-sdk/issues/5333 The commits with code moving (but no other changes) and actual changes are separated for easier review. Essentially this results in `SyncingStrategy` trait replacing struct (which is renamed to `PolkadotSyncingStrategy`, open for better name suggestions). Technically it is already possible to replace `PolkadotSyncingStrategy<B, Client>` with `Box<dyn SyncingStrategy<B>` in syncing engine, but I decided to postpone such change until we actually have an ability to customize it. It should also be possible to swap `PolkadotSyncingStrategy` with just `ChainSync` that only supports regular full sync from genesis (it also implements `SyncingStrategy` trait). While extracted trait still has a lot of non-generic stuff in it like exposed knowledge of warp sync and `StrategyKey` with hardcoded set of options, I believe this is a step in the right direction and will address those in upcoming PRs. With https://github.com/paritytech/polkadot-sdk/pull/5431 that landed earlier warp sync configuration is more straightforward, but there are still numerous things interleaved that will take some time to abstract away nicely and expose in network config for developers. For now this is an internal change even though data structures are technically public and require major version bump.
-
Oliver Tale-Yazdi authored
The backport bot does currently not trigger the CI when opening a MR, like here: https://github.com/paritytech/polkadot-sdk/pull/5651 Devs need to push an empty commit manually. Now using a token that will also trigger the CI. --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
Alexander Samusev authored
Changes in PR: - enables `Check Cargo Check Runtimes` (it was accidentally disabled) - reorder jobs in test-misc to make it faster - add `quick-benchmarks-omni` to `check-frame-omni-bencher` (the workflow is currently disabled)
-