## Osmosis v22 Software Upgrade
This is a proposal to do a software upgrade to the v22.0.0 software tag of the Osmosis codebase on block height **13325950**, which is estimated to occur on **Thursday, January 18th, UTC 16:00**. Block times have high variance, so please monitor the chain for more precise time estimates.
## Upgrade Features
This upgrade focuses on performance improvements for the Osmosis chain.
* Reduced gas usage for transactions through optimization of messages, with emphasis on swaps.
* Increase MaxGas from 120m to 300m, allowing over double the number of typical transactions to be included per block. [Proposal 705](https://www.mintscan.io/osmosis/proposals/705)
* Halved MaxBytes to 5mb, capping the bandwidth available for p2p sharing of blocks with higher gas usage. [Proposal 705](https://www.mintscan.io/osmosis/proposals/705)
* Increase in the cost of bytes from 10 to 20, increasing the cost of gas that is still used.
* Increased Max gas per transaction from 25M to 30M and high gas threshold from 2M to 2.5M to smooth the contract upload process, made viable by the block MaxGas increase.
* Smoothed the rate of change of the cost of gas through optimizations to basefee calculations.
* Optimised Protorev tracking, Epoch processing and mempool filters.
* Decreased time-out commit from 5s to 4s standard, decreasing block time as previously used in the optional patch [V21.1.4](https://github.com/osmosis-labs/osmosis/pull/7180).
* Updates wasmvm from 1.5.0 to 1.5.1 as per CWA-2023-004
* Tweaks EIP 1559 settings and dynamically sets recheck factor based on current base fee value, allowing for spam transactions to be evicted from the mempool faster
### Miscellaneous
* Use of Supercharged Pools in the [txfee](https://github.com/osmosis-labs/osmosis/pull/7267) module is now enabled.
* Governance [Metadata length](https://github.com/osmosis-labs/osmosis/pull/7243) increased from 256 to 10200.
See the [Full Change Log](https://github.com/osmosis-labs/osmosis/blob/v22.0.0/CHANGELOG.md) for more API Breaking, State Breaking and other miscellaneous changes.
## Getting Prepared for the Upgrade
To build the binary, be sure to install golang 1.21. NOTE: Golang versions lower than this will not work.
As always, we recommend validators utilize 64GB of RAM. Since state migration is relatively negligible in this upgrade, it is possible to get away with less, but still not recommended. If you are unable to have 64GB of RAM, at a minimum have a total of 64GB of swap set to prevent out of memory errors.
If using Cosmovisor, manually build & copy the osmosisd binary to /cosmovisor/upgrades/v22/bin/.
If not using Cosmovisor, wait for your node to halt at the upgrade height, then install and run the v22.0.0 binary.
## Details of Upgrade Time
The proposal targets the upgrade proposal block to be 13325950, anticipated to be on Thursday, January 18th, UTC 16:00. Note that block times have high variance, so keep monitoring the time. See countdown [HERE](https://dev.mintscan.io/osmosis/blocks/13325950).
The upgrade is anticipated to take approx 30 minutes, during which time, there will not be any on-chain activity on the network.
In the event of an issue at upgrade time, we should coordinate via the validators channel in Discord to come to a quick emergency consensus and mitigate any further issues.