Reduce call size of Referenda pallet (#11578)

* Reduce call size of Referenda pallet

* Fixes

* Fixes

* Fixes

* Docs
This commit is contained in:
Gavin Wood
2022-06-02 12:41:05 +01:00
committed by GitHub
parent ba96e8a8f4
commit 58d23ef97b
5 changed files with 61 additions and 20 deletions
@@ -46,7 +46,7 @@ fn create_referendum<T: Config>() -> (T::AccountId, ReferendumIndex) {
whitelist_account!(caller);
assert_ok!(Referenda::<T>::submit(
RawOrigin::Signed(caller.clone()).into(),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
T::Hashing::hash_of(&0),
DispatchTime::After(0u32.into())
));
@@ -177,7 +177,7 @@ benchmarks! {
whitelist_account!(caller);
}: _(
RawOrigin::Signed(caller),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
T::Hashing::hash_of(&0),
DispatchTime::After(0u32.into())
) verify {
+2 -2
View File
@@ -355,7 +355,7 @@ pub mod pallet {
#[pallet::weight(T::WeightInfo::submit())]
pub fn submit(
origin: OriginFor<T>,
proposal_origin: PalletsOriginOf<T>,
proposal_origin: Box<PalletsOriginOf<T>>,
proposal_hash: T::Hash,
enactment_moment: DispatchTime<T::BlockNumber>,
) -> DispatchResult {
@@ -373,7 +373,7 @@ pub mod pallet {
let nudge_call = Call::nudge_referendum { index };
let status = ReferendumStatus {
track,
origin: proposal_origin,
origin: *proposal_origin,
proposal_hash,
enactment: enactment_moment,
submitted: now,
+2 -2
View File
@@ -310,7 +310,7 @@ pub fn set_balance_proposal_hash(value: u64) -> H256 {
pub fn propose_set_balance(who: u64, value: u64, delay: u64) -> DispatchResult {
Referenda::submit(
Origin::signed(who),
frame_system::RawOrigin::Root.into(),
Box::new(frame_system::RawOrigin::Root.into()),
set_balance_proposal_hash(value),
DispatchTime::After(delay),
)
@@ -438,7 +438,7 @@ impl RefState {
pub fn create(self) -> ReferendumIndex {
assert_ok!(Referenda::submit(
Origin::signed(1),
frame_support::dispatch::RawOrigin::Root.into(),
Box::new(frame_support::dispatch::RawOrigin::Root.into()),
set_balance_proposal_hash(1),
DispatchTime::At(10),
));
+19 -14
View File
@@ -43,7 +43,7 @@ fn basic_happy_path_works() {
// #1: submit
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
set_balance_proposal_hash(1),
DispatchTime::At(10),
));
@@ -174,7 +174,7 @@ fn queueing_works() {
// Submit a proposal into a track with a queue len of 1.
assert_ok!(Referenda::submit(
Origin::signed(5),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
set_balance_proposal_hash(0),
DispatchTime::After(0),
));
@@ -186,7 +186,7 @@ fn queueing_works() {
for i in 1..=4 {
assert_ok!(Referenda::submit(
Origin::signed(i),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
set_balance_proposal_hash(i),
DispatchTime::After(0),
));
@@ -271,7 +271,7 @@ fn auto_timeout_should_happen_with_nothing_but_submit() {
// #1: submit
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
set_balance_proposal_hash(1),
DispatchTime::At(20),
));
@@ -291,13 +291,13 @@ fn tracks_are_distinguished() {
new_test_ext().execute_with(|| {
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
set_balance_proposal_hash(1),
DispatchTime::At(10),
));
assert_ok!(Referenda::submit(
Origin::signed(2),
RawOrigin::None.into(),
Box::new(RawOrigin::None.into()),
set_balance_proposal_hash(2),
DispatchTime::At(20),
));
@@ -355,7 +355,7 @@ fn submit_errors_work() {
assert_noop!(
Referenda::submit(
Origin::signed(1),
RawOrigin::Signed(2).into(),
Box::new(RawOrigin::Signed(2).into()),
h,
DispatchTime::At(10),
),
@@ -364,7 +364,12 @@ fn submit_errors_work() {
// No funds for deposit
assert_noop!(
Referenda::submit(Origin::signed(10), RawOrigin::Root.into(), h, DispatchTime::At(10),),
Referenda::submit(
Origin::signed(10),
Box::new(RawOrigin::Root.into()),
h,
DispatchTime::At(10),
),
BalancesError::<Test>::InsufficientBalance
);
});
@@ -379,7 +384,7 @@ fn decision_deposit_errors_work() {
let h = set_balance_proposal_hash(1);
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
h,
DispatchTime::At(10),
));
@@ -401,7 +406,7 @@ fn refund_deposit_works() {
let h = set_balance_proposal_hash(1);
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
h,
DispatchTime::At(10),
));
@@ -423,7 +428,7 @@ fn cancel_works() {
let h = set_balance_proposal_hash(1);
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
h,
DispatchTime::At(10),
));
@@ -442,7 +447,7 @@ fn cancel_errors_works() {
let h = set_balance_proposal_hash(1);
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
h,
DispatchTime::At(10),
));
@@ -460,7 +465,7 @@ fn kill_works() {
let h = set_balance_proposal_hash(1);
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
h,
DispatchTime::At(10),
));
@@ -480,7 +485,7 @@ fn kill_errors_works() {
let h = set_balance_proposal_hash(1);
assert_ok!(Referenda::submit(
Origin::signed(1),
RawOrigin::Root.into(),
Box::new(RawOrigin::Root.into()),
h,
DispatchTime::At(10),
));