Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
90fa441
Added `authorize_force_set_current_code_hash` feature
bkontur Feb 17, 2025
693c277
Add `force_set_current_code` test
bkontur Feb 17, 2025
1a9dba4
Update from bkontur running command 'fmt'
github-actions[bot] Feb 17, 2025
8dc2779
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Feb 17, 2025
e14f331
Fix Rococo/Westend
bkontur Feb 17, 2025
a3d1f3c
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Feb 17, 2025
9bb38f3
Merge remote-tracking branch 'origin/bko-paras-authorize-set-current-…
bkontur Feb 17, 2025
9eea06f
Update from bkontur running command 'prdoc --audience runtime_dev --b…
github-actions[bot] Feb 17, 2025
caff716
Update prdoc/pr_7592.prdoc
bkontur Feb 17, 2025
4d746d2
Update from bkontur running command 'bench --pallet polkadot_runtime_…
github-actions[bot] Feb 17, 2025
bde0c00
Apply suggestions from code review
bkontur Feb 18, 2025
6062032
Update polkadot/runtime/parachains/src/paras/mod.rs
bkontur Feb 18, 2025
3243e63
Dedicated enum variant `NotAuthorizedCode`
bkontur Feb 18, 2025
1aeb6b3
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Feb 18, 2025
77463f4
Update from bkontur running command 'fmt'
github-actions[bot] Feb 18, 2025
a1225cb
Update prdoc/pr_7592.prdoc
bkontur Feb 18, 2025
a699970
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Feb 21, 2025
ad37325
Align error codes with other pallets
bkontur Feb 21, 2025
d0c6e45
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Feb 21, 2025
65ec72b
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Feb 22, 2025
eaf9a78
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Feb 26, 2025
f10b0a8
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Feb 26, 2025
841f4e4
Refactor finished
bkontur Feb 27, 2025
560c6bb
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Feb 27, 2025
83abc82
Update from bkontur running command 'fmt'
github-actions[bot] Feb 27, 2025
1eb117e
Update from bkontur running command 'bench --pallet polkadot_runtime_…
github-actions[bot] Feb 27, 2025
8b1a483
Update from bkontur running command 'prdoc --audience runtime_dev --b…
github-actions[bot] Feb 27, 2025
795d59a
Apply suggestions from code review
bkontur Feb 27, 2025
5bde2fd
Apply suggestions from code review
bkontur Mar 3, 2025
ad907ab
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Mar 3, 2025
7c386ec
Add `validate_unsigned` validation for `apply_authorized_code`
bkontur Mar 3, 2025
033f908
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Mar 3, 2025
f6981d0
Update from bkontur running command 'fmt'
github-actions[bot] Mar 3, 2025
ab3a823
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Mar 4, 2025
d5800fc
Revert
bkontur Mar 4, 2025
15552cc
Revert and simplify
bkontur Mar 4, 2025
6e0cccb
Update from bkontur running command 'prdoc --audience runtime_dev --b…
github-actions[bot] Mar 4, 2025
3cdb61e
Update from bkontur running command 'fmt'
github-actions[bot] Mar 4, 2025
3157c46
Update prdoc/pr_7592.prdoc
bkontur Mar 4, 2025
9bd8c32
Update prdoc/pr_7592.prdoc
bkontur Mar 4, 2025
4ef9b78
ehm
bkontur Mar 4, 2025
b4fdadc
Update from bkontur running command 'bench --pallet polkadot_runtime_…
github-actions[bot] Mar 4, 2025
1a94e0d
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Mar 12, 2025
9bb5f67
Nit
bkontur Mar 12, 2025
d6eb3c2
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Mar 13, 2025
e37f698
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Mar 13, 2025
1a8e1fd
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Mar 14, 2025
2f26d71
Update polkadot/runtime/parachains/src/paras/mod.rs
bkontur Mar 14, 2025
6b46716
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Apr 3, 2025
cb1dde3
Use `struct AuthorizedCodeHashAndExpiry` instead of a tuple
bkontur Apr 5, 2025
1e52cf9
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Apr 5, 2025
1cb919e
Simplify `validate_code_is_authorized`
bkontur Apr 5, 2025
407a430
Add `AuthorizeCurrentCodeOrigin` and allow it for root or Collectives…
bkontur Apr 7, 2025
90a8d44
Update from github-actions[bot] running command 'fmt'
github-actions[bot] Apr 7, 2025
f500e19
Fix benchmarks compilation
bkontur Apr 7, 2025
f34663f
Update polkadot/runtime/parachains/src/paras/benchmarking.rs
bkontur Apr 9, 2025
ad5a78e
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Apr 9, 2025
a8c4624
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Apr 10, 2025
f9a2de9
Fix test compilation
bkontur Apr 10, 2025
9fbb144
Update prdoc/pr_7592.prdoc
bkontur Apr 10, 2025
2409b1c
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Apr 10, 2025
70e7acf
Update polkadot/runtime/parachains/src/paras/mod.rs
bkontur Apr 10, 2025
a7be028
Update prdoc/pr_7592.prdoc
bkontur Apr 10, 2025
d770e0a
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Apr 12, 2025
a4ccb10
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Apr 24, 2025
56bd15c
Update from github-actions[bot] running command 'fmt'
github-actions[bot] Apr 24, 2025
651d7b4
Nit
bkontur Apr 24, 2025
a067b68
Merge remote-tracking branch 'origin/master' into bko-paras-authorize…
bkontur Apr 30, 2025
8b81724
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur Apr 30, 2025
a3e9f5f
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur May 1, 2025
f07b826
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur May 5, 2025
6075ad7
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur May 6, 2025
822a1ec
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur May 9, 2025
8036264
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur May 12, 2025
abdde6c
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur May 22, 2025
b110076
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur May 23, 2025
0cb5c59
Merge branch 'master' into bko-paras-authorize-set-current-code
bkontur May 29, 2025
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
1 change: 1 addition & 0 deletions polkadot/runtime/common/src/assigned_slots/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -734,6 +734,7 @@ mod tests {
type AssignCoretime = ();
type Fungible = Balances;
type CooldownRemovalMultiplier = ConstUint<1>;
type AuthorizeCurrentCodeOrigin = EnsureRoot<Self::AccountId>;
}

impl parachains_shared::Config for Test {
Expand Down
1 change: 1 addition & 0 deletions polkadot/runtime/common/src/integration_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,7 @@ impl paras::Config for Test {
type AssignCoretime = ();
type Fungible = Balances;
type CooldownRemovalMultiplier = ConstUint<1>;
type AuthorizeCurrentCodeOrigin = EnsureRoot<Self::AccountId>;
}

parameter_types! {
Expand Down
1 change: 1 addition & 0 deletions polkadot/runtime/common/src/paras_registrar/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ impl paras::Config for Test {
type AssignCoretime = ();
type Fungible = Balances;
type CooldownRemovalMultiplier = ConstUint<1>;
type AuthorizeCurrentCodeOrigin = frame_system::EnsureRoot<u64>;
}

impl configuration::Config for Test {
Expand Down
3 changes: 2 additions & 1 deletion polkadot/runtime/parachains/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ use frame_support::{
PalletId,
};
use frame_support_test::TestRandomness;
use frame_system::limits;
use frame_system::{limits, EnsureRoot};
use polkadot_primitives::{
AuthorityDiscoveryId, Balance, BlockNumber, CandidateHash, Moment, SessionIndex, UpwardMessage,
ValidationCode, ValidatorIndex,
Expand Down Expand Up @@ -249,6 +249,7 @@ impl crate::paras::Config for Test {
type AssignCoretime = ();
type Fungible = Balances;
type CooldownRemovalMultiplier = ConstUint<1>;
type AuthorizeCurrentCodeOrigin = EnsureRoot<AccountId>;
}

impl crate::dmp::Config for Test {}
Expand Down
38 changes: 38 additions & 0 deletions polkadot/runtime/parachains/src/paras/benchmarking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,44 @@ mod benchmarks {
Ok(())
}

#[benchmark]
fn authorize_force_set_current_code_hash() {
let para_id = ParaId::from(1000);
let code = ValidationCode(vec![0; 32]);
let new_code_hash = code.hash();
let valid_period = BlockNumberFor::<T>::from(1_000_000_u32);

#[extrinsic_call]
_(RawOrigin::Root, para_id, new_code_hash, valid_period);

assert_last_event::<T>(
Event::CodeAuthorized {
para_id,
code_hash: new_code_hash,
expire_at: frame_system::Pallet::<T>::block_number().saturating_add(valid_period),
}
.into(),
);
}

#[benchmark]
fn apply_authorized_force_set_current_code(c: Linear<MIN_CODE_SIZE, MAX_CODE_SIZE>) {
let code = ValidationCode(vec![0; c as usize]);
let para_id = ParaId::from(1000);
let expire_at =
frame_system::Pallet::<T>::block_number().saturating_add(BlockNumberFor::<T>::from(c));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Seems strange to also use the code size as the expiry time. If we expect this to affect the benchmark, it should be its own parameter, if not should we not just set it to something constant?

AuthorizedCodeHash::<T>::insert(
&para_id,
AuthorizedCodeHashAndExpiry::from((code.hash(), expire_at)),
);
generate_disordered_pruning::<T>();

#[extrinsic_call]
_(RawOrigin::Root, para_id, code);

assert_last_event::<T>(Event::CurrentCodeUpdated(para_id).into());
}

impl_benchmark_test_suite!(
Pallet,
crate::mock::new_test_ext(Default::default()),
Expand Down
Loading
Loading