In this release, we introduce a major refactoring of our parachain staking pallet used for LDPoS: Rewards will not be moved into wallets of collators and delegators automatically. Instead, we migrate to a pull-based approach in which each user has to actively claim their rewards. However, the rewards will still be accounted automatically.
This idea was proposed by multiple users to reduce the number of Rewarded
events. As a result, the scalability of our network is increased by orders of magnitude and it enables users to have full control over the timing for their reward. The latter should make tax reporting much easier. Unclaimed rewards come with an unlimited lifetime. Thus, from a technical perspective, there is no need to worry about claiming frequently.
We added runtime API calls to query the amount of your unclaimed rewards. Claiming these is fairly simple and can be done in a simple batch call. Our Stakeboard will also display the amount and provide means of claiming them easily.
For more details, please read out blogpost on Medium.
What's Changed
- feat: staking payout refactor by @wischli in #384
- feat: transfer deposit by @weichweich in #405
- fix: clone and allocation while benchmarking by @weichweich in #409
- chore: remove RPC for public credentials and remove
Api
suffix from runtime APIs by @ntn-x2 in #426 - feat: cleanup duplicate dependencies by @wischli in #419
- chore: remove old DID runtime API in favor of the new one by @ntn-x2 in #425
- refactor(delegation): move impl Pallet into pallet mod by @weichweich in #428
- refactor: remove custom serde derivation for DID types by @wischli in #429
- refactor: separate runtime api from custom rpc by @wischli in #413
- refactor: deposits by @weichweich in #427
- feat: workspace inheritance by @wischli in #430
- fix: yorlin keys by @weichweich in #432
- chore: renaming runtime APIs for public credentials by @ntn-x2 in #433
Peregrine only
Public Credentials will be enabled only on Peregrine to make testing possible. It will most likely be enabled on Spiritnet in the 1.9.0 release.
Full Changelog: 1.7.5...1.8.0
Breaking changes (API, Types):
Staking
- The extrinsics
delegator_stake_more
anddelegator_stake_less
do not require a candidate id as input anymore. Thus we bumped the transaction version of the runtime. DelegatorState
is now of typeStake
and only points to a single collator candidateAccountId
instead of an array of length 1
Runtime API
- Removed runtime API
DidApi
after adding theDid
variant in 1.7.5DidApi.query_did
-->Did.query
DidApi.query_did_by_w3n
-->Did.query_by_web3_name
DidApi.query_did_by_account_id
-->Did.query_by_account
WASM
Spiritnet
Rustc : rustc 1.64.0 (a55dd71d5 2022-09-19)
Time : 2022-11-16T09:42:46Z
== Compressed
Version : [object]
Metadata : V14
Size : 897.40 KB (918942 bytes)
Compression : 80.96%
setCode : 0xa8da5e3cb96654d9182bad499309e568c24dd7b92e477a034cce810f0aeac17b
authorizeUpgrade : 0xd53f5c27b81a09ae90e368645c7b848eccb22d7e85338054fc53d031a53c67e4
IPFS : QmfWDs1YC8uVAt2HW37bzuwv9o6EiRvtp43qa5nxdQ9uQE
BLAKE2_256 : 0xd4973ebc57d9f0b98ca5ea8f397abf5c3a74a48da2eb8ae2451eaba34128df32
Wasm : runtimes/spiritnet/target/srtool/release/wbuild/spiritnet-runtime/spiritnet_runtime.compact.compressed.wasm
Peregrine
Rustc : rustc 1.64.0 (a55dd71d5 2022-09-19)
Time : 2022-11-16T09:38:15Z
== Compressed
Version : [object]
Metadata : V14
Size : 938.03 KB (960545 bytes)
Compression : 81%
setCode : 0x543cb89e6236e63a381f070d51fb02b727e9f4b79c0ea3812d89ebd65d4dd94f
authorizeUpgrade : 0xd24ee7a13b2726b440bfb4845b5cc8746272f7384bc95549ac7f12a95cf64c96
IPFS : QmU7bFgAyV3Fa8YXnByN4MUN9ms3QhZeD7Pf31ZMb5irAy
BLAKE2_256 : 0x28df4664c64de9e1f3c3444756f48d475e0ea376a689fc9ef720c03f91ff2cd1
Wasm : runtimes/peregrine/target/srtool/release/wbuild/peregrine-runtime/peregrine_runtime.compact.compressed.wasm