-
Notifications
You must be signed in to change notification settings - Fork 680
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
Broker new price adapter #4521
Broker new price adapter #4521
Conversation
not on number of cores. I have to think a bit more about this, but I believe we will arrive have been sold at almost the base price
The old type was very misleading as an entry in `AllowedRenewals` does not mean that a renewal is actually allowed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some questions and notes here and there but overall looking solid.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR includes three separate pallet-level changes as I see it:
- Giving more scope to the PriceAdapter by removing restrictive logic from the pallet and allowing it to dictate the renewal price
- Changing
adapt_price
to only consider price changes - Renaming AllowedRenewals to reflect its actual implementation
-
I am fully behind. Although I think that we should be adding more information to
SalePerformance
, rather than stripping it back to only the price. Including other metrics from the sale like cores offered and cores sold would achieve this without committing to 2. -
I am not convinced by this approach, I think the new model that you're proposing here weakens the price finding mechanism in cases where we do not sell out, and would increase the time for the price to respond to market fluctuations -- both internal (demand for and perceived value of coretime) and external (DOT-FIAT volatility).
Even if I'm wrong, I think the work in 1 would allow more flexibility in thePriceAdapter
would allow experimentation in the implementation without committing to it at the pallet level. -
Good point, maybe we should reconsider where the completeness check happens. The check for a complete mask for a given workplan and full duration should probably happen before we put it in the
AllowedRenewals
at all, leaving it as a definitive list of cores that can be renewed. I think that's useful information to have in state.
h = 10 * o o = 10 * b
The CI pipeline was cancelled due to failure one of the required jobs. |
4882a2a
to
7e2992c
Compare
bot bench help |
@eskimor Unknown subcommand of "bench". Refer to help docs and/or source code. |
bot bench substrate-pallet --pallet=pallet_broker |
@eskimor https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6338420 was started for your command Comment |
…=dev --target_dir=substrate --pallet=pallet_broker
@eskimor Command |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sweet, let's get it merged. Future models can add anything more general that is needed.
…o rk-broker-new-price-adapter
Fixes #4360 Also rename: AllowedRenewals -> PotentialRenewals to avoid confusion of future readers. (An entry in `AllowedRenewals` is not enough to allow a renewal, the assignment also has to be complete, which is only checked afterwards.) - [x] Does not work with renewals as is - fix. - [x] More tests - [x] PR docs Edit 1: (Relevant blog post: https://grillapp.net/12935/agile-coretime-pricing-explained-166522?ref=29715) --------- Co-authored-by: eskimor <[email protected]> Co-authored-by: Dónal Murray <[email protected]> Co-authored-by: command-bot <>
* master: (93 commits) Fix broken windows build (#4636) Beefy client generic on aduthority Id (#1816) pallet-staking: Put tests behind `cfg(debug_assertions)` (#4620) Broker new price adapter (#4521) Change `XcmDryRunApi::dry_run_extrinsic` to take a call instead (#4621) Update README.md (#4623) Publish `chain-spec-builder` (#4518) Add omni bencher & chain-spec-builder bins to release (#4557) Moves runtime macro out of experimental flag (#4249) Filter workspace dependencies in the templates (#4599) parachain-inherent: Make `para_id` more prominent (#4555) Add metric to measure the time it takes to gather enough assignments (#4587) Improve On_demand_assigner events (#4339) Conditional `required` checks (#4544) [CI] Deny adding git deps (#4572) [subsytem-bench] Remove redundant banchmark_name param (#4540) Add availability-recovery from systematic chunks (#1644) Remove workspace lints from templates (#4598) `sc-chain-spec`: deprecated code removed (#4410) [subsystem-benchmarks] Add statement-distribution benchmarks (#3863) ...
Only the price adapter changes are backported to avoid out-of-order migrations
Only the price adapter changes are backported to avoid out-of-order migrations
Only the price adapter changes are backported to avoid out-of-order migrations
* master: (106 commits) [ci] Delete unused flow (#4676) Fix umbrella CI check and fix the C&P message (#4670) Add Dockerfiles to the templates (#4637) Revamp the Readme of the minimal template (#4649) Add chain-spec-builder docker image (#4655) Update Amforc bootnodes for Kusama and Polkadot (#4668) make all storage items in parachain-system public (#4645) [Pools] Refactors and runtime apis for DelegateStake (#4537) update amforc westend and its parachain bootnodes (#4641) Better error for missing index in CRV2 (#4643) Implement `XcmPaymentApi` and `DryRunApi` on all system parachains (#4634) Use Unlicense for templates (#4628) collator-protocol: remove `elastic-scaling-experimental` feature (#4595) Update `runtime_type` ref doc with the new "Associated Type Bounds" (#4624) Adds ability to specify chain type in chain-spec-builder (#4542) Fix broken windows build (#4636) Beefy client generic on aduthority Id (#1816) pallet-staking: Put tests behind `cfg(debug_assertions)` (#4620) Broker new price adapter (#4521) Change `XcmDryRunApi::dry_run_extrinsic` to take a call instead (#4621) ...
Related to #4521 and #4656 This allows a release of the Broker pallet so the new price adapter can be tested on Kusama ASAP (polkadot-fellows/runtimes#334).
Fixes paritytech#4360 Also rename: AllowedRenewals -> PotentialRenewals to avoid confusion of future readers. (An entry in `AllowedRenewals` is not enough to allow a renewal, the assignment also has to be complete, which is only checked afterwards.) - [x] Does not work with renewals as is - fix. - [x] More tests - [x] PR docs Edit 1: (Relevant blog post: https://grillapp.net/12935/agile-coretime-pricing-explained-166522?ref=29715) --------- Co-authored-by: eskimor <[email protected]> Co-authored-by: Dónal Murray <[email protected]> Co-authored-by: command-bot <>
Fixes paritytech#4360 Also rename: AllowedRenewals -> PotentialRenewals to avoid confusion of future readers. (An entry in `AllowedRenewals` is not enough to allow a renewal, the assignment also has to be complete, which is only checked afterwards.) - [x] Does not work with renewals as is - fix. - [x] More tests - [x] PR docs Edit 1: (Relevant blog post: https://grillapp.net/12935/agile-coretime-pricing-explained-166522?ref=29715) --------- Co-authored-by: eskimor <[email protected]> Co-authored-by: Dónal Murray <[email protected]> Co-authored-by: command-bot <>
Fixes #4360
Also rename: AllowedRenewals -> PotentialRenewals to avoid confusion of future readers. (An entry in
AllowedRenewals
is not enough to allow a renewal, the assignment also has to be complete, which is only checked afterwards.)Edit 1:
(Relevant blog post: https://grillapp.net/12935/agile-coretime-pricing-explained-166522?ref=29715)