Closed Dinonard closed 1 month ago
Package | Line Rate | Branch Rate | Health |
---|---|---|---|
pallets/dapp-staking-migration/src | 0% | 0% | ❌ |
pallets/oracle-benchmarks/src | 0% | 0% | ❌ |
precompiles/dispatch-lockdrop/src | 86% | 0% | ✔ |
primitives/src | 61% | 0% | ➖ |
pallets/ethereum-checked/src | 79% | 0% | ➖ |
pallets/dynamic-evm-base-fee/src | 92% | 0% | ✔ |
chain-extensions/types/unified-accounts/src | 0% | 0% | ❌ |
precompiles/dapp-staking-v3/src | 90% | 0% | ✔ |
pallets/unified-accounts/src | 86% | 0% | ✔ |
precompiles/dapp-staking-v3/src/test | 0% | 0% | ❌ |
precompiles/unified-accounts/src | 100% | 0% | ✔ |
chain-extensions/pallet-assets/src | 56% | 0% | ➖ |
chain-extensions/types/assets/src | 0% | 0% | ❌ |
pallets/collator-selection/src | 92% | 0% | ✔ |
pallets/price-aggregator/src | 72% | 0% | ➖ |
pallets/astar-xcm-benchmarks/src/fungible | 100% | 0% | ✔ |
pallets/dapp-staking-v3/src/benchmarking | 98% | 0% | ✔ |
pallets/static-price-provider/src | 52% | 0% | ➖ |
precompiles/xcm/src | 73% | 0% | ➖ |
pallets/astar-xcm-benchmarks/src/generic | 100% | 0% | ✔ |
pallets/dapp-staking-v3/src | 92% | 0% | ✔ |
precompiles/substrate-ecdsa/src | 74% | 0% | ➖ |
chain-extensions/types/xvm/src | 0% | 0% | ❌ |
precompiles/assets-erc20/src | 81% | 0% | ✔ |
pallets/dapp-staking-v3/src/test | 0% | 0% | ❌ |
pallets/xc-asset-config/src | 64% | 0% | ➖ |
pallets/inflation/src | 83% | 0% | ✔ |
pallets/dapp-staking-v3/rpc/runtime-api/src | 0% | 0% | ❌ |
precompiles/sr25519/src | 64% | 0% | ➖ |
pallets/astar-xcm-benchmarks/src | 88% | 0% | ✔ |
primitives/src/xcm | 64% | 0% | ➖ |
precompiles/xvm/src | 75% | 0% | ➖ |
pallets/xvm/src | 54% | 0% | ➖ |
chain-extensions/xvm/src | 0% | 0% | ❌ |
chain-extensions/unified-accounts/src | 0% | 0% | ❌ |
Summary | 78% (3600 / 4635) | 0% (0 / 0) | ➖ |
Minimum allowed line rate is 50%
Pull Request Summary
Fixes an issue with threshold calculation in dApp staking.
The issue happens because the formula for tier threshold update did not account for threshold value saturation. As
ASTR
price increased, so did the number of available slots, and as a result, thresholds saturated at the minimum possible value. Number of slots could keep increasing, while the thresholds remained the same.But as ASTR price dropped, this brought a negative change in the number of slots. Since number of slots was way larger than the base number of slots, this seemed as a larger change that it was supposed to be, in respect to the current threshold.
This fix changes the way threshold is calculated so that the
new_number_of_slots
is always compared to thebase_number_of_slots
. This way ensures thresholds are always updated in respect to what the baseline is.Note