kava
kava copied to clipboard
Global simulations config
Kava's module simulations have a lot of inter-dependencies upon each other's params and genesis state, making sims very inflexible to future changes.
For example, if someone removed any of the individual markets from pricefeed sims genesis it could introduce sims failures across cdp, auction, kavadist, and incentives sims. A more specific example might be changes in account genesis balances in cdp sims causing incentives sims operation msgs to fail as accounts attempt to claim rewards.
This issue can be mitigated by a global simulations config that sets up default simulation values for cross-module params that can be referenced by each individual module's sims.
A follow-up task is to coalesce shared sims utility functions into a small, portable library that includes methods like replaceOrAppendAccount()
.