I have added a Scheduler into my pallet, I'm following referenda pallet as model.

I have written some tests, and the scheduler functionality is working.

However, I have noticed that in my unit tests the compiler is asking for a v2 interface while in the pallet is asking for a v3 interface.

I can't see why is this happening, In my Pallet:

use frame_support::{
            v3::{Anon as ScheduleAnon, Named as ScheduleNamed},


pub trait Config: frame_system::Config {


        type Scheduler: ScheduleAnon<BlockNumberFor<Self>, CallOf<Self>, PalletsOriginOf<Self>>
        + ScheduleNamed<BlockNumberFor<Self>, CallOf<Self>, PalletsOriginOf<Self>>;



Any idea what could be triggering this?

  • What kind of test is that and where does it come from? Why is the test not updated to require a v3 interface? Commented Nov 22, 2023 at 11:43

1 Answer 1


After creating utility functions in the pallet for handling scheduling the issue went away.

I was trying to use Scheduler without preimages pallet because I only plan to schedule inline calls, but I had to add it anyway. I think this could be the root of the problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.