AstarNetwork / Astar

The dApp hub for blockchains of the future
https://astar.network/
GNU General Public License v3.0
732 stars 200 forks source link

Base native currency price for dApp Staking #1252

Closed Dinonard closed 1 month ago

Dinonard commented 1 month ago

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 the base_number_of_slots. This way ensures thresholds are always updated in respect to what the baseline is.

Note

github-actions[bot] commented 1 month ago

Code Coverage

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%