osmosis

Prop 588: Expedited Proposal: Osmosis v18 Software Upgrade

This is an expedited proposal to do a software upgrade to the v18.0.0 software tag of the Osmosis codebase on block height 11155350, which is estimated to occur on Friday August 25th, UTC 16:00. Block times have high variance, so please monitor the chain for more precise time estimates.

While no funds are at risk, this software update has been expedited as the current impact is that incentives are not being distributed to any pools starting from the upcoming epoch, and migration links for older Classic pools to Supercharged pools are unable to be used. Superfluid and staking rewards will still distribute. If this proposal passes in an expedited proposal, the behavior that we will observe is that:
* During epoch today:
* No LP incentives will distribute
* Superfluid and Staking incentives will distribute
* During epoch tomorrow (if proposal passes):
* 2x LP incentives for all osmo-incentivized pools will go through
* For external incentives, the rewards will continue distributing in regular amounts, with a delay by one epoch. * Otherwise normal epoch.

As an expedited proposal, this proposal will pass and approve the software upgrade to take place at this block height as long as two-thirds of voting power votes within the first 24 hours. If this fails to occur, then this proposal will revert to a five-day proposal and should be voted down as the block height will be in the past upon proposal passing.

## Upgrade Details
In the v17 upgrade, more CL pools were launched that are linked to a balancer pool with the same token pair.

Due to a historic issue specific to mainnet, a state entry now used in incentive distribution was in an invalid state, causing a panic.
The issue was not caught in the state exported from mainnet to testnet because it executes InitGenesis() logic which corrects the problem, meaning that this issue was not replicated on testnet. (And could not have been, without custom logic to recreate this invalid state)

While this issue does not cause a chain halt, it currently silently fails and prevents incentives from being distributed to any Osmosis pool.

All funds are safe and are NOT at risk. The rewards that have not been distributed since v17 will be distributed after the v18 upgrade.

For internal OSMO incentives, the day after the upgrade, users will get 2x the regular amount (for the missed epoch and for the current epoch).

For external incentives, the rewards will continue distributing in regular amounts, with a delay by one epoch.

Future testing procedures will export mainnet state to testnet in a different manner to ensure that InitGenesis() does not overwrite any invalid historical states from Mainnet.

See the Full Change Log 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.20.

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/v18/bin/.

If not using Cosmovisor, wait for your node to halt at the upgrade height, then install and run the v18.0.0 binary.
## Details of Upgrade Time
The proposal targets the upgrade proposal block to be 11155350, anticipated to be on Friday August 25th, UTC 16:00. Note that block times have high variance, so keep monitoring the time. See countdown here.

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.

Field
Data
info
https://raw.githubusercontent.com/osmosis-labs/osmosis/main/networks/osmosis-1/upgrades/v18/v18_binaries.json
name
v18
time
0001-01-01T00:00:00Z
height
11155350
upgraded_client_state