# Upgrade Regen Ledger to Support Permissioned CosmWasm We propose the Regen Ledger should be upgraded to support permissioned CosmWasm. CosmWasm is a popular smart contract framework currently in use by over 30 chains including Juno Network, Osmosis, Stargaze, and Neutron. CosmWasm smart contracts would allow the functionality of the Regen Ledger to be more easily extended with new functionality, as well as allowing for Regen Network to leverage a [large library](https://github.com/CosmWasm/awesome-cosmwasm) of existing applications and contracts. CosmWasm can be permissionless (anyone can upload contracts) and permissioned, where smart contract code uploaded to the chain has to be approved by governance (for an example see [Prop 203](https://www.mintscan.io/stargaze/proposals/203) on Stargaze). Using CosmWasm, any developer could build climate imapct applications that leverage the core ledger database, date module, ecocredit module functionality, and marketplace features -- which will allow for dapps to be developed that utilize Regen development ecocredits and work towards incentivizing end users to purchase and retire these credits for climate impact. These developers could add these applications to the chain without having to coordinate a chain upgrade. Moreover, some applications that could come to Regen Network as a result of adding support for CosmWasm: - [DAO DAO](https://daodao.zone): powerful governance tools to allow regenerative communities to self organize and govern shared resources and core use cases within Regen Network. With Interchain Accounts, Regen DAOs will be able to more effectively manage [Cosmos Zero programs](https://www.notion.so/regennetwork/Cosmos-ZERO-Achieve-protocol-net-zero-carbon-emissions-while-building-a-carbon-market-in-Cosmos-ddd441e3ff3d4dbda83265433843ec10) on other chains. New fundraising tools from DAO DAO will allow regenerative communities to raise funds to forward their missions. DAO DAO was [partially funded](https://medium.com/regen-network/congratulations-to-our-community-funding-program-awardees-50c023a21d8) by the Regen grants program in 2021. Significant support for the use of DAO DAO in the Regen Network has emerged around the Regen Foundation Community Supported EnDAOment program, as well as network-activation DAOs, like the budding RegenGrowthDAO and RegenBuildersDAO, all who are exploring leveraging DAO DAO functionality. - [Osmosis](https://osmosis.zone) and [Stargaze](https://stargaze.zone) outposts (implemented in CosmWasm): giving Regen users easy access to trading of Carbon credits, tokens, and NFTs. - [Mesh Security](https://github.com/osmosis-labs/mesh-security): helping to secure the Regen Ledger and forging alliances with other Cosmos chains. Potentially, Carbon credits themselves could even be cross-staked to secure the Interchain. See [Sunny's talk at the Shared Security Summit](https://www.youtube.com/watch?v=BGlWSRlY1PI) for more information on Mesh Security. There are open source CosmWasm contracts for [NFTs](https://github.com/cosmwasm/cw-nfts), [vesting payments](https://github.com/DA0-DA0/dao-contracts/tree/main/contracts/external/cw-vesting), [escrow](https://github.com/CosmWasm/cw-tokens/tree/main/contracts/cw20-escrow), [payment splitting](https://github.com/public-awesome/launchpad/tree/main/contracts/splits), and more, all ready to be deployed should Regen Network support CosmWasm. While this functionality mentioned could be implemented in custom Cosmos SDK modules given enough time, that development would come at a higher cost, slower development pace, greater mainenance burden, and reduced ability for 3rd party developers to extend the functionality of the chain. In short, permissioned CosmWasm will lead to more rapid feature development at a lower cost, allowing Regen to accomplish it's mission of restoring ecology and addressing climate change on an accelerated timeframe. ### Implementation In order to support Permissioned CosmWasm, it has been evaluated by the community (Notional validator and Ryan Christofferson, former RND-based Regen Ledger core maintainer), that the best course of action is to upgrade Regen Network's version of the Cosmos SDK to v0.50. The current version of CosmosSDK (v0.46) is insufficient to support the version of CosmWasm that is most well maintained. Therefore, the implementation of CosmWasm will follow these steps: 1. Upgrade Regen Network from Cosmos SDK v0.46 to Cosmos SDK v0.50 (via a stepped upgrade of v0.47). 2. Audit and approve the Cosmos SDK upgrade 3. Adopt CosmWasm via add x/Wasm 4. Create bindings to Regen Ledger's modules Implementation Timeline: (2-3 months) Month 1-2: Implement Cosmos SDK v0.50 & begin audit Month 2-3: Complete SDK v0.50 audit, Implement CosmWasm, bind to Regen Ledger modules Public Process to Choose Implementing Engineering Team: 1. The RegenBuildersDAO will launch an RFP for the engineering scope on Commonwealth, with a two week window for proposal submission 2. The RegenBuildersDAO will evaluate and approve one or more engineering teams for the implementation scope and award the implementation contract Funding for the Technical Implementation: Funding has been secured and will be provided by Regen Foundation, Regen Network Development, and if necessary, a Community Funding Pool request not to exceed 10% value of the Community Pool itself. ### Bonus Prize Once CosmWasm has been fully implemented on Regen Ledger, Jake Hartnell, and the DAODAO team, will deploy DAO DAO on Regen Network, as a gift of reciprocity for early Regen Network funding and due to the deep alignment of our user base.