consensus-shipyard / ipc

🌳 Spawn multi-level trees of customized, scalable, EVM-compatible networks with IPC. L2++ powered by FVM, Wasm, libp2p, IPFS/IPLD, and CometBFT.
https://ipc.space
Apache License 2.0
41 stars 35 forks source link

Dynamic upgrades #1094

Open raulk opened 2 months ago

raulk commented 2 months ago

Several users have expressed the desire to add support for dynamic Wasm actor upgrades. EVM smart contract upgrades are already well-supported by implementing standardised Solidity mechanisms (e.g. proxy, diamond pattern, etc.) But upgrading Wasm actor currently requires rolling out network upgrade (hard fork) via the UpgradeScheduler, and coordinating amongst validators to run it in lockstep at a designated height.

Instead, users should be able to schedule an upgrade at runtime through on-chain interactions. Considerations: