--- a/runtime/common/scheduler.rs +++ b/runtime/common/scheduler.rs @@ -32,10 +32,6 @@ /// The SignedExtension to the basic transaction logic. pub type SignedExtraScheduler = ( - frame_system::CheckSpecVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, frame_system::CheckWeight, maintenance::CheckMaintenance, ChargeTransactionPayment, @@ -43,12 +39,6 @@ fn get_signed_extras(from: ::AccountId) -> SignedExtraScheduler { ( - frame_system::CheckSpecVersion::::new(), - frame_system::CheckGenesis::::new(), - frame_system::CheckEra::::from(Era::Immortal), - frame_system::CheckNonce::::from(frame_system::Pallet::::account_nonce( - from, - )), frame_system::CheckWeight::::new(), maintenance::CheckMaintenance, ChargeTransactionPayment::::from(0), --- a/tests/src/scheduler.seqtest.ts +++ b/tests/src/scheduler.seqtest.ts @@ -467,6 +467,23 @@ // After the `numFilledBlocks` the periodic operation will eventually be executed expect(await helper.testUtils.testValue()).to.be.equal(secondExecTestVal); }); + + itSub('scheduled operations does not change nonce', async ({helper}) => { + const scheduledId = await helper.arrange.makeScheduledId(); + const blocksBeforeExecution = 4; + + await helper.scheduler + .scheduleAfter(scheduledId, blocksBeforeExecution) + .balance.transferToSubstrate(alice, bob.address, 1n); + + const initNonce = await helper.chain.getNonce(alice.address); + + await helper.wait.newBlocks(blocksBeforeExecution + 1); + + const finalNonce = await helper.chain.getNonce(alice.address); + + expect(initNonce).to.be.equal(finalNonce); + }); }); describe('Negative Test: Scheduling', () => {