-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[SPIKE] Better dev UX with simulations #20411
base: main
Are you sure you want to change the base?
Conversation
Important Review SkippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
* main: (95 commits) fix(x/accounts): check for overflows in multisig weights and votes (#20384) docs(x/account/auth): Improve error handling and comments in fee.go (#20426) docs: fix some markdown syntax (#20432) revert: bank change module to account change (#20427) fix: nil pointer panic when store don't exists in historical version (#20425) fix(store/v2): Remove should not error on miss (#20423) chore: upstream more changes from v2 (#20387) docs(x/auth/ante): fixed typo in TxWithTimeoutHeight interface name (#20418) fix: avoid default sendenabled for module accounts (#20419) docs(x/auth): fixed typo in command example for multisign transaction (#20417) build(deps): Bump bufbuild/buf-setup-action from 1.31.0 to 1.32.0 (#20413) build(deps): Bump github.com/hashicorp/go-plugin from 1.6.0 to 1.6.1 in /store (#20414) feat(x/accounts): Add schema caching feature and corresponding test case (#20055) refactor(runtime/v2): remove dependency on sdk (#20389) refactor!: turn MsgsV2 into ReflectMessages to make it less confusing (#19839) docs: Enhanced the ParsePagination method documentation (#20385) refactor(runtime,core): split router service (#20401) chore: fix spelling errors (#20400) docs: Documented error handling in OfferSnapshot method (#20380) build(deps): Bump google.golang.org/grpc from 1.63.2 to 1.64.0 (#20390) ...
) | ||
panic("old") | ||
|
||
ak, bk := am.accountKeeper, am.keeper |
Check warning
Code scanning / CodeQL
Unreachable statement Warning
am.accountKeeper, am.bankKeeper, am.keeper, | ||
) | ||
panic("old code") | ||
ak, bk := am.accountKeeper, am.bankKeeper |
Check warning
Code scanning / CodeQL
Unreachable statement Warning
for m, c := range s.reasons { | ||
sb.WriteString(fmt.Sprintf("%s: %q\n", m, c)) | ||
} |
Check warning
Code scanning / CodeQL
Iteration over map Warning
Hi @alpe, happy to use and give some feedback to this new feature! |
Yes, this is correct. The I would suggest to support the old sims interface for backward compatibility of existing modules. |
Nice, I do find also that the
I used as an example chain upgrades like something that has the most potential to have "chain halting" bugs but could be anything that scores high in a risk analysis table. The proposal to have a test at the transaction level I think it could be tricky but I see it beneficial to test out parameters like the |
Hi @raynaudoe,
The sims framework works on the TX level already. They are submitted via
The bigger challenge is to provide the old code to run the sims for the initial state. You can check the DB into the repo but you would have to redo this for every new release as there is no history of state migrations available. But the good news is, that we have this covered by system tests. They spawn a multi node chain locally with some initial data, execute a chain upgrade proposal and run the new instance (main) on the DB. All as black box tests with the binary. You can adopt them for other chains as well. |
Description
🚧 WIP - early version
Registration example
Message factory example
or mixed with old sims setup
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
in the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...