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: CheckMetadataHash extension #1865

Merged
merged 87 commits into from
Jun 27, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
d6e0bf4
set dependency versions
lemunozm May 9, 2024
07bb334
upgrade libs/*
lemunozm May 10, 2024
446439a
upgrade pallet-anchors
lemunozm May 10, 2024
52d1b85
upgrade pallet-fees
lemunozm May 10, 2024
7183815
upgrade pallet-bridge
lemunozm May 13, 2024
3374bac
migrate simple pallets
lemunozm May 13, 2024
b161119
migrate pallet-order-book
lemunozm May 13, 2024
9fc71f5
migrated collator-allowlist & swaps
lemunozm May 13, 2024
f302388
upgrade rewards
lemunozm May 13, 2024
a38bfb6
upgraded pallet-mux
lemunozm May 13, 2024
5ccb3d0
upgrade transfer-allowlist
lemunozm May 13, 2024
056d942
Merge remote-tracking branch 'origin/main' into polkadot-v1.7.2
lemunozm May 13, 2024
5940897
fix hold reason in restricted tokens
lemunozm May 13, 2024
7d3335f
simplify set_balance removing the holding part
lemunozm May 13, 2024
3c2bb34
upgrade restricted-xtokens
lemunozm May 13, 2024
da56ef2
upgrade some pallets
lemunozm May 13, 2024
8ad0451
upgrade pallet-ethereum-transaction
lemunozm May 13, 2024
8461f41
upgrade pallet-loans
lemunozm May 13, 2024
873507d
upgrade pool-system
lemunozm May 14, 2024
3ae8b03
upgrade pool-fees
lemunozm May 14, 2024
4a2b98b
upgrade pool-registry
lemunozm May 14, 2024
3f94ea2
upgrade liquidity-pools stuffs
lemunozm May 14, 2024
45ca1c4
avoid duplicated polkadot-sdk repos
lemunozm May 16, 2024
45b3f11
minor fixes
lemunozm May 16, 2024
a783c9f
upgraded runtime-common
lemunozm May 17, 2024
1f70efe
CfgLocation to RestrictedTransferLocation
lemunozm May 17, 2024
f713417
restricted tokens with NativeIndex for native fungibles
lemunozm May 20, 2024
9f12a65
rename dependency
lemunozm May 20, 2024
f84ac93
upgraded development-runtime
lemunozm May 21, 2024
769afc5
fix partially benchmarks
lemunozm May 21, 2024
5f5f7b6
fix benchmarks
lemunozm May 22, 2024
aaceaf9
overpass xcmp-queue integrity tests
lemunozm May 22, 2024
1a23394
minor coments
lemunozm May 22, 2024
3a0e1cd
upgrade altair & centrifuge
lemunozm May 23, 2024
a259be5
remove some benchmarking pallets that are not needed
lemunozm May 23, 2024
c9729ef
fix runtime upgrades
lemunozm May 23, 2024
65b32a1
upgrade integration-test proc
lemunozm May 24, 2024
ed5b888
upgrade integration-tests framework
lemunozm May 27, 2024
493a602
upgraded all tests except liquidity pools
lemunozm May 27, 2024
55d28ee
99% upgraded liquidity-pools tests
lemunozm May 27, 2024
f172b1d
fix lookup
lemunozm May 28, 2024
b886c46
Merge remote-tracking branch 'origin/main' into polkadot-v1.7.2
lemunozm May 28, 2024
9c27823
cargo fmt
lemunozm May 28, 2024
55bfab5
taplo fmt
lemunozm May 28, 2024
75ae4a4
using nightly cargo in CI
lemunozm May 28, 2024
38377a9
restore set_balance as it was
lemunozm May 28, 2024
8071ffe
allow nightly support in CI
lemunozm May 28, 2024
338a573
use restricted_tokens again to fetch from investement portfolio
lemunozm May 28, 2024
8c92688
Install rust-src for docs
lemunozm May 28, 2024
625f9d2
fix tests
lemunozm May 28, 2024
1bd859b
remove unused restricted tokens
lemunozm May 28, 2024
a304d7f
fix block rewards
lemunozm May 28, 2024
99b4abc
fix WrongWitness for some tests in IT
lemunozm May 29, 2024
17a180c
fix liquidity-pools
lemunozm May 29, 2024
aa40ed0
minor fixes
lemunozm May 29, 2024
7b1b7e2
fix clippy
lemunozm May 30, 2024
a5dbd56
remove unneeded tests
lemunozm May 30, 2024
bc17d18
feat: Update client to Polkadot v1.7.2 (#1844)
wischli May 30, 2024
a95459b
cargo fmt
lemunozm May 30, 2024
3e44ef9
fix clippy
lemunozm May 30, 2024
f83d95f
feat: Polkadot v1.7.2 migrations (#1849)
wischli May 31, 2024
fb52bc4
last William iteration review
lemunozm Jun 3, 2024
988fcbb
increase passed blocks
lemunozm Jun 5, 2024
8410d16
use rococo instead of polkadot-test-runtime
lemunozm Jun 5, 2024
db844a5
fix tests
lemunozm Jun 5, 2024
beb13f0
remove line
lemunozm Jun 5, 2024
7e69e68
dirty fix to fix Hrmp test issue
lemunozm Jun 6, 2024
1c96ae1
use default weights for treasury
lemunozm Jun 6, 2024
7edbc3a
remove getrandom unused dep
lemunozm Jun 6, 2024
e1bad5f
upgrade to last polkadot-sdk version
lemunozm Jun 6, 2024
05efc33
feat: `CheckMetadataHash` extension
wischli Jun 6, 2024
4be5b03
fix it (#1866)
lemunozm Jun 7, 2024
c2b8ece
fmt: taplo
wischli Jun 7, 2024
22d0a38
refactor: signed ext order
wischli Jun 7, 2024
4f7d77e
fix: signed ext order for ITs
wischli Jun 7, 2024
b0a7d0f
Merge remote-tracking branch 'origin/main' into wf/polkadot-v1.7.2-me…
wischli Jun 25, 2024
1cc426c
IT: more support for router tests (#1885)
lemunozm Jun 25, 2024
9774844
Merge remote-tracking branch 'origin/main' into wf/polkadot-v1.7.2-me…
wischli Jun 25, 2024
c037d29
Merge remote-tracking branch 'origin/release-v0.11.1' into wf/polkado…
wischli Jun 25, 2024
265e509
v0.11.2 rc
wischli Jun 25, 2024
cbf8691
panic if event is not found in the expected blocks (#1880)
lemunozm Jun 25, 2024
2e8e44c
fix: ci
wischli Jun 25, 2024
e5c8926
remove generic module (#1887)
lemunozm Jun 26, 2024
7445232
Merge remote-tracking branch 'origin/main' into wf/polkadot-v1.7.2-me…
wischli Jun 26, 2024
8de5ae7
revert check metadata hash disable
wischli Jun 26, 2024
705c950
Merge remote-tracking branch 'origin/release-v0.11.1' into wf/polkado…
wischli Jun 27, 2024
37d6e90
fix: disable metadata hash check for integration tests
wischli Jun 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ license = "LGPL-3.0"
homepage = "https://centrifuge.io/"
repository = "https://github.com/centrifuge/centrifuge-chain"
documentation = "https://reference.centrifuge.io/centrifuge_chain/index.html"
version = "0.11.1"
version = "0.11.2"

[workspace.dependencies]
hex-literal = { version = "0.4.1" }
Expand Down
4 changes: 2 additions & 2 deletions runtime/altair/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
spec_name: create_runtime_str!("altair"),
impl_name: create_runtime_str!("altair"),
authoring_version: 1,
spec_version: 1101,
spec_version: 1102,
impl_version: 1,
apis: RUNTIME_API_VERSIONS,
transaction_version: 2,
Expand Down Expand Up @@ -1966,7 +1966,7 @@ pub type Executive = frame_executive::Executive<
frame_system::ChainContext<Runtime>,
Runtime,
AllPalletsWithSystem,
migrations::UpgradeAltair1101,
migrations::UpgradeAltair1102,
>;

// Frame Order in this block dictates the index of each one in the metadata
Expand Down
2 changes: 1 addition & 1 deletion runtime/altair/src/migrations.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const IDENTITY_MIGRATION_KEY_LIMIT: u64 = 1000;

/// The migration set for Altair @ Kusama.
/// It includes all the migrations that have to be applied on that chain.
pub type UpgradeAltair1101 = (
pub type UpgradeAltair1102 = (
runtime_common::migrations::increase_storage_version::Migration<OraclePriceFeed, 0, 1>,
runtime_common::migrations::increase_storage_version::Migration<OraclePriceCollection, 0, 1>,
runtime_common::migrations::increase_storage_version::Migration<OrderBook, 0, 1>,
Expand Down
4 changes: 2 additions & 2 deletions runtime/centrifuge/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
spec_name: create_runtime_str!("centrifuge"),
impl_name: create_runtime_str!("centrifuge"),
authoring_version: 1,
spec_version: 1101,
spec_version: 1102,
impl_version: 1,
apis: RUNTIME_API_VERSIONS,
transaction_version: 2,
Expand Down Expand Up @@ -2080,7 +2080,7 @@ pub type Executive = frame_executive::Executive<
frame_system::ChainContext<Runtime>,
Runtime,
AllPalletsWithSystem,
migrations::UpgradeCentrifuge1101,
migrations::UpgradeCentrifuge1102,
>;

// Frame Order in this block dictates the index of each one in the metadata
Expand Down
2 changes: 1 addition & 1 deletion runtime/centrifuge/src/migrations.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ parameter_types! {

/// The migration set for Centrifuge @ Polkadot.
/// It includes all the migrations that have to be applied on that chain.
pub type UpgradeCentrifuge1101 = (
pub type UpgradeCentrifuge1102 = (
runtime_common::migrations::increase_storage_version::Migration<OraclePriceFeed, 0, 1>,
runtime_common::migrations::increase_storage_version::Migration<OraclePriceCollection, 0, 1>,
pallet_collator_selection::migration::v1::MigrateToV1<crate::Runtime>,
Expand Down
4 changes: 2 additions & 2 deletions runtime/development/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
spec_name: create_runtime_str!("centrifuge-devel"),
impl_name: create_runtime_str!("centrifuge-devel"),
authoring_version: 1,
spec_version: 1101,
spec_version: 1102,
impl_version: 1,
apis: RUNTIME_API_VERSIONS,
transaction_version: 2,
Expand Down Expand Up @@ -2069,7 +2069,7 @@ pub type Executive = frame_executive::Executive<
frame_system::ChainContext<Runtime>,
Runtime,
AllPalletsWithSystem,
crate::migrations::UpgradeDevelopment1101,
crate::migrations::UpgradeDevelopment1102,
>;

// Frame Order in this block dictates the index of each one in the metadata
Expand Down
138 changes: 1 addition & 137 deletions runtime/development/src/migrations.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,142 +10,6 @@
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.

use cfg_primitives::AccountId;
use sp_core::parameter_types;
use sp_std::{vec, vec::Vec};

parameter_types! {
pub const CollatorReward: cfg_primitives::Balance = cfg_primitives::constants::CFG;
pub const AnnualTreasuryInflationPercent: u32 = 3;
pub AccountMap: Vec<(AccountId, AccountId)> = vec![];

}

// Number of identities on Dev and Demo Chain on 30.05.2024 was both 0
const IDENTITY_MIGRATION_KEY_LIMIT: u64 = 1000;

/// The migration set for Development & Demo.
/// It includes all the migrations that have to be applied on that chain.
pub type UpgradeDevelopment1101 = (
pallet_collator_selection::migration::v1::MigrateToV1<crate::Runtime>,
pallet_collator_selection::migration::v2::MigrationToV2<crate::Runtime>,
cleanup_foreign_investments::Migration<crate::Runtime>,
// v0 -> v1
pallet_multisig::migrations::v1::MigrateToV1<crate::Runtime>,
// v0 -> v1
pallet_balances::migration::MigrateToTrackInactive<super::Runtime, super::CheckingAccount, ()>,
// v0 -> v1
runtime_common::migrations::nuke::ResetPallet<crate::Preimage, crate::RocksDbWeight, 0>,
// v0 -> v1
runtime_common::migrations::nuke::ResetPallet<crate::Democracy, crate::RocksDbWeight, 0>,
// v0 -> v1
runtime_common::migrations::nuke::ResetPallet<crate::PolkadotXcm, crate::RocksDbWeight, 0>,
runtime_common::migrations::increase_storage_version::Migration<crate::PoolSystem, 0, 2>,
runtime_common::migrations::increase_storage_version::Migration<crate::InterestAccrual, 0, 3>,
runtime_common::migrations::increase_storage_version::Migration<crate::Investments, 0, 1>,
runtime_common::migrations::increase_storage_version::Migration<crate::OraclePriceFeed, 0, 1>,
runtime_common::migrations::increase_storage_version::Migration<
crate::OraclePriceCollection,
0,
1,
>,
runtime_common::migrations::increase_storage_version::Migration<crate::OrmlAssetRegistry, 0, 2>,
// Reset Block rewards on Demo which is at v0
runtime_common::migrations::nuke::ResetPallet<crate::BlockRewards, crate::RocksDbWeight, 0>,
// Reset Block rewards on Dev which is at v2
runtime_common::migrations::nuke::ResetPallet<crate::BlockRewards, crate::RocksDbWeight, 2>,
pallet_block_rewards::migrations::init::InitBlockRewards<
crate::Runtime,
CollatorReward,
AnnualTreasuryInflationPercent,
>,
runtime_common::migrations::restricted_location::MigrateRestrictedTransferLocation<
crate::Runtime,
AccountMap,
>,
runtime_common::migrations::loans::AddWithLinearPricing<crate::Runtime>,
runtime_common::migrations::hold_reason::MigrateTransferAllowListHolds<
crate::Runtime,
crate::RuntimeHoldReason,
>,
// Migrations below this comment originate from Polkadot SDK
pallet_xcm::migration::MigrateToLatestXcmVersion<crate::Runtime>,
cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4<crate::Runtime>,
pallet_identity::migration::versioned::V0ToV1<crate::Runtime, IDENTITY_MIGRATION_KEY_LIMIT>,
pallet_uniques::migration::MigrateV0ToV1<crate::Runtime, ()>,
);

mod cleanup_foreign_investments {
use cfg_types::tokens::CurrencyId;
use frame_support::{
storage::StoragePrefixedMap,
traits::{Get, OnRuntimeUpgrade},
weights::Weight,
};
#[cfg(feature = "try-runtime")]
use runtime_common::migrations::utils::count_storage_keys;
use runtime_common::migrations::utils::remove_undecodable_storage_keys;
#[cfg(feature = "try-runtime")]
use sp_runtime::DispatchError;
#[cfg(feature = "try-runtime")]
use sp_runtime::SaturatedConversion;

pub struct Migration<T>(sp_std::marker::PhantomData<T>);

const LOG_PREFIX: &str = "CleanupForeignInvestments";
impl<T> OnRuntimeUpgrade for Migration<T>
where
T: pallet_foreign_investments::Config + frame_system::Config,
{
fn on_runtime_upgrade() -> Weight {
log::info!("{LOG_PREFIX} Initiating removal of undecodable keys");
let (reads, writes) = remove_undecodable_storage_keys::<CurrencyId>(
pallet_foreign_investments::ForeignInvestmentInfo::<T>::final_prefix(),
);

log::info!("{LOG_PREFIX} Removed {writes} undecodable keys");

T::DbWeight::get().reads_writes(reads, writes)
}

#[cfg(feature = "try-runtime")]
fn pre_upgrade() -> Result<sp_std::vec::Vec<u8>, DispatchError> {
let n: u32 = count_storage_keys(
pallet_foreign_investments::ForeignInvestmentInfo::<T>::final_prefix(),
);
let n_count: u32 = pallet_foreign_investments::ForeignInvestmentInfo::<T>::iter_keys()
.count()
.saturated_into();

if n == n_count {
log::info!(
"{LOG_PREFIX} Storage cleanup can be skipped because all keys can be decoded"
);
} else {
log::info!(
"{LOG_PREFIX} Failed to decode {} keys, cleanup necessary",
n.saturating_sub(n_count)
);
}

log::info!("{LOG_PREFIX} pre_upgrade done!",);

Ok(sp_std::vec![])
}

#[cfg(feature = "try-runtime")]
fn post_upgrade(_pre_state: sp_std::vec::Vec<u8>) -> Result<(), DispatchError> {
let n: u32 = count_storage_keys(
pallet_foreign_investments::ForeignInvestmentInfo::<T>::final_prefix(),
);
let n_count: u32 = pallet_foreign_investments::ForeignInvestmentInfo::<T>::iter_keys()
.count()
.saturated_into();
assert_eq!(n, n_count);

log::info!("{LOG_PREFIX} post_upgrade done with {n} remaining storage keys!",);

Ok(())
}
}
}
pub type UpgradeDevelopment1102 = ();
Copy link
Contributor

Choose a reason for hiding this comment

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

👍🏻

Loading