v040

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2026 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Upgrade = upgrades.Upgrade{
	UpgradeName:               upgradeName,
	UpgradeHandlerConstructor: upgradeHandlerConstructor,
	StoreUpgrades: &storetypes.StoreUpgrades{

		Deleted: []string{
			"capability",
		},

		Added: []string{},
	},
}

Upgrade implements the v0.4.0 upgrade plan.

This upgrade migrates Uptick from legacy go-ethereum v1.10.x to cosmos/evm v0.6.1 (based on cosmos/go-ethereum v1.16.2).

===================================================================== MAJOR CHANGES IN THIS UPGRADE =====================================================================

1. EVM Module: x/evm → cosmos/evm x/vm

  • go-ethereum upgraded from v1.10.17 → v1.16.2
  • ChainConfig fields changed from Block-based to Time-based (ShanghaiBlock → ShanghaiTime, CancunBlock → CancunTime, PragueBlock → PragueTime)
  • EIP-7702 SetCodeTx is now natively supported by cosmos/go-ethereum (no custom implementation needed)
  • ChainConfig is now a global variable (set during NewKeeper), not stored in Params. The upgrade handler re-initializes it.

2. IBC Module: ibc-go v8 → v10

  • capability module removed entirely
  • ScopedKeeper references removed from all keepers
  • IBCModule interface signatures changed (added channelVersion param)
  • SendPacket/WriteAcknowledgement no longer require chanCap

3. SDK: v0.50 → v0.53

  • x/params module deprecated (params now authority-based)
  • gov v1beta1 proposals → gov v1 (for erc20 module)
  • runtime.KVStoreService replaces direct StoreKey in keeper constructors

4. Wasm: wasmd v0.53 → v0.61

  • WasmConfig → NodeConfig
  • wasmvm v2 → v3

5. EVM Hardfork Activation

  • In v032, Shanghai/Cancun/Prague were activated via Block height = 0
  • In cosmos/evm v0.6.1, these are activated via Time (timestamp)
  • The upgrade sets all fork times to 0 (activated immediately at upgrade)
  • This ensures all EVM opcodes (PUSH0, BLOBHASH, etc.) are enabled
  • EIP-7702 SetCodeTx (type 0x04) is enabled via PragueTime

6. Capability Store Cleanup

  • The 'capability' module store is deleted (ibc-go v10 doesn't use it)

7. erc20 Module

  • Uptick replaces its self-developed x/erc20 with cosmos/evm's x/erc20 (v0.6.1). The old MsgTransferERC20 / IBC provenance refund path is no longer wired; IBC coin->ERC20 conversion now goes through cosmos/evm's ERC20 IBC middleware + ibc_callbacks.go.
  • Params migrated from x/params subspace to authority-based. EnableEVMHook is dropped (cosmos/evm uses PermissionlessRegistration).
  • Existing OWNER_MODULE pairs are deleted (STRv2 addressing differs).
  • Existing OWNER_EXTERNAL pairs keep their legacy "erc20/0x…" denom and remain functional; only NEW registrations use the "erc20:0x…" scheme.

===================================================================== ROLLBACK NOTE ===================================================================== This upgrade is NOT reversible. Once the capability store is deleted and ChainConfig is migrated to Time-based, the chain cannot roll back to the legacy implementation. Ensure all validators have upgraded before the upgrade height.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL