paritytech / substrate

Substrate: The platform for blockchain innovators
Apache License 2.0
8.39k stars 2.65k forks source link

Document safety constraints of `pallet-scheduler` #14715

Closed kianenigma closed 1 year ago

kianenigma commented 1 year ago

There is a lot of insider information, spread mostly in forum posts like https://forum.polkadot.network/t/pallet-idea-safe-scheduler/1009 that the existing scheduler pallet is unsafe, and should only be used internally by the runtime. In other words, scheduling operations should not be allowed by arbitrary external users.

I am worried that, similar to offchain workers, this pallet it as first glance a silver bullet that might lead to someone designing an application with the wrong assumption, thinking that this pallet is going magically schedule things for them across blocks, while it won't, and it can easily lead a parachain to stall.

This information is vital and should be in the source docs of the pallet, not the heads of a few.

Additionally, a warning about the change of decoding for stored calls is also a good point to be mentioned.

Update https://paritytech.github.io/substrate/master/pallet_scheduler/index.html to be aligned with the house pallet documentation guidelines, and make sure this point is also covered.

kianenigma commented 1 year ago

@sam0x17 given your work on #14329 will to some extent solve a similar problem, this might be a good one for you.

Else, anyone wishing to work on documentation of pallets (wink @sacha-l @aaronbassett) can pick this up.

snowmead commented 1 year ago

Hey @kianenigma, I will take this.