Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LAst resort - dind - vm #59

Draft
wants to merge 59 commits into
base: master
Choose a base branch
from
Draft

LAst resort - dind - vm #59

wants to merge 59 commits into from

Conversation

mordamax
Copy link

No description provided.

mordamax and others added 30 commits October 20, 2024 23:03
…=westend --target_dir=polkadot --pallet=pallet_balances
…=westend --target_dir=polkadot --pallet=pallet_balances --machine=y
Co-authored-by: GitHub Action <[email protected]>
Co-authored-by: Cyrill Leutwiler <[email protected]>
)

I noticed that hardware benchmarks are being run even though we pass the
--no-hardware-benchmarks cli flag. After some debugging, the cause is an
incorrect usage of the `then_some` method.

From [std
docs](https://doc.rust-lang.org/std/primitive.bool.html#method.then_some):

> Arguments passed to then_some are eagerly evaluated; if you are
passing the result of a function call, it is recommended to use
[then](https://doc.rust-lang.org/std/primitive.bool.html#method.then),
which is lazily evaluated.

```rust
let mut a = 0;
let mut function_with_side_effects = || { a += 1; };

true.then_some(function_with_side_effects());
false.then_some(function_with_side_effects());

// `a` is incremented twice because the value passed to `then_some` is
// evaluated eagerly.
assert_eq!(a, 2);
```

This PR fixes all the similar usages of the `then_some` method across
the codebase.

polkadot address: 138eUqXvUYT3o4GdbnWQfGRzM8yDWh5Q2eFrFULL7RAXzdWD

---------

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Shawn Tabrizi <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
…paritytech#6080)

A follow-up to paritytech#5599.
Assets in a pool with the native one are returned from
`query_acceptable_payment_assets`. Now those assets can be used in
`query_weight_to_asset_fee` to get the correct amount that needs to be
paid.

---------

Co-authored-by: command-bot <>
Add pallet-revive to Westend runtime, and configure the runtime to
accept Ethereum signed transaction
ShoyuVanilla and others added 18 commits October 29, 2024 17:23
Fixes paritytech#5576

This allows contracts to be used with an AccountId32 through normal
extrinsics and not only through the eth compat layer. It works by adding
a new extrinsic `map_account` that lets people register their
AccountId32.

---------

Co-authored-by: command-bot <>
Co-authored-by: GitHub Action <[email protected]>
Co-authored-by: Cyrill Leutwiler <[email protected]>
Relates to: paritytech#4826
Relates to: paritytech#3214

## Description

`pallet-xcm` stores some operational data that uses `Versioned*` XCM
types. When we add a new XCM version (XV), we deprecate XV-2 and remove
XV-3. Without proper migration, this can lead to issues with
[undecodable
storage](https://github.com/paritytech/polkadot-sdk/actions/runs/11381324568/job/31662577532?pr=6092),
as was identified on the XCMv5 branch where XCMv2 was removed.

This PR extends the existing `MigrateToLatestXcmVersion` to include
migration for the `Queries`, `LockedFungibles`, and
`RemoteLockedFungibles` storage types. Additionally, more checks were
added to `try_state` for these types.

## TODO
- [x] create tracking issue for `polkadot-fellows`
polkadot-fellows/runtimes#492
- [x] Add missing `MigrateToLatestXcmVersion` for westend
- [x] fix pallet-xcm `Queries`
- fails for Westend
https://github.com/paritytech/polkadot-sdk/actions/runs/11381324568/job/31662577532?pr=6092
- `V2` was removed from `Versioned*` stuff, but we have a live data with
V2 e.g. Queries - e.g. Kusama or Polkadot relay chains
```
VersionNotifier: {
        origin: {
          V2: {
            parents: 0
            interior: {
              X1: {
                Parachain: 2,124
              }
            }
          }
        }
        isActive: true
      } 
```

![image](https://github.com/user-attachments/assets/f59f761b-46a7-4def-8aea-45c4e41c0a00)
- [x] fix also for `RemoteLockedFungibles` 
- [x] fix also for `LockedFungibles`

## Follow-ups

- [ ] deploy on Westend chains before XCMv5
- [ ] paritytech#6188

---------

Co-authored-by: command-bot <>
Co-authored-by: GitHub Action <[email protected]>
Co-authored-by: Francisco Aguirre <[email protected]>
`ForeignCreatorsSovereignAccountOf` is used by `ForeignCreators` filter
to convert location to `AccountId`, _after_ `ForeignCreators::IsForeign`
filter passes for an (asset, location) pair.

The `IsForeign` filter is the actual differentiator, so if a location
passes it, we should support converting it to an `AccountId`.

As such, this commit replaces `ForeignCreatorsSovereignAccountOf`
converter with the more general `LocationToAccountId` converter.

Signed-off-by: Adrian Catangiu <[email protected]>
on top of paritytech#5423

This PR implements the plumbing work required for
paritytech#5047 . I also added
additional helper methods gated by feature "test" in primitives.

TODO:
- [x] PRDoc

---------

Signed-off-by: Andrei Sandu <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
In the test log I noticed that the batch transaction which configures
the coretime chain fails. However when rerunning the transaction
manually - it worked. Then I noticed that the coretime chain is
initially registered via zombienet and then re-registered via
`0004-configure-relay.js`. Because of this there is a period of time
when it's not producing blocks and `0004-configure-broker.js` fails to
setup the coretime chain. My theory is that the transaction has failed
because the coretime chain is stalled during the re-registration.

Fixes paritytech#6226
Resolves paritytech#6200

Also sets the feature on the rococo-parachain. Will be useful for
zombienet testing
Resolves paritytech#5970

Removes the code of the legacy parachains assigner, which was used prior
to coretime. Now that all networks are upgraded to use the coretime
assigner, we can remove it.
Redo of paritytech#5953

---------

Co-authored-by: Alexander Theißen <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
Update typeinfo impl to make it transparent for subxt

see paritytech/subxt#1845

---------

Co-authored-by: GitHub Action <[email protected]>
This will reduce the call stack depth in order to raise the allowed code
size. Should allow around 100KB of instructions. This is necessary to
stay within the memory envelope. More code size is more appropriate for
testing right now. We will re-evaluate parameters once we have 64bit
support.

---------

Co-authored-by: GitHub Action <[email protected]>
Implement a syscall to retreive the transaction origin.

---------

Signed-off-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: xermicus <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Alexander Theißen <[email protected]>
…itytech#5995)

A step towards paritytech#4782

In order to nail down the right preludes in `polkadot-sdk-frame`, we
need to migrate a number of pallets to be written with it. Moreover,
migrating our pallets to this simpler patter will encourage the
ecosystem to also follow along.

If this PR is approved and has no unwanted negative consequences, I will
make a tracking issue to migrate all pallets to this umbrella crate.

TODO: 

- [x] fix frame benchmarking template. Can we detect the umbrella crate
in there and have an `if else`? cc @ggwpez
- [x] Migrate benchmarking to v2 @re-gius a good candidate for you, you
can open a PR against my branch.
- [x] tracking issue with follow-ups

---------

Co-authored-by: Guillaume Thiolliere <[email protected]>
Co-authored-by: Giuseppe Re <[email protected]>
Co-authored-by: Dónal Murray <[email protected]>
Co-authored-by: Shawn Tabrizi <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
This PR refactors `pallet-identity` to decouple usernames from
identities.

Main changes in this PR:
- Separate usernames from identities in storage, allowing for correct
deposit accounting
- Introduce the option for username authorities to put up a deposit to
issue a username
- Allow authorities to remove usernames by declaring the intent to do
so, then removing the username after the grace period expires
- Refactor the authority storage to be keyed by suffix rather than owner
account.
- Introduce the concept of a system provider for a username, different
from a governance allocation, allowing for usernames set by the system
and not a specific authority
- Implement multi-block migration to enable all of the changes described
above

---------

Signed-off-by: georgepisaltu <[email protected]>
Co-authored-by: Ankan <[email protected]>
)

This removes the need to use a custom toolchain to build the contract
test fixtures. Instead, we supply a custom target and use the currently
in use upstream toolchain.

---------

Co-authored-by: Jan Bujak <[email protected]>
Co-authored-by: Cyrill Leutwiler <[email protected]>
Co-authored-by: command-bot <>
@mordamax
Copy link
Author

/cmd bench --runtime westend --pallet pallet_balances

Copy link

Command "bench --runtime westend --pallet pallet_balances" has started 🚀 See logs here

Copy link

Command "bench --runtime westend --pallet pallet_balances" has finished ✅ See logs here

@alvicsam
Copy link

/cmd bench --runtime westend --pallet pallet_balances

Copy link

Command "bench --runtime westend --pallet pallet_balances" has started 🚀 See logs here

@alvicsam
Copy link

It hangs for some reasons:

github-+  123797  0.0  0.9 673072 323936 pts/1   Sl+  10:34   0:06  |                       \_ /home/github-runner/.rustup/toolchains/nightly-2024-09-11-x86_64-unknown-linux-gnu/bin/cargo install --path substrate/utils/frame/omni-bencher --locked
github-+  124054 99.9  0.9 676008 322672 pts/1   Sl+  10:34 132:28  |                           \_ /home/github-runner/.rustup/toolchains/nightly-2024-09-11-x86_64-unknown-linux-gnu/bin/rustc --crate-name nalgebra --edition=2018 /home/github-runner/.cargo
/registry/src/index.crates.io-6f17d22bba15001f/nalgebra-0.32.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg feature="defaul
t" --cfg feature="macros" --cfg feature="matrixmultiply" --cfg feature="nalgebra-macros" --cfg feature="std" --check-cfg cfg(docsrs) --check-cfg cfg(feature, values("alga", "alloc", "arbitrary", "bytemuck", "compare", "convert-bytemuck", "convert-glam014"
, "convert-glam015", "convert-glam016", "convert-glam017", "convert-glam018", "convert-glam019", "convert-glam020", "convert-glam021", "convert-glam022", "convert-glam023", "convert-glam024", "convert-mint", "cuda", "cust_core", "debug", "default", "glam0
14", "glam015", "glam016", "glam017", "glam018", "glam019", "glam020", "glam021", "glam022", "glam023", "glam024", "io", "libm", "libm-force", "macros", "matrixcompare-core", "matrixmultiply", "mint", "nalgebra-macros", "pest", "pest_derive", "proptest",
"proptest-support", "quickcheck", "rand", "rand-no-std", "rand-package", "rand_distr", "rayon", "rkyv", "rkyv-safe-deser", "rkyv-serialize", "rkyv-serialize-no-std", "serde", "serde-serialize", "serde-serialize-no-std", "slow-tests", "sparse", "std")) -C
metadata=c9fdbe1c3afd5af7 -C extra-filename=-c9fdbe1c3afd5af7 --out-dir /home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-sdk/target/release/deps -C strip=debuginfo -L dependency=/home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-
sdk/target/release/deps --extern approx=/home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-sdk/target/release/deps/libapprox-d1498cd7207048a0.rmeta --extern matrixmultiply=/home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-sdk/targ
et/release/deps/libmatrixmultiply-8daea2bfc5b9ed9f.rmeta --extern nalgebra_macros=/home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-sdk/target/release/deps/libnalgebra_macros-64c9e95f8ba01e06.so --extern num_complex=/home/github-runner/action
s-runner/_work/polkadot-sdk/polkadot-sdk/target/release/deps/libnum_complex-cf8fd5833fe71dde.rmeta --extern num_rational=/home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-sdk/target/release/deps/libnum_rational-f05daf77620af193.rmeta --extern
 num_traits=/home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-sdk/target/release/deps/libnum_traits-adc9ec84c0a343a6.rmeta --extern simba=/home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-sdk/target/release/deps/libsimba-34f7aac4
d33c3d06.rmeta --extern typenum=/home/github-runner/actions-runner/_work/polkadot-sdk/polkadot-sdk/target/release/deps/libtypenum-ab6c4fd09004968c.rmeta --cap-lints allow

Copy link

Command "bench --runtime westend --pallet pallet_balances" has finished ✅ See logs here

@alvicsam
Copy link

alvicsam commented Nov 5, 2024

/cmd bench --runtime westend --pallet pallet_balances

Copy link

github-actions bot commented Nov 5, 2024

Command "bench --runtime westend --pallet pallet_balances" has started 🚀 See logs here

Copy link

github-actions bot commented Nov 5, 2024

Command "bench --runtime westend --pallet pallet_balances" has finished ✅ See logs here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.