git.delta.rocks / unique-network / refs/commits / 04e0d1087094

difftreelog

Merge branch 'develop' into feature/ci-refactoring

Konstantin Astakhov2022-10-28parents: #5a2c2b9 #f1d8c96.patch.diff
in: master

19 files changed

modifiedCargo.lockdiffbeforeafterboth
5385 "pallet-treasury",5385 "pallet-treasury",
5386 "pallet-unique",5386 "pallet-unique",
5387 "pallet-unique-scheduler",5387 "pallet-unique-scheduler",
5388 "pallet-unique-scheduler-v2",
5389 "pallet-xcm",5388 "pallet-xcm",
5390 "parachain-info",5389 "parachain-info",
5391 "parity-scale-codec 3.2.1",5390 "parity-scale-codec 3.2.1",
6709dependencies = [6708dependencies = [
6710 "frame-support",6709 "frame-support",
6711 "frame-system",6710 "frame-system",
6712 "pallet-unique-scheduler-v2",6711 "pallet-unique-scheduler",
6713 "parity-scale-codec 3.2.1",6712 "parity-scale-codec 3.2.1",
6714 "scale-info",6713 "scale-info",
6715]6714]
6853 "up-sponsorship",6852 "up-sponsorship",
6854]6853]
6855
6856[[package]]
6857name = "pallet-unique-scheduler-v2"
6858version = "0.1.0"
6859dependencies = [
6860 "frame-benchmarking",
6861 "frame-support",
6862 "frame-system",
6863 "log",
6864 "pallet-preimage",
6865 "parity-scale-codec 3.2.1",
6866 "scale-info",
6867 "sp-core",
6868 "sp-io",
6869 "sp-runtime",
6870 "sp-std",
6871 "substrate-test-utils",
6872]
68736854
6874[[package]]6855[[package]]
6875name = "pallet-utility"6856name = "pallet-utility"
modifiedclient/rpc/src/lib.rsdiffbeforeafterboth
551552
552 #[map(|keys| string_keys_to_bytes_keys(keys))]553 #[map(|keys| string_keys_to_bytes_keys(keys))]
553 keys: Option<Vec<String>>,554 keys: Option<Vec<String>>,
554 ) -> TokenData<CrossAccountId>, unique_api);555 ) -> TokenData<CrossAccountId>, unique_api;
556 changed_in 3, token_data_before_version_3(collection, token_id, string_keys_to_bytes_keys(keys)) => |value| value.into()
557 );
555558
556 pass_method!(adminlist(collection: CollectionId) -> Vec<CrossAccountId>, unique_api);559 pass_method!(adminlist(collection: CollectionId) -> Vec<CrossAccountId>, unique_api);
addedkb/how-not-to-break-rpc.mddiffbeforeafterboth

no changes

deletedpallets/scheduler-v2/Cargo.tomldiffbeforeafterboth

no changes

deletedpallets/scheduler-v2/src/benchmarking.rsdiffbeforeafterboth

no changes

deletedpallets/scheduler-v2/src/lib.rsdiffbeforeafterboth

no changes

deletedpallets/scheduler-v2/src/mock.rsdiffbeforeafterboth

no changes

deletedpallets/scheduler-v2/src/tests.rsdiffbeforeafterboth

no changes

deletedpallets/scheduler-v2/src/weights.rsdiffbeforeafterboth

no changes

modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
221}221}
222222
223/// Token data.223/// Token data.
224#[struct_versioning::versioned(version = 2, upper)]
224#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]225#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]
225#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]226#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
226pub struct TokenData<CrossAccountId> {227pub struct TokenData<CrossAccountId> {
231 pub owner: Option<CrossAccountId>,232 pub owner: Option<CrossAccountId>,
232233
233 /// Token pieces.234 /// Token pieces.
235 #[version(2.., upper(0))]
234 pub pieces: u128,236 pub pieces: u128,
235}237}
236238
modifiedprimitives/rpc/src/lib.rsdiffbeforeafterboth
2020
21use up_data_structs::{21use up_data_structs::{
22 CollectionId, TokenId, RpcCollection, CollectionStats, CollectionLimits, Property,22 CollectionId, TokenId, RpcCollection, CollectionStats, CollectionLimits, Property,
23 PropertyKeyPermission, TokenData, TokenChild, RpcCollectionVersion1,23 PropertyKeyPermission, TokenData, TokenChild, RpcCollectionVersion1, TokenDataVersion1,
24};24};
2525
26use sp_std::vec::Vec;26use sp_std::vec::Vec;
77 keys: Option<Vec<Vec<u8>>>77 keys: Option<Vec<Vec<u8>>>
78 ) -> Result<TokenData<CrossAccountId>>;78 ) -> Result<TokenData<CrossAccountId>>;
79
80 #[changed_in(3)]
81 fn token_data(
82 collection: CollectionId,
83 token_id: TokenId,
84 keys: Option<Vec<Vec<u8>>>
85 ) -> Result<TokenDataVersion1<CrossAccountId>>;
7986
80 /// Total number of tokens in collection.87 /// Total number of tokens in collection.
81 fn total_supply(collection: CollectionId) -> Result<u32>;88 fn total_supply(collection: CollectionId) -> Result<u32>;
modifiedruntime/common/config/pallets/scheduler.rsdiffbeforeafterboth
27 runtime_common::{scheduler::SchedulerPaymentExecutor, config::substrate::RuntimeBlockWeights},27 runtime_common::{scheduler::SchedulerPaymentExecutor, config::substrate::RuntimeBlockWeights},
28 Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, OriginCaller, Balances,28 Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, OriginCaller, Balances,
29};29};
30use pallet_unique_scheduler_v2::ScheduledEnsureOriginSuccess;30use pallet_unique_scheduler::ScheduledEnsureOriginSuccess;
31use up_common::types::AccountId;31use up_common::types::AccountId;
3232
33parameter_types! {33parameter_types! {
70 }70 }
71}71}
72
73// impl pallet_unique_scheduler::Config for Runtime {
74// type RuntimeEvent = RuntimeEvent;
75// type RuntimeOrigin = RuntimeOrigin;
76// type Currency = Balances;
77// type PalletsOrigin = OriginCaller;
78// type RuntimeCall = RuntimeCall;
79// type MaximumWeight = MaximumSchedulerWeight;
80// type ScheduleOrigin = EnsureSignedOrRoot<AccountId>;
81// type PrioritySetOrigin = EnsureRoot<AccountId>;
82// type MaxScheduledPerBlock = MaxScheduledPerBlock;
83// type WeightInfo = ();
84// type CallExecutor = SchedulerPaymentExecutor;
85// type OriginPrivilegeCmp = EqualOrRootOnly;
86// type PreimageProvider = ();
87// type NoPreimagePostponement = NoPreimagePostponement;
88// }
8972
90impl pallet_unique_scheduler_v2::Config for Runtime {73impl pallet_unique_scheduler::Config for Runtime {
91 type RuntimeEvent = RuntimeEvent;74 type RuntimeEvent = RuntimeEvent;
92 type RuntimeOrigin = RuntimeOrigin;75 type RuntimeOrigin = RuntimeOrigin;
76 type Currency = Balances;
93 type PalletsOrigin = OriginCaller;77 type PalletsOrigin = OriginCaller;
94 type RuntimeCall = RuntimeCall;78 type RuntimeCall = RuntimeCall;
95 type MaximumWeight = MaximumSchedulerWeight;79 type MaximumWeight = MaximumSchedulerWeight;
96 type ScheduleOrigin = EnsureSignedOrRoot<AccountId>;80 type ScheduleOrigin = EnsureSignedOrRoot<AccountId>;
97 type OriginPrivilegeCmp = EqualOrRootOnly;81 type PrioritySetOrigin = EnsureRoot<AccountId>;
98 type MaxScheduledPerBlock = MaxScheduledPerBlock;82 type MaxScheduledPerBlock = MaxScheduledPerBlock;
99 type WeightInfo = ();83 type WeightInfo = ();
100 type Preimages = ();84 type CallExecutor = SchedulerPaymentExecutor;
101 type CallExecutor = SchedulerPaymentExecutor;85 type OriginPrivilegeCmp = EqualOrRootOnly;
102 type PrioritySetOrigin = EnsureRoot<AccountId>;86 type PreimageProvider = ();
87 type NoPreimagePostponement = NoPreimagePostponement;
103}88}
10489
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
94 EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,94 EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,
95 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,95 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,
96
97 #[runtimes(opal)]
98 Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 154,
9996
100 #[runtimes(opal)]97 #[runtimes(opal)]
101 TestUtils: pallet_test_utils = 255,98 TestUtils: pallet_test_utils = 255,
modifiedruntime/common/scheduler.rsdiffbeforeafterboth
28use crate::{Runtime, RuntimeCall, RuntimeOrigin, 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_v2::DispatchCall;31use pallet_unique_scheduler::DispatchCall;
32use pallet_transaction_payment::ChargeTransactionPayment;32use pallet_transaction_payment::ChargeTransactionPayment;
3333
34// type SponsorshipChargeTransactionPayment =34type SponsorshipChargeTransactionPayment =
35// pallet_charge_transaction::ChargeTransactionPayment<Runtime>;35 pallet_charge_transaction::ChargeTransactionPayment<Runtime>;
3636
37/// The SignedExtension to the basic transaction logic.37/// The SignedExtension to the basic transaction logic.
38pub type SignedExtraScheduler = (38pub type SignedExtraScheduler = (
5959
60pub struct SchedulerPaymentExecutor;60pub struct SchedulerPaymentExecutor;
6161
62impl<T: frame_system::Config + pallet_unique_scheduler_v2::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>::RuntimeCall: Member65 <T as frame_system::Config>::RuntimeCall: Member
69 + From<frame_system::Call<Runtime>>,69 + From<frame_system::Call<Runtime>>,
70 SelfContainedSignedInfo: Send + Sync + 'static,70 SelfContainedSignedInfo: Send + Sync + 'static,
71 RuntimeCall: From<<T as frame_system::Config>::RuntimeCall>71 RuntimeCall: From<<T as frame_system::Config>::RuntimeCall>
72 + From<<T as pallet_unique_scheduler_v2::Config>::RuntimeCall>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_v2::Config>::RuntimeCall,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,
104 extrinsic.apply::<Runtime>(&dispatch_info, len)104 extrinsic.apply::<Runtime>(&dispatch_info, len)
105 }105 }
106
107 fn reserve_balance(
108 id: [u8; 16],
109 sponsor: <T as frame_system::Config>::AccountId,
110 call: <T as pallet_unique_scheduler::Config>::RuntimeCall,
111 count: u32,
112 ) -> Result<(), DispatchError> {
113 let dispatch_info = call.get_dispatch_info();
114 let weight: Balance =
115 SponsorshipChargeTransactionPayment::traditional_fee(0, &dispatch_info, 0)
116 .saturating_mul(count.into());
117
118 <Balances as NamedReservableCurrency<AccountId>>::reserve_named(
119 &id,
120 &(sponsor.into()),
121 weight,
122 )
123 }
124
125 fn pay_for_call(
126 id: [u8; 16],
127 sponsor: <T as frame_system::Config>::AccountId,
128 call: <T as pallet_unique_scheduler::Config>::RuntimeCall,
129 ) -> Result<u128, DispatchError> {
130 let dispatch_info = call.get_dispatch_info();
131 let weight: Balance =
132 SponsorshipChargeTransactionPayment::traditional_fee(0, &dispatch_info, 0);
133 Ok(
134 <Balances as NamedReservableCurrency<AccountId>>::unreserve_named(
135 &id,
136 &(sponsor.into()),
137 weight,
138 ),
139 )
140 }
141
142 fn cancel_reserve(
143 id: [u8; 16],
144 sponsor: <T as frame_system::Config>::AccountId,
145 ) -> Result<u128, DispatchError> {
146 Ok(
147 <Balances as NamedReservableCurrency<AccountId>>::unreserve_named(
148 &id,
149 &(sponsor.into()),
150 u128::MAX,
151 ),
152 )
153 }
106}154}
107
108// impl<T: frame_system::Config + pallet_unique_scheduler::Config, SelfContainedSignedInfo>
109// DispatchCall<T, SelfContainedSignedInfo> for SchedulerPaymentExecutor
110// where
111// <T as frame_system::Config>::Call: Member
112// + Dispatchable<Origin = Origin, Info = DispatchInfo>
113// + SelfContainedCall<SignedInfo = SelfContainedSignedInfo>
114// + GetDispatchInfo
115// + From<frame_system::Call<Runtime>>,
116// SelfContainedSignedInfo: Send + Sync + 'static,
117// Call: From<<T as frame_system::Config>::Call>
118// + From<<T as pallet_unique_scheduler::Config>::Call>
119// + SelfContainedCall<SignedInfo = SelfContainedSignedInfo>,
120// sp_runtime::AccountId32: From<<T as frame_system::Config>::AccountId>,
121// {
122// fn dispatch_call(
123// signer: Option<<T as frame_system::Config>::AccountId>,
124// call: <T as pallet_unique_scheduler::Config>::Call,
125// ) -> Result<
126// Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>,
127// TransactionValidityError,
128// > {
129// let dispatch_info = call.get_dispatch_info();
130// let len = call.encoded_size();
131
132// let signed = match signer {
133// Some(signer) => fp_self_contained::CheckedSignature::Signed(
134// signer.clone().into(),
135// get_signed_extras(signer.into()),
136// ),
137// None => fp_self_contained::CheckedSignature::Unsigned,
138// };
139
140// let extrinsic = fp_self_contained::CheckedExtrinsic::<
141// AccountId,
142// Call,
143// SignedExtraScheduler,
144// SelfContainedSignedInfo,
145// > {
146// signed,
147// function: call.into(),
148// };
149
150// extrinsic.apply::<Runtime>(&dispatch_info, len)
151// }
152
153// fn reserve_balance(
154// id: [u8; 16],
155// sponsor: <T as frame_system::Config>::AccountId,
156// call: <T as pallet_unique_scheduler::Config>::Call,
157// count: u32,
158// ) -> Result<(), DispatchError> {
159// let dispatch_info = call.get_dispatch_info();
160// let weight: Balance =
161// SponsorshipChargeTransactionPayment::traditional_fee(0, &dispatch_info, 0)
162// .saturating_mul(count.into());
163
164// <Balances as NamedReservableCurrency<AccountId>>::reserve_named(
165// &id,
166// &(sponsor.into()),
167// weight,
168// )
169// }
170
171// fn pay_for_call(
172// id: [u8; 16],
173// sponsor: <T as frame_system::Config>::AccountId,
174// call: <T as pallet_unique_scheduler::Config>::Call,
175// ) -> Result<u128, DispatchError> {
176// let dispatch_info = call.get_dispatch_info();
177// let weight: Balance =
178// SponsorshipChargeTransactionPayment::traditional_fee(0, &dispatch_info, 0);
179// Ok(
180// <Balances as NamedReservableCurrency<AccountId>>::unreserve_named(
181// &id,
182// &(sponsor.into()),
183// weight,
184// ),
185// )
186// }
187
188// fn cancel_reserve(
189// id: [u8; 16],
190// sponsor: <T as frame_system::Config>::AccountId,
191// ) -> Result<u128, DispatchError> {
192// Ok(
193// <Balances as NamedReservableCurrency<AccountId>>::unreserve_named(
194// &id,
195// &(sponsor.into()),
196// u128::MAX,
197// ),
198// )
199// }
200// }
201155
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
42 'pallet-inflation/runtime-benchmarks',42 'pallet-inflation/runtime-benchmarks',
43 'pallet-app-promotion/runtime-benchmarks',43 'pallet-app-promotion/runtime-benchmarks',
44 'pallet-unique-scheduler/runtime-benchmarks',44 'pallet-unique-scheduler/runtime-benchmarks',
45 'pallet-unique-scheduler-v2/runtime-benchmarks',
46 'pallet-xcm/runtime-benchmarks',45 'pallet-xcm/runtime-benchmarks',
47 'sp-runtime/runtime-benchmarks',46 'sp-runtime/runtime-benchmarks',
48 'xcm-builder/runtime-benchmarks',47 'xcm-builder/runtime-benchmarks',
141 'pallet-proxy-rmrk-equip/std',140 'pallet-proxy-rmrk-equip/std',
142 'pallet-unique/std',141 'pallet-unique/std',
143 'pallet-unique-scheduler/std',142 'pallet-unique-scheduler/std',
144 'pallet-unique-scheduler-v2/std',
145 'pallet-charge-transaction/std',143 'pallet-charge-transaction/std',
146 'up-data-structs/std',144 'up-data-structs/std',
147 'sp-api/std',145 'sp-api/std',
474pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }472pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
475pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }473pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
476pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.30", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }474pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.30", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
477pallet-unique-scheduler-v2 = { path = '../../pallets/scheduler-v2', default-features = false }
478pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }475pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
479pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }476pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
480pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }477pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
modifiedtest-pallets/utils/Cargo.tomldiffbeforeafterboth
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.30" }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.30" }12frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.30" }
13# pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
14pallet-unique-scheduler-v2 = { path = '../../pallets/scheduler-v2', default-features = false }13pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
1514
16[features]15[features]
17default = ["std"]16default = ["std"]
20 "scale-info/std",19 "scale-info/std",
21 "frame-support/std",20 "frame-support/std",
22 "frame-system/std",21 "frame-system/std",
23 "pallet-unique-scheduler-v2/std",22 "pallet-unique-scheduler/std",
24]23]
2524
modifiedtest-pallets/utils/src/lib.rsdiffbeforeafterboth
24pub mod pallet {24pub mod pallet {
25 use frame_support::pallet_prelude::*;25 use frame_support::pallet_prelude::*;
26 use frame_system::pallet_prelude::*;26 use frame_system::pallet_prelude::*;
27 use pallet_unique_scheduler_v2::{TaskName, Pallet as SchedulerPallet};27 use pallet_unique_scheduler::{ScheduledId, Pallet as SchedulerPallet};
2828
29 #[pallet::config]29 #[pallet::config]
30 pub trait Config: frame_system::Config + pallet_unique_scheduler_v2::Config {30 pub trait Config: frame_system::Config + pallet_unique_scheduler::Config {
31 type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;31 type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
32 }32 }
3333
94 #[pallet::weight(10_000)]94 #[pallet::weight(10_000)]
95 pub fn self_canceling_inc(95 pub fn self_canceling_inc(
96 origin: OriginFor<T>,96 origin: OriginFor<T>,
97 id: TaskName,97 id: ScheduledId,
98 max_test_value: u32,98 max_test_value: u32,
99 ) -> DispatchResult {99 ) -> DispatchResult {
100 Self::ensure_origin_and_enabled(origin.clone())?;100 Self::ensure_origin_and_enabled(origin.clone())?;
101 Self::inc_test_value(origin.clone())?;
102101
103 if <TestValue<T>>::get() == max_test_value {102 if <TestValue<T>>::get() < max_test_value {
103 Self::inc_test_value(origin)?;
104 } else {
104 SchedulerPallet::<T>::cancel_named(origin, id)?;105 SchedulerPallet::<T>::cancel_named(origin, id)?;
105 }106 }
106107
modifiedtests/src/util/playgrounds/unique.dev.tsdiffbeforeafterboth
308 await this.helper.wait.noScheduledTasks();308 await this.helper.wait.noScheduledTasks();
309309
310 function makeId(slider: number) {310 function makeId(slider: number) {
311 const scheduledIdSize = 64;311 const scheduledIdSize = 32;
312 const hexId = slider.toString(16);312 const hexId = slider.toString(16);
313 const prefixSize = scheduledIdSize - hexId.length;313 const prefixSize = scheduledIdSize - hexId.length;
314314
modifiedtests/src/util/playgrounds/unique.tsdiffbeforeafterboth
2838 this.blocksNum,2838 this.blocksNum,
2839 this.options.periodic ? [this.options.periodic.period, this.options.periodic.repetitions] : null,2839 this.options.periodic ? [this.options.periodic.period, this.options.periodic.repetitions] : null,
2840 this.options.priority ?? null,2840 this.options.priority ?? null,
2841 scheduledTx,2841 {Value: scheduledTx},
2842 ],2842 ],
2843 expectSuccess,2843 expectSuccess,
2844 );2844 );