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

FIP-0041: Forward Compatibility for PreCommit and ReplicaUpdate #395

Merged
merged 3 commits into from
Jul 12, 2022

Conversation

Kubuxu
Copy link
Contributor

@Kubuxu Kubuxu commented Jun 29, 2022

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
When there is a necessary change in parameters of an actor's method exposed to users, the cleanest mechanism to execute such change is to add a new method and permissively continue to accept calls to the old method.
This mechanism increases implementation complexity as old code pathways have to continue functioning.
In this case, the motivating factors for the change are User Deployable Storage Markets and FVM Programmability. These two, by themselves, will be complex changes to built-in actors.
By introducing new method signatures before behavioural changes, the primary change can omit compatibility with old method signatures and thus reduce their complexity and work required.
Copy link
Member

Choose a reason for hiding this comment

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

I suggest explicitly stating that we expect the existing methods to be deprecated by the changes described in #298, because that flow will require the unsealed sector CID commitment at pre-commit. Adding the new ones now provides a long period for operators to upgrade.

Copy link
Member

Choose a reason for hiding this comment

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

e expect the existing methods to be deprecated by the changes described in #298

flag that 298 is a pre-FIP discussion for now ( not certain if the FIP will be accepted later, even though there is a high chance based on the discussion, but it's still a TBD. so I won't recommend adding that explicit statement unless necessary.


## Test Cases
<!--Test cases for an implementation are mandatory for FIPs that are affecting consensus changes. Other FIPs can choose to include links to test cases if applicable.-->
Test cases for an implementation are mandatory for FIPs that are affecting consensus changes. Other FIPs can choose to include links to test cases if applicable.
Copy link
Member

Choose a reason for hiding this comment

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

To be provided in code.

@@ -0,0 +1,114 @@
---
fip: <to be assigned>
Copy link
Member

@anorth anorth Jul 6, 2022

Choose a reason for hiding this comment

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

@kaitlin-beegle can we allocate FIP-0039 FIP-0041?

Copy link
Member

Choose a reason for hiding this comment

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

assigned the FIP number

@jennijuju
Copy link
Member

draft looks good, questions & concerns w.r.t tech details & more context can be requested & discussed in #380, and are expected to be addressed by authors before the FIP moves to "Last Call" or being considered to be "Accpeted"

@jennijuju jennijuju merged commit 50ed64d into master Jul 12, 2022
@jennijuju jennijuju deleted the feat/forward-compat branch July 12, 2022 05:04
@jennijuju jennijuju changed the title Forward Compatibility for PreCommit and ReplicaUpdate FIP-0041: Forward Compatibility for PreCommit and ReplicaUpdate Jul 12, 2022
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