Skip to content
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

[pr] Serialize structs for svm-rollup module #4

Merged
merged 3 commits into from
Jul 30, 2024
Merged

Conversation

DudessaPr
Copy link

Problem

Some structs have to be Serializable to be included in SVM module in svm-rollup repository

Summary of Changes

Serialized ComputeBudget, FeatureSet, FeeStructure and FeeBin (which is within FeeStructure)

Fixes #

@DudessaPr DudessaPr changed the title Feat/serialize [pr] Serialize structs for svm-rollup module Jul 29, 2024
Copy link

@Yiwen-Gao Yiwen-Gao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some structs that we also duplicate in svm-rollup and apply serialization macros to. Do you have a system for which structs get modified in our Agave fork VS which are duplicated in svm-rollup?

@DudessaPr
Copy link
Author

There are some structs that we also duplicate in svm-rollup and apply serialization macros to. Do you have a system for which structs get modified in our Agave fork VS which are duplicated in svm-rollup?

For FeatureSetWrapper in SvmPrevConfig, we can use just FeatureSet and serialize it in agave now. Walter made that wrapper because we tried to not change Agave's code that time. About FeeRateGovernorWrapper, FeeRateGovernor has one field marked as serde-ignore that nullifies the value when the struct it cloned, and it is bad in our case when working with sovereign modules as they clone objects into sov-state. I do not really know what's the purpose of that serde-ignore therefore I created a Wrapper for that struct to be safe.

@Yiwen-Gao
Copy link

Got it, thanks for explaining. It sounds like we're going to modify the types in Agave directly moving forward. Feel free to make a follow-up PR to remove those types from svm-rollup and update Agave accordingly.

I agree that we should leave FeeRateGovernor alone and can leave that one type in svm-rollup.

@DudessaPr DudessaPr merged commit 7f22462 into feat/risc0 Jul 30, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants