-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ADP-478: Garbage collect delisted stake pools from SMASH #2249
Commits on Nov 10, 2020
-
Add
delistPools
to Pool DBLayerThis is the first step for garbage collecting stake pools based on SMASH delisting. X-JIRA-Ticket: ADP-478
Configuration menu - View commit details
-
Copy full SHA for c6e9260 - Browse repository at this point
Copy the full SHA c6e9260View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45e1a88 - Browse repository at this point
Copy the full SHA 45e1a88View commit details -
Configuration menu - View commit details
-
Copy full SHA for 903440d - Browse repository at this point
Copy the full SHA 903440dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1896b34 - Browse repository at this point
Copy the full SHA 1896b34View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbbf8c0 - Browse repository at this point
Copy the full SHA fbbf8c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 88c6cff - Browse repository at this point
Copy the full SHA 88c6cffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 04f3415 - Browse repository at this point
Copy the full SHA 04f3415View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ed274a - Browse repository at this point
Copy the full SHA 7ed274aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3192c4e - Browse repository at this point
Copy the full SHA 3192c4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for fbb57d0 - Browse repository at this point
Copy the full SHA fbb57d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 456ee2d - Browse repository at this point
Copy the full SHA 456ee2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b65f3d - Browse repository at this point
Copy the full SHA 7b65f3dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 55ddb80 - Browse repository at this point
Copy the full SHA 55ddb80View commit details -
Configuration menu - View commit details
-
Copy full SHA for 173f9ed - Browse repository at this point
Copy the full SHA 173f9edView commit details -
Configuration menu - View commit details
-
Copy full SHA for de490f5 - Browse repository at this point
Copy the full SHA de490f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f17cb5 - Browse repository at this point
Copy the full SHA 7f17cb5View commit details -
Update lib/shelley/src/Cardano/Wallet/Shelley/Pools.hs
Co-authored-by: Jonathan Knowles <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for abf915e - Browse repository at this point
Copy the full SHA abf915eView commit details -
Update lib/core/src/Cardano/Wallet/Api/Types.hs
Co-authored-by: Jonathan Knowles <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 71b0d6b - Browse repository at this point
Copy the full SHA 71b0d6bView commit details -
Record delisted pools in a dedicated table.
Record delisted pools in a dedicated table instead of using a field in the `pool_registrations` table. In the updated schema, a pool is delisted if (and only if) there is a single row containing that pool's id in the `delisted_pools` table. This solution has several advantages: 1. We only need a single database row to record that a pool is delisted. 2. We no longer need to carefully to ensure that all registration records for a particular pool have the same delisted status. A pool is either delisted or not delisted: the schema rules out all intermediate states. 3. Pools automatically remain delisted when rollbacks occur or when new certificates are published, with no extra effort. 4. The `putPoolRegistration` function no longer needs to read the most-recently-written registration entry before adding a new entry. 5. Each row in the `pool_registrations` table is now just an immutable record of a registration certificate. 6. The `PoolFlag` type is no longer necessary.
Configuration menu - View commit details
-
Copy full SHA for 204e685 - Browse repository at this point
Copy the full SHA 204e685View commit details -
Rename
delisted_pools
table topool_delistment
.In response to review feedback: #2277 (comment)
Configuration menu - View commit details
-
Copy full SHA for cf7a5ad - Browse repository at this point
Copy the full SHA cf7a5adView commit details -
Make
delistPools
replace the set of delisted pools.We must replace the set of delisted pools, rather than augmenting it. In response to review feedback: #2277 (comment)
Configuration menu - View commit details
-
Copy full SHA for 4b3c36b - Browse repository at this point
Copy the full SHA 4b3c36bView commit details -
Rename
delistPools
toputDelistedPools
.This operation completely replaces the set of delisted pools, rather than augmenting it. Therefore, the name `delistPools` is slightly misleading, as it gives the impression that the existing set will be augmented, which is no longer true. In response to review feedback: #2277 (comment)
Configuration menu - View commit details
-
Copy full SHA for 90873a8 - Browse repository at this point
Copy the full SHA 90873a8View commit details -
Update
prop_putDelistedPools
to check for overwriting.In particular, we check that 'putDelistedPools' completely overwrites the existing set every time. In response to review feedback: #2277 (comment)
Configuration menu - View commit details
-
Copy full SHA for 08df4e1 - Browse repository at this point
Copy the full SHA 08df4e1View commit details -
Remove
prop_putDelistedPoolsPersists
.This test no longer makes sense, as delisted pools are no longer stored in the `pool_registration` table. In response to review feedback: #2277 (comment)
Configuration menu - View commit details
-
Copy full SHA for 2995450 - Browse repository at this point
Copy the full SHA 2995450View commit details -
Adjust
removePools
to not remove pools from the delisted set.In response to review feedback: #2277 (comment)
Configuration menu - View commit details
-
Copy full SHA for b564500 - Browse repository at this point
Copy the full SHA b564500View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b8df37 - Browse repository at this point
Copy the full SHA 0b8df37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a70362 - Browse repository at this point
Copy the full SHA 4a70362View commit details -
Configuration menu - View commit details
-
Copy full SHA for 105ec6a - Browse repository at this point
Copy the full SHA 105ec6aView commit details -
unify gcPoolStatus and maintenance action for a cleaner API
It was a bit awkward to have two completely distinct endpoints for this with different paths, whereas they related to exactly the same thing. This commit makes the API a bit more consistent by wrapping the `gcPoolStatus` inside a `maintenance action` object. So that, the API now offers two dual endpoints: - post maintenance action - get maintenance action There's only one maintenance action available at this stage.
Configuration menu - View commit details
-
Copy full SHA for 6489807 - Browse repository at this point
Copy the full SHA 6489807View commit details