v2.0.0
Description
Spec version : 295
Impl version : 0
Node upgrade required: Yes
In this release, a series of significant enhancements have been introduced to the extrinsics of automation, ensuring coherence across a variety of task types. The introduction of unified event types and new extrinsic parameters bring forth a more structured and robust automation process, along with greater control from developers. Below, we detail the core modifications of timeAutomation pallet.
- General - New key events have been introduced to automation to unify all types of tasks:
- When a task is successfully scheduled, a TaskScheduled event will be emitted.
- When a task is successfully triggered, a TaskTriggered event will be emitted.
- If the triggered execution succeeds, a TaskExecuted event will fire; otherwise, TaskExecutionFailed will fire.
- Finally, when all scheduled executions are complete, a TaskCompleted event will fire.
- Changes to AutomationTime.scheduleXcmTask extrinsic:
- Parameter change - The fee parameter for the extrinsic call has been split into scheduleFee and executionFee, improving clarity and organization within the parameter list.
- Parameter value restriction - Currently, paying automation fees in MGX is temporarily on hold. Until the calculation is fine-tuned, it is recommended to use TUR when paying both the scheduleFee and executionFee.
- With these changes, a total fee calculation problem found in early versions has been fixed, and fee errors occur less frequently.
- Changes to AutomationTime.scheduleAutoCompoundDelegatedStakeTask behavior:
- InsufficientBalance error will no longer interrupt scheduleAutoCompoundDelegatedStakeTask. Previously, when users set remaining balance high and staking reward is not enough for the limit, an AutoCompoundDelegatorStakeFailed event would occur with an InsufficientBalance error, preventing the task from recurring. Now, a unified TaskExecutionFailed event will fire with the InsufficientBalance error, but it will not stop recurrence.
- However, if there is no delegation to the collator, the auto-compound task scheduleAutoCompoundDelegatedStakeTask will abort since it does not make sense to retry for auto-compounding without an active staking delegation.
- General - A new variable has been introduced to automation:
- An abortErrors array has been added to the task parameter to explicitly specify critical errors that will abort a task. This adds customizability for developers to specify which error will stop recurrence.
- The abortErrors is currently using pre-defined values for testing. For example, in the above-mentioned task scheduleAutoCompoundDelegatedStakeTask, DelegatorDNE and DelegationDNE errors are pre-defined in the abortErrors array, indicating that these two errors will make the task abort.
- Unit tests in Rust code base have been revamped, increasing coverage and accommodating dev code changes.
What's Changed
- Modify Mangata chain name in zombienet config by @imstar15 in #364
- Unblock reserved transfer of asset on relay chain to self by @imstar15 in #367
- Display polkadotXcm storage data in chain state -> storage by @imstar15 in #368
- Remove migration in runtime 293 by @imstar15 in #369
- Bump to spec version 294 by @imstar15 in #370
- add stale activity checker by @v9n in #375
- Make threshold adjustable when running the stale check manually by @v9n in #376
- correct git clone command for mangata node by @v9n in #371
- Remove schedule notify by @v9n in #380
- Add schedule_as into TaskScheduled event by @imstar15 in #365
- Remove schedule native transfer by @v9n in #377
- auto lint code with
cargo fmt
by @v9n in #381 - Fix xcmp_fee for automation-time by @imstar15 in #366
- Emit TaskCompleted event when a Fixed task is completed by @imstar15 in #385
- Minor readme update and clean up outdated zombienet config by @chrisli30 in #390
- Auto generated task id and remove provided_id by @v9n in #384
- Update the format of turing srtool output in the release template by @chrisli30 in #391
- add ParachainStaking into our allowed schedule by @v9n in #397
- fix xcmp migration fail to decoded error by @v9n in #398
- Fix #387 - Generalize the Event and Error of tasks by separating execution from triggering and rescheduling by @imstar15 in #383
- make docker build optinal from release workflow by @v9n in #399
- Fix xcmp return weight by @v9n in #400
- Bump node to 2.0.0 and runtime to 295 by @v9n in #392
- accept list of pallet for benchmark action by @v9n in #401
- fix calculate task id in benchmark verify block by @v9n in #403
- Modify the execution fee of the Mangata XCMP task in the migration by @imstar15 in #402
- Update README.md to add instructions of running the latest zombienet with polkadot 0.9.43 by @chrisli30 in #405
- Update zombienet script to fix port numbers of relay chain nodes by @chrisli30 in #407
- Remove notify and native transfer by @v9n in #410
- Update pallet weights by @github-actions in #411
- use Vector of old task id hash for new task id by @v9n in #412
Full Changelog: v1.9.0...v2.0.0
oak srtool output
Rust : rustc 1.66.1 (90743e729 2023-01-10)
Spec version : 295
Impl version : 0
Tx version : 18
Size : 1026746
Proposal : 0x43ed15258ce9691d2e952942f0c0fb27e5fcb34178ec939c92abdd999fc10144
IPFS : QmP55kTYDmSo9CwH2toJQTHJaGvRdTe3GWLiw1hgzi2MFE
BLAKE2_256 : 0x3d840b3676c042a261d412a535394f82047bf256ac996187e83d810ed7d3e6f2
turing srtool output
Rust : rustc 1.66.1 (90743e729 2023-01-10)
Spec version : 295
Impl version : 0
Tx version : 18
Size : 1050269
Proposal : 0x32bd2f8ca4ec387e1a56c019ec838c0794741642d8e8d43f844c33502ebb1f50
IPFS : QmVjtiwHdiqeHayhDukZ63HiWHudjNoVs3jeLsWSe18p8t
BLAKE2_256 : 0x5a79d20bd5a51fda3eca229e4f0671bcfaa720996883ec759889488305172307