git.delta.rocks / unique-network / refs/commits / be30378adea3

difftreelog

fix scheduler rebase

Daniel Shiposha2022-10-24parent: #c70bef7.patch.diff
in: master

7 files changed

modifiedpallets/scheduler/src/lib.rsdiffbeforeafterboth
86use sp_std::{borrow::Borrow, cmp::Ordering, marker::PhantomData, prelude::*};86use sp_std::{borrow::Borrow, cmp::Ordering, marker::PhantomData, prelude::*};
8787
88use frame_support::{88use frame_support::{
89 dispatch::{DispatchError, DispatchResult, Dispatchable, UnfilteredDispatchable, Parameter},89 dispatch::{DispatchError, DispatchResult, Dispatchable, UnfilteredDispatchable, Parameter, GetDispatchInfo},
90 traits::{90 traits::{
91 schedule::{self, DispatchTime, MaybeHashed},91 schedule::{self, DispatchTime, MaybeHashed},
92 NamedReservableCurrency, EnsureOrigin, Get, IsType, OriginTrait, PrivilegeCmp,92 NamedReservableCurrency, EnsureOrigin, Get, IsType, OriginTrait, PrivilegeCmp,
101pub type TaskAddress<BlockNumber> = (BlockNumber, u32);101pub type TaskAddress<BlockNumber> = (BlockNumber, u32);
102pub const MAX_TASK_ID_LENGTH_IN_BYTES: u8 = 16;102pub const MAX_TASK_ID_LENGTH_IN_BYTES: u8 = 16;
103103
104type ScheduledId = [u8; MAX_TASK_ID_LENGTH_IN_BYTES as usize];104pub type ScheduledId = [u8; MAX_TASK_ID_LENGTH_IN_BYTES as usize];
105pub type CallOrHashOf<T> =105pub type CallOrHashOf<T> =
106 MaybeHashed<<T as Config>::RuntimeCall, <T as frame_system::Config>::Hash>;106 MaybeHashed<<T as Config>::RuntimeCall, <T as frame_system::Config>::Hash>;
107107
231231
232 /// The aggregated call type.232 /// The aggregated call type.
233 type RuntimeCall: Parameter233 type RuntimeCall: Parameter
234 + Dispatchable<Origin = <Self as Config>::RuntimeOrigin, PostInfo = PostDispatchInfo>234 + Dispatchable<RuntimeOrigin = <Self as Config>::RuntimeOrigin, PostInfo = PostDispatchInfo>
235 + UnfilteredDispatchable<Origin = <Self as system::Config>::RuntimeOrigin>235 + UnfilteredDispatchable<RuntimeOrigin = <Self as system::Config>::RuntimeOrigin>
236 + GetDispatchInfo236 + GetDispatchInfo
237 + From<system::RuntimeCall<Self>>;237 + From<system::Call<Self>>;
238238
239 /// The maximum weight that may be scheduled per block for any dispatchables of less239 /// The maximum weight that may be scheduled per block for any dispatchables of less
240 /// priority than `schedule::HARD_DEADLINE`.240 /// priority than `schedule::HARD_DEADLINE`.
611 priority: schedule::Priority,611 priority: schedule::Priority,
612 ) -> DispatchResult {612 ) -> DispatchResult {
613 T::PrioritySetOrigin::ensure_origin(origin.clone())?;613 T::PrioritySetOrigin::ensure_origin(origin.clone())?;
614 let origin = <T as Config>::Origin::from(origin);614 let origin = <T as Config>::RuntimeOrigin::from(origin);
615 Self::do_change_named_priority(origin.caller().clone(), id, priority)615 Self::do_change_named_priority(origin.caller().clone(), id, priority)
616 }616 }
617 }617 }
modifiedruntime/common/config/pallets/scheduler.rsdiffbeforeafterboth
25use codec::Decode;25use codec::Decode;
26use crate::{26use crate::{
27 runtime_common::{scheduler::SchedulerPaymentExecutor, config::substrate::RuntimeBlockWeights},27 runtime_common::{scheduler::SchedulerPaymentExecutor, config::substrate::RuntimeBlockWeights},
28 Runtime, Call, Event, Origin, OriginCaller, Balances,28 Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, OriginCaller, Balances,
29};29};
30use pallet_unique_scheduler::ScheduledEnsureOriginSuccess;30use pallet_unique_scheduler::ScheduledEnsureOriginSuccess;
31use up_common::types::AccountId;31use up_common::types::AccountId;
modifiedruntime/common/config/test_pallets.rsdiffbeforeafterboth
14// You should have received a copy of the GNU General Public License14// You should have received a copy of the GNU General Public License
15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
1616
17use crate::{Runtime, Event};17use crate::{Runtime, RuntimeEvent};
1818
19impl pallet_test_utils::Config for Runtime {19impl pallet_test_utils::Config for Runtime {
20 type Event = Event;20 type RuntimeEvent = RuntimeEvent;
21}21}
2222
modifiedruntime/common/construct_runtime/mod.rsdiffbeforeafterboth
57 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,57 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,
58 Unique: pallet_unique::{Pallet, Call, Storage, Event<T>} = 61,58 Unique: pallet_unique::{Pallet, Call, Storage, Event<T>} = 61,
5959
60 // #[runtimes(opal)]60 #[runtimes(opal)]
61 // Scheduler: pallet_unique_scheduler::{Pallet, Call, Storage, Event<T>} = 62,61 Scheduler: pallet_unique_scheduler::{Pallet, Call, Storage, Event<T>} = 62,
6262
63 Configuration: pallet_configuration::{Pallet, Call, Storage} = 63,63 Configuration: pallet_configuration::{Pallet, Call, Storage} = 63,
6464
modifiedruntime/common/scheduler.rsdiffbeforeafterboth
1616
17use frame_support::{17use frame_support::{
18 traits::NamedReservableCurrency,18 traits::NamedReservableCurrency,
19 weights::{GetDispatchInfo, PostDispatchInfo, DispatchInfo},19 dispatch::{GetDispatchInfo, PostDispatchInfo, DispatchInfo},
20};20};
21use sp_runtime::{21use sp_runtime::{
22 traits::{Dispatchable, Applyable, Member},22 traits::{Dispatchable, Applyable, Member},
25 DispatchErrorWithPostInfo, DispatchError,25 DispatchErrorWithPostInfo, DispatchError,
26};26};
27use codec::Encode;27use codec::Encode;
28use crate::{Runtime, Call, Origin, Balances};28use crate::{Runtime, RuntimeCall, RuntimeOrigin, Balances};
29use up_common::types::{AccountId, Balance};29use up_common::types::{AccountId, Balance};
30use fp_self_contained::SelfContainedCall;30use fp_self_contained::SelfContainedCall;
31use pallet_unique_scheduler::DispatchCall;31use pallet_unique_scheduler::DispatchCall;
62impl<T: frame_system::Config + pallet_unique_scheduler::Config, SelfContainedSignedInfo>62impl<T: frame_system::Config + pallet_unique_scheduler::Config, SelfContainedSignedInfo>
63 DispatchCall<T, SelfContainedSignedInfo> for SchedulerPaymentExecutor63 DispatchCall<T, SelfContainedSignedInfo> for SchedulerPaymentExecutor
64where64where
65 <T as frame_system::Config>::Call: Member65 <T as frame_system::Config>::RuntimeCall: Member
66 + Dispatchable<Origin = Origin, Info = DispatchInfo>66 + Dispatchable<RuntimeOrigin = RuntimeOrigin, Info = DispatchInfo>
67 + SelfContainedCall<SignedInfo = SelfContainedSignedInfo>67 + SelfContainedCall<SignedInfo = SelfContainedSignedInfo>
68 + GetDispatchInfo68 + GetDispatchInfo
69 + From<frame_system::Call<Runtime>>,69 + From<frame_system::Call<Runtime>>,
70 SelfContainedSignedInfo: Send + Sync + 'static,70 SelfContainedSignedInfo: Send + Sync + 'static,
71 Call: From<<T as frame_system::Config>::Call>71 RuntimeCall: From<<T as frame_system::Config>::RuntimeCall>
72 + From<<T as pallet_unique_scheduler::Config>::Call>72 + From<<T as pallet_unique_scheduler::Config>::RuntimeCall>
73 + SelfContainedCall<SignedInfo = SelfContainedSignedInfo>,73 + SelfContainedCall<SignedInfo = SelfContainedSignedInfo>,
74 sp_runtime::AccountId32: From<<T as frame_system::Config>::AccountId>,74 sp_runtime::AccountId32: From<<T as frame_system::Config>::AccountId>,
75{75{
76 fn dispatch_call(76 fn dispatch_call(
77 signer: Option<<T as frame_system::Config>::AccountId>,77 signer: Option<<T as frame_system::Config>::AccountId>,
78 call: <T as pallet_unique_scheduler::Config>::Call,78 call: <T as pallet_unique_scheduler::Config>::RuntimeCall,
79 ) -> Result<79 ) -> Result<
80 Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>,80 Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>,
81 TransactionValidityError,81 TransactionValidityError,
9393
94 let extrinsic = fp_self_contained::CheckedExtrinsic::<94 let extrinsic = fp_self_contained::CheckedExtrinsic::<
95 AccountId,95 AccountId,
96 Call,96 RuntimeCall,
97 SignedExtraScheduler,97 SignedExtraScheduler,
98 SelfContainedSignedInfo,98 SelfContainedSignedInfo,
99 > {99 > {
107 fn reserve_balance(107 fn reserve_balance(
108 id: [u8; 16],108 id: [u8; 16],
109 sponsor: <T as frame_system::Config>::AccountId,109 sponsor: <T as frame_system::Config>::AccountId,
110 call: <T as pallet_unique_scheduler::Config>::Call,110 call: <T as pallet_unique_scheduler::Config>::RuntimeCall,
111 count: u32,111 count: u32,
112 ) -> Result<(), DispatchError> {112 ) -> Result<(), DispatchError> {
113 let dispatch_info = call.get_dispatch_info();113 let dispatch_info = call.get_dispatch_info();
125 fn pay_for_call(125 fn pay_for_call(
126 id: [u8; 16],126 id: [u8; 16],
127 sponsor: <T as frame_system::Config>::AccountId,127 sponsor: <T as frame_system::Config>::AccountId,
128 call: <T as pallet_unique_scheduler::Config>::Call,128 call: <T as pallet_unique_scheduler::Config>::RuntimeCall,
129 ) -> Result<u128, DispatchError> {129 ) -> Result<u128, DispatchError> {
130 let dispatch_info = call.get_dispatch_info();130 let dispatch_info = call.get_dispatch_info();
131 let weight: Balance =131 let weight: Balance =
modifiedtest-pallets/utils/Cargo.tomldiffbeforeafterboth
8[dependencies]8[dependencies]
9codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }9codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
10scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }10scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
11frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }11frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.30" }
12frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }12frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.30" }
13pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }13pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
1414
15[features]15[features]
modifiedtest-pallets/utils/src/lib.rsdiffbeforeafterboth
2828
29 #[pallet::config]29 #[pallet::config]
30 pub trait Config: frame_system::Config + pallet_unique_scheduler::Config {30 pub trait Config: frame_system::Config + pallet_unique_scheduler::Config {
31 type Event: From<Event<Self>> + IsType<<Self as frame_system::Config>::Event>;31 type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
32 }32 }
3333
34 #[pallet::event]34 #[pallet::event]