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

feat!: make Network and IBC vats durable #8721

Merged
merged 132 commits into from
Feb 29, 2024
Merged

Conversation

iomekam
Copy link
Contributor

@iomekam iomekam commented Jan 8, 2024

fixes #8950
fixes #5696
fixes #8319

refs #8742

Description

As part of the Calypso work, we need to be able to upgrade both the IBC and Network vats. Making this upgradable entails moving a lot of our Far objects to exo classes to make them durable. This PR includes all the work to move towards the durable pattern leveraging Zones. Given that IBC and Network are pretty intertwined, this PR makes both changes.

Security Considerations

We intend to run this through both first-party and third-party security reviews.

Scaling Considerations

We are now leveraging Zones to make these vats durable. Doing so means that we'll be taking advantage of on-chain storage to storage the various objects in the network and ibc vats.

Documentation Considerations

We'll be creating extensive documentation, including READMEs, diagram, code flows, etc.

Testing Considerations

There are multiple unit and integration tests that we've been leveraging to test this change. The green CI is a big win for testing, but we are also planning on creating a A3P test that will simulate an actual upgrade so we can confirm that handlers still work and data is still flowing between upgrades.

Upgrade Considerations

@iomekam iomekam force-pushed the iomekam-ibc-network-durability branch from 1f00929 to 01c575a Compare January 12, 2024 04:04
@iomekam iomekam changed the base branch from mfig-durable-network to mfig-whenable January 12, 2024 04:11
@iomekam iomekam force-pushed the iomekam-ibc-network-durability branch from 01c575a to 3194369 Compare January 18, 2024 17:27
@iomekam iomekam force-pushed the iomekam-ibc-network-durability branch 2 times, most recently from d5a31c5 to 953e352 Compare January 19, 2024 03:30
@iomekam iomekam force-pushed the iomekam-ibc-network-durability branch from 4ea3b4a to 24e45e9 Compare January 22, 2024 22:30
@mergify mergify bot mentioned this pull request Feb 22, 2024
3 tasks
@michaelfig michaelfig force-pushed the mfig-whenable branch 3 times, most recently from ecbc34d to 4d9371c Compare February 23, 2024 02:58
Base automatically changed from mfig-whenable to master February 23, 2024 03:30
@iomekam iomekam added the automerge:squash Automatically squash merge label Feb 29, 2024
@mergify mergify bot merged commit 3d13c09 into master Feb 29, 2024
74 checks passed
@mergify mergify bot deleted the iomekam-ibc-network-durability branch February 29, 2024 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge:squash Automatically squash merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add interface guards to network, ibc vats make vat-ibc upgradeable make vat-network upgradable
3 participants