git.delta.rocks / unique-network / refs/commits / 591c0ace12a9

difftreelog

fix use wait.forParachainBlockNumber

Daniel Shiposha2022-11-08parent: #96d265c.patch.diff
in: master

1 file changed

modifiedtests/src/scheduler.seqtest.tsdiffbeforeafterboth
4444
45 await token.scheduleAfter(schedulerId, blocksBeforeExecution)45 await token.scheduleAfter(schedulerId, blocksBeforeExecution)
46 .transfer(alice, {Substrate: bob.address});46 .transfer(alice, {Substrate: bob.address});
47 const executionBlock = await helper.chain.getLatestBlockNumber() + blocksBeforeExecution + 1;
4748
48 expect(await token.getOwner()).to.be.deep.equal({Substrate: alice.address});49 expect(await token.getOwner()).to.be.deep.equal({Substrate: alice.address});
4950
50 await helper.wait.newBlocks(blocksBeforeExecution + 1);51 await helper.wait.forParachainBlockNumber(executionBlock);
5152
52 expect(await token.getOwner()).to.be.deep.equal({Substrate: bob.address});53 expect(await token.getOwner()).to.be.deep.equal({Substrate: bob.address});
53 });54 });
6667
67 await helper.scheduler.scheduleAfter(scheduledId, waitForBlocks, {periodic})68 await helper.scheduler.scheduleAfter(scheduledId, waitForBlocks, {periodic})
68 .balance.transferToSubstrate(alice, bob.address, amount);69 .balance.transferToSubstrate(alice, bob.address, amount);
70 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
6971
70 await helper.wait.newBlocks(waitForBlocks + 1);72 await helper.wait.forParachainBlockNumber(executionBlock);
7173
72 const bobsBalanceAfterFirst = await helper.balance.getSubstrate(bob.address);74 const bobsBalanceAfterFirst = await helper.balance.getSubstrate(bob.address);
73 expect(bobsBalanceAfterFirst)75 expect(bobsBalanceAfterFirst)
76 '#1 Balance of the recipient should be increased by 1 * amount',78 '#1 Balance of the recipient should be increased by 1 * amount',
77 );79 );
7880
79 await helper.wait.newBlocks(periodic.period);81 await helper.wait.forParachainBlockNumber(executionBlock + periodic.period);
8082
81 const bobsBalanceAfterSecond = await helper.balance.getSubstrate(bob.address);83 const bobsBalanceAfterSecond = await helper.balance.getSubstrate(bob.address);
82 expect(bobsBalanceAfterSecond)84 expect(bobsBalanceAfterSecond)
9799
98 await token.scheduleAfter(scheduledId, waitForBlocks)100 await token.scheduleAfter(scheduledId, waitForBlocks)
99 .transfer(alice, {Substrate: bob.address});101 .transfer(alice, {Substrate: bob.address});
102 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
100103
101 await helper.scheduler.cancelScheduled(alice, scheduledId);104 await helper.scheduler.cancelScheduled(alice, scheduledId);
102105
103 await helper.wait.newBlocks(waitForBlocks + 1);106 await helper.wait.forParachainBlockNumber(executionBlock);
104107
105 expect(await token.getOwner()).to.be.deep.equal({Substrate: alice.address});108 expect(await token.getOwner()).to.be.deep.equal({Substrate: alice.address});
106 });109 });
120123
121 await helper.scheduler.scheduleAfter(scheduledId, waitForBlocks, {periodic})124 await helper.scheduler.scheduleAfter(scheduledId, waitForBlocks, {periodic})
122 .balance.transferToSubstrate(alice, bob.address, amount);125 .balance.transferToSubstrate(alice, bob.address, amount);
126 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
123127
124 await helper.wait.newBlocks(waitForBlocks + 1);128 await helper.wait.forParachainBlockNumber(executionBlock);
125129
126 const bobsBalanceAfterFirst = await helper.balance.getSubstrate(bob.address);130 const bobsBalanceAfterFirst = await helper.balance.getSubstrate(bob.address);
127131
132 );136 );
133137
134 await helper.scheduler.cancelScheduled(alice, scheduledId);138 await helper.scheduler.cancelScheduled(alice, scheduledId);
135 await helper.wait.newBlocks(periodic.period);139 await helper.wait.forParachainBlockNumber(executionBlock + periodic.period);
136140
137 const bobsBalanceAfterSecond = await helper.balance.getSubstrate(bob.address);141 const bobsBalanceAfterSecond = await helper.balance.getSubstrate(bob.address);
138 expect(bobsBalanceAfterSecond)142 expect(bobsBalanceAfterSecond)
153157
154 await helper.scheduler.scheduleAfter<DevUniqueHelper>(scheduledId, waitForBlocks)158 await helper.scheduler.scheduleAfter<DevUniqueHelper>(scheduledId, waitForBlocks)
155 .testUtils.setTestValueAndRollback(alice, changedTestVal);159 .testUtils.setTestValueAndRollback(alice, changedTestVal);
160 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
156161
157 await helper.wait.newBlocks(waitForBlocks + 1);162 await helper.wait.forParachainBlockNumber(executionBlock);
158163
159 const testVal = await helper.testUtils.testValue();164 const testVal = await helper.testUtils.testValue();
160 expect(testVal, 'The test value should NOT be commited')165 expect(testVal, 'The test value should NOT be commited')
178 await helper.scheduler.scheduleAfter<DevUniqueHelper>(scheduledId, waitForBlocks, {periodic})183 await helper.scheduler.scheduleAfter<DevUniqueHelper>(scheduledId, waitForBlocks, {periodic})
179 .testUtils.justTakeFee(alice);184 .testUtils.justTakeFee(alice);
180
181 await helper.wait.newBlocks(1);185 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
182186
183 const aliceInitBalance = await helper.balance.getSubstrate(alice.address);187 const aliceInitBalance = await helper.balance.getSubstrate(alice.address);
184 let diff;188 let diff;
185189
186 await helper.wait.newBlocks(waitForBlocks);190 await helper.wait.forParachainBlockNumber(executionBlock);
187191
188 const aliceBalanceAfterFirst = await helper.balance.getSubstrate(alice.address);192 const aliceBalanceAfterFirst = await helper.balance.getSubstrate(alice.address);
189 expect(193 expect(
197 'Scheduled task should take the right amount of fees',201 'Scheduled task should take the right amount of fees',
198 );202 );
199203
200 await helper.wait.newBlocks(periodic.period);204 await helper.wait.forParachainBlockNumber(executionBlock + periodic.period);
201205
202 const aliceBalanceAfterSecond = await helper.balance.getSubstrate(alice.address);206 const aliceBalanceAfterSecond = await helper.balance.getSubstrate(alice.address);
203 expect(207 expect(
279283
280 await helper.scheduler.scheduleAfter<DevUniqueHelper>(scheduledId, waitForBlocks, {periodic})284 await helper.scheduler.scheduleAfter<DevUniqueHelper>(scheduledId, waitForBlocks, {periodic})
281 .testUtils.selfCancelingInc(alice, scheduledId, maxTestVal);285 .testUtils.selfCancelingInc(alice, scheduledId, maxTestVal);
286 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
282287
283 await helper.wait.newBlocks(waitForBlocks + 1);288 await helper.wait.forParachainBlockNumber(executionBlock);
284289
285 // execution #0290 // execution #0
286 expect(await helper.testUtils.testValue())291 expect(await helper.testUtils.testValue())
287 .to.be.equal(initTestVal + 1);292 .to.be.equal(initTestVal + 1);
288293
289 await helper.wait.newBlocks(periodic.period);294 await helper.wait.forParachainBlockNumber(executionBlock + periodic.period);
290295
291 // execution #1296 // execution #1
292 expect(await helper.testUtils.testValue())297 expect(await helper.testUtils.testValue())
293 .to.be.equal(initTestVal + 2);298 .to.be.equal(initTestVal + 2);
294299
295 await helper.wait.newBlocks(periodic.period);300 await helper.wait.forParachainBlockNumber(executionBlock + 2 * periodic.period);
296301
297 // <canceled>302 // <canceled>
298 expect(await helper.testUtils.testValue())303 expect(await helper.testUtils.testValue())
308313
309 await token.scheduleAfter(scheduledId, waitForBlocks)314 await token.scheduleAfter(scheduledId, waitForBlocks)
310 .transfer(bob, {Substrate: alice.address});315 .transfer(bob, {Substrate: alice.address});
316 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
311317
312 await helper.getSudo().scheduler.cancelScheduled(superuser, scheduledId);318 await helper.getSudo().scheduler.cancelScheduled(superuser, scheduledId);
313319
314 await helper.wait.newBlocks(waitForBlocks + 1);320 await helper.wait.forParachainBlockNumber(executionBlock);
315321
316 expect(await token.getOwner()).to.be.deep.equal({Substrate: bob.address});322 expect(await token.getOwner()).to.be.deep.equal({Substrate: bob.address});
317 });323 });
327 await helper.getSudo()333 await helper.getSudo()
328 .scheduler.scheduleAfter(scheduledId, waitForBlocks, {priority: 42})334 .scheduler.scheduleAfter(scheduledId, waitForBlocks, {priority: 42})
329 .balance.forceTransferToSubstrate(superuser, bob.address, charlie.address, amount);335 .balance.forceTransferToSubstrate(superuser, bob.address, charlie.address, amount);
336 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
330337
331 await helper.wait.newBlocks(waitForBlocks + 1);338 await helper.wait.forParachainBlockNumber(executionBlock);
332339
333 const balanceAfter = await helper.balance.getSubstrate(charlie.address);340 const balanceAfter = await helper.balance.getSubstrate(charlie.address);
334341
454 await helper.scheduler.scheduleAt<DevUniqueHelper>(periodicId, firstExecutionBlockNumber, {periodic})461 await helper.scheduler.scheduleAt<DevUniqueHelper>(periodicId, firstExecutionBlockNumber, {periodic})
455 .testUtils.incTestValue(alice);462 .testUtils.incTestValue(alice);
456463
457 await helper.wait.newBlocks(blocksBeforeExecution);464 await helper.wait.forParachainBlockNumber(firstExecutionBlockNumber);
458 expect(await helper.testUtils.testValue()).to.be.equal(firstExecTestVal);465 expect(await helper.testUtils.testValue()).to.be.equal(firstExecTestVal);
459466
460 await helper.wait.newBlocks(period + numFilledBlocks);467 await helper.wait.forParachainBlockNumber(firstExecutionBlockNumber + period + numFilledBlocks);
461468
462 // The periodic operation should be postponed by `numFilledBlocks`469 // The periodic operation should be postponed by `numFilledBlocks`
463 for (let i = 0; i < numFilledBlocks; i++) {470 for (let i = 0; i < numFilledBlocks; i++) {
475 await helper.scheduler482 await helper.scheduler
476 .scheduleAfter<DevUniqueHelper>(scheduledId, blocksBeforeExecution)483 .scheduleAfter<DevUniqueHelper>(scheduledId, blocksBeforeExecution)
477 .balance.transferToSubstrate(alice, bob.address, 1n);484 .balance.transferToSubstrate(alice, bob.address, 1n);
485 const executionBlock = await helper.chain.getLatestBlockNumber() + blocksBeforeExecution + 1;
478486
479 const initNonce = await helper.chain.getNonce(alice.address);487 const initNonce = await helper.chain.getNonce(alice.address);
480488
481 await helper.wait.newBlocks(blocksBeforeExecution + 1);489 await helper.wait.forParachainBlockNumber(executionBlock);
482490
483 const finalNonce = await helper.chain.getNonce(alice.address);491 const finalNonce = await helper.chain.getNonce(alice.address);
484492
510518
511 await token.scheduleAfter(scheduledId, waitForBlocks)519 await token.scheduleAfter(scheduledId, waitForBlocks)
512 .transfer(alice, {Substrate: bob.address});520 .transfer(alice, {Substrate: bob.address});
521 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
513522
514 const scheduled = helper.scheduler.scheduleAfter(scheduledId, waitForBlocks);523 const scheduled = helper.scheduler.scheduleAfter(scheduledId, waitForBlocks);
515 await expect(scheduled.balance.transferToSubstrate(alice, bob.address, 1n * helper.balance.getOneTokenNominal()))524 await expect(scheduled.balance.transferToSubstrate(alice, bob.address, 1n * helper.balance.getOneTokenNominal()))
516 .to.be.rejectedWith(/scheduler\.FailedToSchedule/);525 .to.be.rejectedWith(/scheduler\.FailedToSchedule/);
517526
518 const bobsBalanceBefore = await helper.balance.getSubstrate(bob.address);527 const bobsBalanceBefore = await helper.balance.getSubstrate(bob.address);
519528
520 await helper.wait.newBlocks(waitForBlocks + 1);529 await helper.wait.forParachainBlockNumber(executionBlock);
521530
522 const bobsBalanceAfter = await helper.balance.getSubstrate(bob.address);531 const bobsBalanceAfter = await helper.balance.getSubstrate(bob.address);
523532
540549
541 await token.scheduleAfter(scheduledId, waitForBlocks)550 await token.scheduleAfter(scheduledId, waitForBlocks)
542 .transfer(alice, {Substrate: bob.address});551 .transfer(alice, {Substrate: bob.address});
552 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
543553
544 await expect(helper.scheduler.cancelScheduled(bob, scheduledId))554 await expect(helper.scheduler.cancelScheduled(bob, scheduledId))
545 .to.be.rejectedWith(/BadOrigin/);555 .to.be.rejectedWith(/BadOrigin/);
546556
547 await helper.wait.newBlocks(waitForBlocks + 1);557 await helper.wait.forParachainBlockNumber(executionBlock);
548558
549 expect(await token.getOwner()).to.be.deep.equal({Substrate: bob.address});559 expect(await token.getOwner()).to.be.deep.equal({Substrate: bob.address});
550 });560 });
562 await expect(scheduled.balance.transferToSubstrate(alice, bob.address, amount))572 await expect(scheduled.balance.transferToSubstrate(alice, bob.address, amount))
563 .to.be.rejectedWith(/BadOrigin/);573 .to.be.rejectedWith(/BadOrigin/);
574
575 const executionBlock = await helper.chain.getLatestBlockNumber() + waitForBlocks + 1;
564576
565 await helper.wait.newBlocks(waitForBlocks + 1);577 await helper.wait.forParachainBlockNumber(executionBlock);
566578
567 const balanceAfter = await helper.balance.getSubstrate(bob.address);579 const balanceAfter = await helper.balance.getSubstrate(bob.address);
568580