Skip to content
Snippets Groups Projects
Unverified Commit 795bc77d authored by Ankan's avatar Ankan Committed by GitHub
Browse files

[Pools] Refactors and runtime apis for DelegateStake (#4537)


## Runtime Apis
Introduces the following runtime apis to facilitate dapps and wallets in
integrating with the `DelegateStake` functionalities of the pools
(related: https://github.com/paritytech/polkadot-sdk/pull/3905). These
apis are meant to support pool and member migration, as well as lazy
application of pending slashes of pool members.

```rust
fn pool_pending_slash(pool_id: PoolId) -> Balance;
fn member_pending_slash(member: AccountId) -> Balance;
fn pool_needs_delegate_migration(pool_id: PoolId) -> bool;
fn member_needs_delegate_migration(member: AccountId) -> bool;
```

## Refactors
- Introduces newtypes for `Agent`, `Delegator`, `Pool` and
`[Pool]Member`. And refactors `StakeAdapter` and `DelegationInterface`
to accept the above types. This will help make these apis typesafe
against using wrong account type.
- Fixing `DelegationInterface` apis to return optional (instead of
default value if key does not exist).
- Rename struct `Agent` that wraps `AgentLedger` to `AgentOuterLedger`
which is clearer (naming wise) and different from the newtype `Agent`.
- Cleaning up new Pool events (related to `Delegation` feature of pool).

---------

Signed-off-by: default avatarMatteo Muraca <mmuraca247@gmail.com>
Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
Signed-off-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
Signed-off-by: default avatarAdrian Catangiu <adrian@parity.io>
Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: default avatardivdeploy <chenguangxue@outlook.com>
Signed-off-by: default avatardependabot[bot] <support@github.com>
Signed-off-by: default avatarhongkuang <liurenhong@outlook.com>
Co-authored-by: default avatarBastian Köcher <git@kchr.de>
Co-authored-by: default avatargemini132 <164285545+gemini132@users.noreply.github.com>
Co-authored-by: default avatarMatteo Muraca <56828990+muraca@users.noreply.github.com>
Co-authored-by: default avatarLiam Aharon <liam.aharon@hotmail.com>
Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: default avatarAlexandru Gheorghe <49718502+alexggh@users.noreply.github.com>
Co-authored-by: default avatarAlessandro Siniscalchi <asiniscalchi@gmail.com>
Co-authored-by: default avatarAndrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: default avatarRoss Bulat <ross@parity.io>
Co-authored-by: default avatarSerban Iorga <serban@parity.io>
Co-authored-by: default avatars0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
Co-authored-by: default avatarSam Johnson <sam@durosoft.com>
Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
Co-authored-by: default avatarJavier Viola <363911+pepoviola@users.noreply.github.com>
Co-authored-by: default avatarAlexandru Vasile <60601340+lexnv@users.noreply.github.com>
Co-authored-by: default avatarNiklas Adolfsson <niklasadolfsson1@gmail.com>
Co-authored-by: default avatarDastan <88332432+dastansam@users.noreply.github.com>
Co-authored-by: default avatarClara van Staden <claravanstaden64@gmail.com>
Co-authored-by: default avatarRon <yrong1997@gmail.com>
Co-authored-by: default avatarVincent Geddes <vincent@snowfork.com>
Co-authored-by: default avatarSvyatoslav Nikolsky <svyatonik@gmail.com>
Co-authored-by: default avatarMichal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
Co-authored-by: default avatarDino Pačandi <3002868+Dinonard@users.noreply.github.com>
Co-authored-by: default avatarAndrei Eres <eresav@me.com>
Co-authored-by: default avatarAlin Dima <alin@parity.io>
Co-authored-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: default avatarBastian Köcher <info@kchr.de>
Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
Co-authored-by: default avatarSebastian Kunert <skunert49@gmail.com>
Co-authored-by: default avatargupnik <nikhilgupta.iitk@gmail.com>
Co-authored-by: Vladimir Istyufeev's avatarVladimir Istyufeev <vladimir@parity.io>
Co-authored-by: default avatarLulu <morgan@parity.io>
Co-authored-by: default avatarJuan Girini <juangirini@gmail.com>
Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: default avatarKutsal Kaan Bilgin <kutsalbilgin@gmail.com>
Co-authored-by: default avatarErmal Kaleci <ermalkaleci@gmail.com>
Co-authored-by: default avatarordian <write@reusable.software>
Co-authored-by: default avatardivdeploy <166095818+divdeploy@users.noreply.github.com>
Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: default avatarSergej Sakac <73715684+Szegoo@users.noreply.github.com>
Co-authored-by: default avatarSquirrel <gilescope@gmail.com>
Co-authored-by: default avatarHongKuang <166261675+HongKuang@users.noreply.github.com>
Co-authored-by: default avatarTsvetomir Dimitrov <tsvetomir@parity.io>
Co-authored-by: default avatarEgor_P <egor@parity.io>
Co-authored-by: default avatarAaro Altonen <48052676+altonen@users.noreply.github.com>
Co-authored-by: default avatarDmitry Markin <dmitry@markin.tech>
Co-authored-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: default avatarLéa Narzis <78718413+lean-apple@users.noreply.github.com>
Co-authored-by: default avatarGonçalo Pestana <g6pestana@gmail.com>
Co-authored-by: default avatargeorgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
Co-authored-by: command-bot <>
Co-authored-by: default avatarPG Herveou <pgherveou@gmail.com>
Co-authored-by: default avatarjimwfs <wqq1479787@163.com>
Co-authored-by: default avatarjimwfs <169986508+jimwfs@users.noreply.github.com>
Co-authored-by: default avatarpolka.dom <polkadotdom@gmail.com>
parent 5779ec5b
No related merge requests found
Pipeline #479862 waiting for manual action with stages
in 45 minutes and 37 seconds
Showing
with 800 additions and 431 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment