Software Upgrade V2 : Introducing CosmWasm
Hippo Protocol proposal #30: ## **Simple Summary** This proposal initiates the mainnet upgrade of Hippo Protocol to `v2.0.0`. This release integrates CosmWas...
Yes
100%
No
0%
Abstain
0%
Veto
0%
Original Proposal Text
## **Simple Summary** This proposal initiates the mainnet upgrade of Hippo Protocol to `v2.0.0`. This release integrates CosmWasm for smart contract capabilities and applies critical vulnerability patches flagged by Dependabot for underlying dependencies. * CosmWasm Integration: Validators and node operators will need to download the new `v2.0.0` binary file from the release notes. The upgrade process follows standard Cosmos-SDK procedures. Using cosmovisor is highly recommended. * Vulnerability Patches: Updates `cometbft` and `golang.org/x/crypto` to patch known upstream vulnerabilities. ## **Abstract** The upgrade introduces the CosmWasm module (`wasmd v0.54.2`) to the Hippo mainnet, enabling the deployment and execution of secure, Rust-based smart contracts. Furthermore, this release patches critical upstream dependencies flagged by Dependabot by updating `github.com/cometbft/cometbft` from `v0.38.19` to `v0.38.21` and `golang.org/x/crypto` from `v0.36.0` to `v0.45.0`. ## **Motivation** To expand the capability and protect the infrastructure of Hippo Protocol in the global healthcare economy, it is necessary to: * Enable **programmable smart contracts** via CosmWasm to support decentralized applications, automated healthcare workflows, and verifiable data consent registries. * Patch **upstream security vulnerabilities** in CometBFT and Go cryptography libraries to prevent potential consensus disruptions and denial-of-service attack vectors. CosmWasm is a mature, production-grade smart contract framework, and updating core dependencies is the logical next step for Hippo’s infrastructure. ## **Documentation** * Hippo Protocol v2.0.0 Release Notes * CosmWasm Documentation * CometBFT v0.38.21 Release Notes ## **Specification** * Integrate and wire the `github.com/CosmWasm/wasmd` module (`v0.54.2`) in `app.go`. * Upgrade `github.com/cometbft/cometbft` from `v0.38.19` to `v0.38.21`. * Upgrade `golang.org/x/crypto` from `v0.36.0` to `v0.45.0`. * Update Go toolchain to `1.24.3`. * Define upgrade handler to ensure a state-safe transition. ## **Rationale** CosmWasm provides standardized, secure, and modular smart contracting capabilities without introducing EVM-related attack vectors like re-entrancy. Concurrently patching CometBFT and Go cryptography dependencies addresses known vulnerabilities without introducing breaking architectural changes, keeping network security hardened. ## **Drawbacks** * Adding a smart contract module increases the overall state machine complexity and storage requirements for full nodes. ## **Unresolved Questions** * None ## **Security Considerations** * CosmWasm introduces a new execution surface, mitigated through the use of audited, battle-tested `wasmd` modules. * Dependency patches actively neutralize known upstream vulnerabilities in `cometbft` (consensus stability) and `golang.org/x/crypto` (cryptographic operations/DoS prevention). ## **Prior Art** * Osmosis, Neutron, Secret Network, Archway ## **Backwards Compatibility** * Need to upgrade node to v2.0.0 at upgrade height. * Upgrade handled via versioned handler in `app/upgrades/v2_0_0/upgrade.go`. ## **Test Cases** * CosmWasm contract upload, instantiation, and execution on Hippo testnet. * Validator consensus stability and p2p sync verification on CometBFT v0.38.21. * Regression tests across existing core modules. More details: ipfs://CID