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

feat: Update client to Polkadot v1.7.2 #1844

Merged
merged 16 commits into from
May 30, 2024

Conversation

wischli
Copy link
Contributor

@wischli wischli commented May 24, 2024

Description

  • Updates client to Polkadot v1.7.2
  • Fixes open issues from v1.1.0 upgrade
  • BREAKING: Replaces deprecated export-genesis-state with export-genesis-head
  • Unifies start_node for all runtimes
  • Switches ephemeral genesis chain spec generation to new serde_json approach
    • Enforces and enables us to drop all Default::default code paths in the genesis spec
  • Feature creep: Updates external dependencies to latest supported state in Polkadot v1.7.2

Tested

  • Create chain spec
  • Build blocks with local parachain client

Checklist:

  • I have added Rust doc comments to structs, enums, traits and functions
  • I have made corresponding changes to the documentation
  • I have performed a self-review of my code
  • I have added tests that prove my fix is effective or that my feature works

@wischli
Copy link
Contributor Author

wischli commented May 24, 2024

@lemunozm This compiles for all runtimes and builds blocks locally! Keeping the PR in draft mode until I have gone through it myself again and made some justifications about the changes. Sorry about the huge Cargo.lock diff, I upgraded all external dependencies to the versions supported in Polkadot v1.7.2.

@lemunozm
Copy link
Contributor

lemunozm commented May 24, 2024

Wow! I think you were working on fixing only the deprecated code over 1.1.0, it's awesome you already have this migrated to 1.7.2. Amazing stuff!

The cargo lock lines added are just the ones I had removed in the base branch 😆, so everything is ok 👍🏻

Copy link
Contributor

@lemunozm lemunozm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a super fast review of the first files, I like a lot, thanks for your help on this! ❤️

node/src/chain_spec.rs Outdated Show resolved Hide resolved
node/src/chain_spec.rs Show resolved Hide resolved
Comment on lines +354 to +357
ChainIdentity::Altair => crate::service::start_node::<
altair_runtime::RuntimeApi,
AltairRuntimeExecutor,
>(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've seen this and I wanted to cry. It's amazing!!!

@lemunozm
Copy link
Contributor

Ping me when it's fully ready to be reviewed and I make a deep review. Thanks again for your help with the node 🥇

Comment on lines +59 to +64
smallvec = "1.11.0"
serde = { version = "1.0.195", default-features = false, features = ["derive"] }
serde_json = { version = "1.0.111" }
parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
log = { version = "0.4.20", default-features = false }
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: As mentioned in the PR description, I have bumped all of these to the versions used in Polkadot SDK v1.7.2

@@ -4,7 +4,7 @@ version: '3.4'
services:
node_alice:
container_name: alice
image: "parity/polkadot:v1.0.0"
image: "parity/polkadot:v1.7.2"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: Tested and works.

Comment on lines +183 to -218
pub fn demo_config() -> DevelopmentChainSpec {
DevelopmentChainSpec::from_json_bytes(&include_bytes!("../res/demo-spec-raw.json")[..]).unwrap()
}

pub fn demo(para_id: ParaId) -> DevelopmentChainSpec {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: Demo was initially started with a dynamic spec which should only be used for ephemeral networks because any change to the genesis config (i.e. from dep updates or change of storage) leads to a different genesis hash. I fixed this in #1593 but did not anchor the demo CLI to the raw spec which is fixed here.

@@ -1,202 +0,0 @@
use std::{fmt::Debug, sync::Arc};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: Removed because pools and rewards RPC should be consumed via Runtime API. I wasn't sure about anchors but suppose that is still required for the pod v1 right @cdamian ?

Comment on lines -213 to -214
.merge(Anchors::new(client.clone()).into_rpc())
.map_err(|e| sc_service::Error::Application(e.into()))?;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: Moved to create_full

@@ -207,15 +199,10 @@ pub async fn start_altair_node(
let dynamic_fee = fp_dynamic_fee::InherentDataProvider(U256::from(target_gas_price));
Ok((slot, timestamp, dynamic_fee))
};
let pending_consensus_data_provider = Some(Box::new(AuraConsensusDataProvider::new(client.clone())) as Box<dyn ConsensusDataProvider<_>>);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: Moonbeam uses their custom Nimbus parachain consensus. We are using the default Parachain Aura one.

Comment on lines +343 to +360
let params = BasicAuraParams {
create_inherent_data_providers: move |_, ()| async move { Ok(()) },
block_import,
para_client: client,
relay_client: relay_chain_interface,
sync_oracle,
keystore,
collator_key,
para_id,
overseer_handle,
slot_duration,
relay_chain_slot_duration,
proposer,
collator_service,
// Very limited proposal time.
authoring_duration: Duration::from_millis(500),
collation_request_receiver: None,
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The entire scope of this function including these parameters is taken from the parachain template in the Polkadot SDK: https://github.com/paritytech/polkadot-sdk/blob/0d7ca59fd4b4d15f9400971f32bc6a51b2fe837f/cumulus/parachain-template/node/src/service.rs#L400

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the reference!

@@ -2694,6 +2696,16 @@ impl_runtime_apis! {
Ok(batches)
}
}

impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: Required for the new genesis builder API

@wischli wischli marked this pull request as ready for review May 27, 2024 09:15
@wischli
Copy link
Contributor Author

wischli commented May 27, 2024

The cargo lock lines added are just the ones I had removed in the base branch 😆, so everything is ok 👍🏻

I rebased and now there's "only" 2k new lines in the lock file 🫠

@wischli wischli self-assigned this May 27, 2024
@wischli wischli requested a review from lemunozm May 27, 2024 09:45
@lemunozm
Copy link
Contributor

I rebased and now there's "only" 2k new lines in the lock file 🫠

Yeah, I uncommented integration-tests and all crates regarding this are now again in the repo

Copy link
Contributor

@lemunozm lemunozm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You did an amazing work on this @wischli!

Finally the service is much more legible and manageble

Comment on lines +658 to +666
[[package]]
name = "arrayvec"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
dependencies = [
"nodrop",
]

Copy link
Contributor

@lemunozm lemunozm May 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO (for @lemunozm): I'll check it when everything has been merged because it seems like we're doubling some dependencies.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had some double dependencies after rebasing. I then checked out the Cargo.lock from the brase branch polkadot-v1.7.2 and compiled my code.

Comment on lines +156 to +162
vec![(
get_account_id_from_seed::<sr25519::Public>("Alice"),
get_from_seed::<AuraId>("Alice"),
)],
endowed_accounts(),
endowed_evm_accounts(),
Some(100000000 * CFG),
Copy link
Contributor

@lemunozm lemunozm May 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just thinking out loud, could that be an issue? Is Alice's private key something widely known? If it's it means anybody can transfer her funds?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, Alice's private key is well known. That's the point of it. All these ephemeral configs which use Alice for sensitive permissions are just local chains which have been super useful for testing runtime upgrades pre chopsticks. These days, they are used less but we should still keep them. Without them, you could not run a local Altair or Centrifuge Chain.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But our production centrifuge-chain doesn't have any Alice, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it does not!

Comment on lines 620 to 625
interior: X3([
Parachain(parachains::rococo::rocksmine::ID),
PalletInstance(parachains::rococo::rocksmine::usdt::PALLET_INSTANCE),
GeneralIndex(parachains::rococo::rocksmine::usdt::GENERAL_INDEX),
),
]
.into()),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super super NIT, just for sharing:
The X3 and .into() can also be removed if using Location::new()

#[allow(deprecated)] // TODO fix before v1.3.0
start_full_node(params)?;
)?;
} else {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This else branch is empty, is there something missing or just not removed code?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great catch! Can be removed because it represents a fullnode which doesn't need to to consensus work. Base: https://github.com/paritytech/polkadot-sdk/blob/0d7ca59fd4b4d15f9400971f32bc6a51b2fe837f/cumulus/parachain-template/node/src/service.rs#L304

Comment on lines +514 to +518
da_recovery_profile: if validator {
DARecoveryProfile::Collator
} else {
DARecoveryProfile::FullNode
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nooby question. In what cases are our nodes full nodes? I thought all time they were collators

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A fullnode is a superset of a collator node. The name comes from the fact that they do the full verification of all blocks. Moreover, they also hold storage of previous blocks in the database.

Collators maintain a “full-node” for a particular parachain; meaning they retain all necessary information to be able to author new blocks and execute transactions in much the same way as miners do on current PoW blockchains. Under normal circumstances, they will collate and execute transactions to create an unsealed block and provide it, together with a proof of state transition, to one or more validators responsible for proposing a parachain block.

The only non-collator fullnode I can think of are archive nodes (e.g. wss://fullnode.centrige.io) which users can interact with and serve as source of truth for indexers such as Subscan.

Copy link
Contributor

@lemunozm lemunozm May 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok, thanks for the explanation. I thought the full node somehow was not a collator (which is what I didn't understand), but it is 👍🏻

Comment on lines +52 to +67
pub trait RuntimeApiCollection:
sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block>
+ sp_api::ApiExt<Block>
+ sp_block_builder::BlockBuilder<Block>
+ substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Nonce>
+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
+ sp_api::Metadata<Block>
+ sp_offchain::OffchainWorkerApi<Block>
+ sp_session::SessionKeys<Block>
+ fp_rpc::ConvertTransactionRuntimeApi<Block>
+ fp_rpc::EthereumRuntimeRPCApi<Block>
+ sp_consensus_aura::AuraApi<Block, AuraId>
+ runtime_common::apis::AnchorApi<Block, Hash, BlockNumber>
+ cumulus_primitives_core::CollectCollationInfo<Block>
{
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if it was your idea, but if it was, I love it!

Copy link
Contributor Author

@wischli wischli May 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Credits go to the Moonbeam team! I love it too 🚀

@lemunozm
Copy link
Contributor

@wischli you can hit the squash and merge button whenever you think it's ready

Copy link
Collaborator

@mustermeiszer mustermeiszer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

// NOTE: Not used by our precompiles right now. Therefore, no need to provide impl.
type EstimateGasAdapter = ();
// Assumes the use of HashedMapping<BlakeTwo256> for address mapping
type RuntimeStorageOverride =
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this type doing?

Copy link
Contributor Author

@wischli wischli May 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIU, the eth config serves as an override adapter for eth_call similar to geth. It was added to frontier here.

I have to admit that I am not confident in using the SystemAccountId32StorageOverride (-> impl) type or whether () (i.e. no override) is the way to go. This was inspired by Astar.

WDYT @mustermeiszer?

Using the ethereumRuntimeRPCApi runtime API, I could not notice any difference between using SystemAccountId32StorageOverride and (). However, I did not execute any EVM call.

Copy link

codecov bot commented May 29, 2024

Codecov Report

Attention: Patch coverage is 0% with 184 lines in your changes are missing coverage. Please review.

Please upload report for BASE (polkadot-v1.7.2@99b4abc). Learn more about missing BASE report.

Files Patch % Lines
node/src/chain_spec.rs 0.00% 86 Missing ⚠️
node/src/service.rs 0.00% 40 Missing ⚠️
node/src/service/evm.rs 0.00% 26 Missing ⚠️
node/src/rpc/evm.rs 0.00% 9 Missing ⚠️
node/src/command.rs 0.00% 6 Missing ⚠️
node/src/rpc/mod.rs 0.00% 5 Missing ⚠️
runtime/altair/src/lib.rs 0.00% 4 Missing ⚠️
runtime/centrifuge/src/lib.rs 0.00% 4 Missing ⚠️
runtime/development/src/lib.rs 0.00% 4 Missing ⚠️
Additional details and impacted files
@@                Coverage Diff                 @@
##             polkadot-v1.7.2    #1844   +/-   ##
==================================================
  Coverage                   ?   47.02%           
==================================================
  Files                      ?      165           
  Lines                      ?    12962           
  Branches                   ?        0           
==================================================
  Hits                       ?     6095           
  Misses                     ?     6867           
  Partials                   ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@wischli wischli merged commit bc17d18 into polkadot-v1.7.2 May 30, 2024
4 of 12 checks passed
@wischli wischli added this to the Centrifuge 1029 milestone Jun 6, 2024
lemunozm added a commit that referenced this pull request Jun 7, 2024
* set dependency versions

* upgrade libs/*

* upgrade pallet-anchors

* upgrade pallet-fees

* upgrade pallet-bridge

* migrate simple pallets

* migrate pallet-order-book

* migrated collator-allowlist & swaps

* upgrade rewards

* upgraded pallet-mux

* upgrade transfer-allowlist

* fix hold reason in restricted tokens

* simplify set_balance removing the holding part

* upgrade restricted-xtokens

* upgrade some pallets

* upgrade pallet-ethereum-transaction

* upgrade pallet-loans

* upgrade pool-system

* upgrade pool-fees

* upgrade pool-registry

* upgrade liquidity-pools stuffs

* avoid duplicated polkadot-sdk repos

* minor fixes

* upgraded runtime-common

* CfgLocation to RestrictedTransferLocation

* restricted tokens with NativeIndex for native fungibles

* rename dependency

* upgraded development-runtime

* fix partially benchmarks

* fix benchmarks

* overpass xcmp-queue integrity tests

* minor coments

* upgrade altair & centrifuge

* remove some benchmarking pallets that are not needed

* fix runtime upgrades

* upgrade integration-test proc

* upgrade integration-tests framework

* upgraded all tests except liquidity pools

* 99% upgraded liquidity-pools tests

* fix lookup

* cargo fmt

* taplo fmt

* using nightly cargo in CI

* restore set_balance as it was

* allow nightly support in CI

* use restricted_tokens again to fetch from investement portfolio

* Install rust-src for docs

* fix tests

* remove unused restricted tokens

* fix block rewards

* fix WrongWitness for some tests in IT

* fix liquidity-pools

* minor fixes

* fix clippy

* remove unneeded tests

* feat: Update client to Polkadot v1.7.2 (#1844)

* wip: update client

* chore: update crate versions

* chore: update anchor rpc api

* chore: remove rewards, pools rpc

* chore: compile with development runtime

* fix: client for all runtimes

* fix: build spec

* feat: update relay docker images

* fix: apply deprecation of export genesis state to scripts

* fmt: taplo

* refactor: use xcm v4 sugar

* fix: revert tmp change in local para run

* refactor: simplify xcm v4 locations in chain spec

* cargo fmt

* fix clippy

* feat: Polkadot v1.7.2 migrations (#1849)

* feat: add hold reason migration

* feat: centrifuge migrations

* feat: altair migrations

* feat: dev + demo migrations

* fix: clippy

* fix: build

* fmt: fix using nightly

* last William iteration review

* increase passed blocks

* use rococo instead of polkadot-test-runtime

* fix tests

* remove line

* dirty fix to fix Hrmp test issue

* use default weights for treasury

---------

Co-authored-by: William Freudenberger <[email protected]>
wischli added a commit that referenced this pull request Jun 27, 2024
* set dependency versions

* upgrade libs/*

* upgrade pallet-anchors

* upgrade pallet-fees

* upgrade pallet-bridge

* migrate simple pallets

* migrate pallet-order-book

* migrated collator-allowlist & swaps

* upgrade rewards

* upgraded pallet-mux

* upgrade transfer-allowlist

* fix hold reason in restricted tokens

* simplify set_balance removing the holding part

* upgrade restricted-xtokens

* upgrade some pallets

* upgrade pallet-ethereum-transaction

* upgrade pallet-loans

* upgrade pool-system

* upgrade pool-fees

* upgrade pool-registry

* upgrade liquidity-pools stuffs

* avoid duplicated polkadot-sdk repos

* minor fixes

* upgraded runtime-common

* CfgLocation to RestrictedTransferLocation

* restricted tokens with NativeIndex for native fungibles

* rename dependency

* upgraded development-runtime

* fix partially benchmarks

* fix benchmarks

* overpass xcmp-queue integrity tests

* minor coments

* upgrade altair & centrifuge

* remove some benchmarking pallets that are not needed

* fix runtime upgrades

* upgrade integration-test proc

* upgrade integration-tests framework

* upgraded all tests except liquidity pools

* 99% upgraded liquidity-pools tests

* fix lookup

* cargo fmt

* taplo fmt

* using nightly cargo in CI

* restore set_balance as it was

* allow nightly support in CI

* use restricted_tokens again to fetch from investement portfolio

* Install rust-src for docs

* fix tests

* remove unused restricted tokens

* fix block rewards

* fix WrongWitness for some tests in IT

* fix liquidity-pools

* minor fixes

* fix clippy

* remove unneeded tests

* feat: Update client to Polkadot v1.7.2 (#1844)

* wip: update client

* chore: update crate versions

* chore: update anchor rpc api

* chore: remove rewards, pools rpc

* chore: compile with development runtime

* fix: client for all runtimes

* fix: build spec

* feat: update relay docker images

* fix: apply deprecation of export genesis state to scripts

* fmt: taplo

* refactor: use xcm v4 sugar

* fix: revert tmp change in local para run

* refactor: simplify xcm v4 locations in chain spec

* cargo fmt

* fix clippy

* feat: Polkadot v1.7.2 migrations (#1849)

* feat: add hold reason migration

* feat: centrifuge migrations

* feat: altair migrations

* feat: dev + demo migrations

* fix: clippy

* fix: build

* fmt: fix using nightly

* last William iteration review

* increase passed blocks

* use rococo instead of polkadot-test-runtime

* fix tests

* remove line

* dirty fix to fix Hrmp test issue

* use default weights for treasury

* remove getrandom unused dep

* upgrade to last polkadot-sdk version

* feat: `CheckMetadataHash` extension

* fix it (#1866)

* fmt: taplo

* refactor: signed ext order

* fix: signed ext order for ITs

* IT: more support for router tests (#1885)

* move routers to its own module

* remove outdated markers

* for all runtimes

* remove previous tests

* minor fixes

* v0.11.2 rc

* panic if event is not found in the expected blocks (#1880)

* fix: ci

* remove generic module (#1887)

* revert check metadata hash disable

* fix: disable metadata hash check for integration tests

---------

Co-authored-by: lemunozm <[email protected]>
wischli added a commit that referenced this pull request Jun 28, 2024
* Switch to full wasm execution

* feat: use correct encoded size.

* fix: lint

* refactor: reduce dev session duration from 6h to 2min

* chore: update centrifuge weights

* chore: update dev weights

* chore: update altair weights

* chore: update frame_system weights

* fmt

* fix: re-enable frame_system benches

* chore: bump spec version

* fmt: revert using latest nightly

* v0.11.3-rc1: revert checkmetadata ext

* feat: `CheckMetadataHash` extension (#1865)

* set dependency versions

* upgrade libs/*

* upgrade pallet-anchors

* upgrade pallet-fees

* upgrade pallet-bridge

* migrate simple pallets

* migrate pallet-order-book

* migrated collator-allowlist & swaps

* upgrade rewards

* upgraded pallet-mux

* upgrade transfer-allowlist

* fix hold reason in restricted tokens

* simplify set_balance removing the holding part

* upgrade restricted-xtokens

* upgrade some pallets

* upgrade pallet-ethereum-transaction

* upgrade pallet-loans

* upgrade pool-system

* upgrade pool-fees

* upgrade pool-registry

* upgrade liquidity-pools stuffs

* avoid duplicated polkadot-sdk repos

* minor fixes

* upgraded runtime-common

* CfgLocation to RestrictedTransferLocation

* restricted tokens with NativeIndex for native fungibles

* rename dependency

* upgraded development-runtime

* fix partially benchmarks

* fix benchmarks

* overpass xcmp-queue integrity tests

* minor coments

* upgrade altair & centrifuge

* remove some benchmarking pallets that are not needed

* fix runtime upgrades

* upgrade integration-test proc

* upgrade integration-tests framework

* upgraded all tests except liquidity pools

* 99% upgraded liquidity-pools tests

* fix lookup

* cargo fmt

* taplo fmt

* using nightly cargo in CI

* restore set_balance as it was

* allow nightly support in CI

* use restricted_tokens again to fetch from investement portfolio

* Install rust-src for docs

* fix tests

* remove unused restricted tokens

* fix block rewards

* fix WrongWitness for some tests in IT

* fix liquidity-pools

* minor fixes

* fix clippy

* remove unneeded tests

* feat: Update client to Polkadot v1.7.2 (#1844)

* wip: update client

* chore: update crate versions

* chore: update anchor rpc api

* chore: remove rewards, pools rpc

* chore: compile with development runtime

* fix: client for all runtimes

* fix: build spec

* feat: update relay docker images

* fix: apply deprecation of export genesis state to scripts

* fmt: taplo

* refactor: use xcm v4 sugar

* fix: revert tmp change in local para run

* refactor: simplify xcm v4 locations in chain spec

* cargo fmt

* fix clippy

* feat: Polkadot v1.7.2 migrations (#1849)

* feat: add hold reason migration

* feat: centrifuge migrations

* feat: altair migrations

* feat: dev + demo migrations

* fix: clippy

* fix: build

* fmt: fix using nightly

* last William iteration review

* increase passed blocks

* use rococo instead of polkadot-test-runtime

* fix tests

* remove line

* dirty fix to fix Hrmp test issue

* use default weights for treasury

* remove getrandom unused dep

* upgrade to last polkadot-sdk version

* feat: `CheckMetadataHash` extension

* fix it (#1866)

* fmt: taplo

* refactor: signed ext order

* fix: signed ext order for ITs

* IT: more support for router tests (#1885)

* move routers to its own module

* remove outdated markers

* for all runtimes

* remove previous tests

* minor fixes

* v0.11.2 rc

* panic if event is not found in the expected blocks (#1880)

* fix: ci

* remove generic module (#1887)

* revert check metadata hash disable

* fix: disable metadata hash check for integration tests

---------

Co-authored-by: lemunozm <[email protected]>

---------

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Frederik Gartenmeister <[email protected]>
Co-authored-by: lemunozm <[email protected]>
wischli pushed a commit that referenced this pull request Jul 25, 2024
fix: adapt passthrough router

fix: docs and hash

chore: rm unused test

Release v0.11.3 (#1886)

* Switch to full wasm execution

* feat: use correct encoded size.

* fix: lint

* refactor: reduce dev session duration from 6h to 2min

* chore: update centrifuge weights

* chore: update dev weights

* chore: update altair weights

* chore: update frame_system weights

* fmt

* fix: re-enable frame_system benches

* chore: bump spec version

* fmt: revert using latest nightly

* v0.11.3-rc1: revert checkmetadata ext

* feat: `CheckMetadataHash` extension (#1865)

* set dependency versions

* upgrade libs/*

* upgrade pallet-anchors

* upgrade pallet-fees

* upgrade pallet-bridge

* migrate simple pallets

* migrate pallet-order-book

* migrated collator-allowlist & swaps

* upgrade rewards

* upgraded pallet-mux

* upgrade transfer-allowlist

* fix hold reason in restricted tokens

* simplify set_balance removing the holding part

* upgrade restricted-xtokens

* upgrade some pallets

* upgrade pallet-ethereum-transaction

* upgrade pallet-loans

* upgrade pool-system

* upgrade pool-fees

* upgrade pool-registry

* upgrade liquidity-pools stuffs

* avoid duplicated polkadot-sdk repos

* minor fixes

* upgraded runtime-common

* CfgLocation to RestrictedTransferLocation

* restricted tokens with NativeIndex for native fungibles

* rename dependency

* upgraded development-runtime

* fix partially benchmarks

* fix benchmarks

* overpass xcmp-queue integrity tests

* minor coments

* upgrade altair & centrifuge

* remove some benchmarking pallets that are not needed

* fix runtime upgrades

* upgrade integration-test proc

* upgrade integration-tests framework

* upgraded all tests except liquidity pools

* 99% upgraded liquidity-pools tests

* fix lookup

* cargo fmt

* taplo fmt

* using nightly cargo in CI

* restore set_balance as it was

* allow nightly support in CI

* use restricted_tokens again to fetch from investement portfolio

* Install rust-src for docs

* fix tests

* remove unused restricted tokens

* fix block rewards

* fix WrongWitness for some tests in IT

* fix liquidity-pools

* minor fixes

* fix clippy

* remove unneeded tests

* feat: Update client to Polkadot v1.7.2 (#1844)

* wip: update client

* chore: update crate versions

* chore: update anchor rpc api

* chore: remove rewards, pools rpc

* chore: compile with development runtime

* fix: client for all runtimes

* fix: build spec

* feat: update relay docker images

* fix: apply deprecation of export genesis state to scripts

* fmt: taplo

* refactor: use xcm v4 sugar

* fix: revert tmp change in local para run

* refactor: simplify xcm v4 locations in chain spec

* cargo fmt

* fix clippy

* feat: Polkadot v1.7.2 migrations (#1849)

* feat: add hold reason migration

* feat: centrifuge migrations

* feat: altair migrations

* feat: dev + demo migrations

* fix: clippy

* fix: build

* fmt: fix using nightly

* last William iteration review

* increase passed blocks

* use rococo instead of polkadot-test-runtime

* fix tests

* remove line

* dirty fix to fix Hrmp test issue

* use default weights for treasury

* remove getrandom unused dep

* upgrade to last polkadot-sdk version

* feat: `CheckMetadataHash` extension

* fix it (#1866)

* fmt: taplo

* refactor: signed ext order

* fix: signed ext order for ITs

* IT: more support for router tests (#1885)

* move routers to its own module

* remove outdated markers

* for all runtimes

* remove previous tests

* minor fixes

* v0.11.2 rc

* panic if event is not found in the expected blocks (#1880)

* fix: ci

* remove generic module (#1887)

* revert check metadata hash disable

* fix: disable metadata hash check for integration tests

---------

Co-authored-by: lemunozm <[email protected]>

---------

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Frederik Gartenmeister <[email protected]>
Co-authored-by: lemunozm <[email protected]>

Refactor: Decoupling routers from gateway (#1891)

* decoupling routers from gateway. Use Vec<u8>

* gateway adapted

* fix imports

* move test msg to cfg-traits

* fix imports

feat: Open Gov for Development and Altair Runtimes (#1828)

* chore: add OpenGov pallets to root toml

* feat: add OpenGov tracks to runtime common

* feat: add technical committee migration

tc: fix clippy

* refactor: move origins from primitives to common

common: fix typo

common: fix test after HalfOfCouncil refactor

* feat: add OpenGov to Development

fix: complete Development OpenGov

development: finalize opengov

development: add proxy calls

development: overwrite missing origins

dev: fix treasury spender

dev: remove crowdloan pallets

dev: taplo fmt

* feat: add OpenGov to Altair

fix: complete Altair OpenGov

fix: add missing technical fellowship weights Altair

altair: finalize opengov

altair: rename track tests

altair: gather imports

altair: remove crowdloan pallets

altair: taplo fmt

* feat: add OpenGov to Centrifuge chain

fix: centrifuge toml

chore: minor centrifuge chain improvements

refactor: Centrifuge OpenGov

centrifuge: finalize opengov

centrifuge: fix cargo tml

cfg: fix clippy test

* Revert "feat: add OpenGov to Centrifuge chain"

This reverts commit 4d78c10.

* fix: clippy

* tests: fix CouncilCollective import path

* fix: technical committee migrations

* altair: configure tc migration (incomplete)

* dev: configure tc migration

* chore: cleanup altair dep diff

* chore: remove unused getrandom crate from runtimes

* chore: add missing Altair TC members

* refactor: move to_ppm and to_percent to utils

* Merge remote-tracking branch 'origin/main' into feat/open-gov-2

* fix: issues after rebasing

* fmt

* fix: imports

* feat: v0.12.0 for altair RU

Altair: release v0.12.0 (#1896)

* fix: altair chain spec

* chore: update gov2 weights

* chore: update dev OpenGov weights

* fix: weight declaration

Fix RustDocs deployment & codecov patch checks (#1870)

* Fix deploy docs

* Make patch checks also informational (not fail)

LP Message with custom data format for serialization/deserialization (#1889)

* test compiling

* fix Domain serialization

* fix issues

* some reorganizations

* using bincode 2 with non-std support

* use custom trait

* tests passing for lp

* remove ENCODED_MSG constant

* fix runtimes compilation

* cargo fmt & taplo fmt

* cargo clippy

* minor change

* add custom serializer passing all tests

* no_std support

* minor renames

* cargo fmt

* cargo clippy

* minor comment change

* cargo fmt extra

Succeed when patch codecov fails (#1900)

Liquidity pools: Add UTs to for `update_token_price()` (#1890)

* add token price UTs

* update IT

* fix tests compilation

remove some unused code investment-related (#1902)

Release v0.13.0 (#1898)

* chore: update deps to enable metadata hash check

* chore: update srtool + add on-chain-release-build opts

* chore: bump spec versions + cleanup migrations

* fmt: taplo

* ci: fix srtool fmt

* ci: apply proper CLI

* attempt2 to enable on-chain-release-build

* change srtool build for chevdor/strool-actions action

* desperate attempts to get it working

* override workdir

* Try to set permissions wide open before running docker

* add RUST_BACKTRACE

* revert to our GHA manual process & add enhancements

* fix package name

* Output information about srtool

* Revert "desperate attempts to get it working"

This reverts commit a882fd9.

* fix: some scripts

* fix bad colon on echo command

* Fix missing colon and remove docker publish release

* upload wasm to release

* fix issue with gchr tags

* more semicolon issues

* unique name for delete untagged

* fix delete_untagged

* move delete_untagged under workflows

* move delete untagged to manual runs

* review bash syntax for wasm build

* recover cache and limit sanity check build time

---------

Co-authored-by: Guillermo Perez <[email protected]>

cargo update (#1904)

add uts (#1905)

IT: Support `#ignore = reason` for `test_runtimes` macro (#1908)

* support #ignore = reason for test_runtimes macro

* fix clippy

ci: disable checks for drafts (#1913)

LP: Unitary testing for add_currency (#1912)

* port add-currency tests into uts

* remove LiquidityPoolsWrappedToken struct

* remove unused code

* fix compilation issues

* fix clippy

* fix clippy

feat: adatpt to latest version

LP: Unitary testing for all pending extrinsics (#1916)

* allow and disallow currency tests

* schedule_upgrade cancel_upgrade and update_tranche_token_metadata

Feat: Adapt proxy settings (#1922)

* feat: adapt proxy settings

* fix: match pattern

Small CI improvements (#1924)

LP: Unitary testing for inbound messages (#1927)

* tests inbound messages

* some cleanings

* some adjustements

fix: array size

fix: clippy + fmt

fix: update blake hash

fix: compilation

Refactor: Transform `TrancheCurrency` type in a tuple (#1926)

* remove TrancheCurrency type

* fix benchmarks

* fix clippy

fix: std import KeccakHasher
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.

3 participants