Skip to content

Commit bc91ddb

Browse files
froch2xburntash-burnt
authored
Software Upgrade v8.0.0 (#222)
* Add empty upgrade to v8.0.0 * Test xiond upgrade with IBC conformance * Change upgrade log message * make format && make lint * update alpine version in dockerfile --------- Co-authored-by: 2xburnt <[email protected]> Co-authored-by: ash-burnt <[email protected]>
1 parent 2c3b30c commit bc91ddb

File tree

7 files changed

+75
-16
lines changed

7 files changed

+75
-16
lines changed

Dockerfile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
# syntax=docker/dockerfile:1
22

3+
ARG GO_VERSION="1.22"
4+
ARG ALPINE_VERSION="3.19"
5+
ARG BUILDPLATFORM=linux/amd64
6+
ARG BASE_IMAGE="golang:${GO_VERSION}-alpine${ALPINE_VERSION}"
7+
38
# --------------------------------------------------------
49
# Builder
510
# --------------------------------------------------------
611

7-
FROM golang:1.21-alpine3.18 AS builder
12+
FROM --platform=${BUILDPLATFORM} ${BASE_IMAGE} AS builder
813

914
RUN apk add --no-cache \
1015
ca-certificates \
@@ -38,7 +43,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
3843
# Runner
3944
# --------------------------------------------------------
4045

41-
FROM alpine:3.19.1 AS xion-base
46+
FROM alpine:3.19 AS xion-base
4247
COPY --from=builder /xion/build/xiond /usr/bin/xiond
4348

4449
# api

app/app.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ import (
143143
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
144144

145145
"github.com/burnt-labs/xion/app/upgrades"
146-
v7 "github.com/burnt-labs/xion/app/upgrades/v7"
146+
v8 "github.com/burnt-labs/xion/app/upgrades/v8"
147147
owasm "github.com/burnt-labs/xion/wasmbindings"
148148
"github.com/burnt-labs/xion/x/globalfee"
149149
"github.com/burnt-labs/xion/x/jwk"
@@ -171,7 +171,7 @@ var (
171171
// of "EnableAllProposals" (takes precedence over ProposalsEnabled)
172172
// https://github.com/CosmWasm/wasmd/blob/02a54d33ff2c064f3539ae12d75d027d9c665f05/x/wasm/internal/types/proposal.go#L28-L34
173173
EnableSpecificProposals = ""
174-
Upgrades = []upgrades.Upgrade{v7.Upgrade}
174+
Upgrades = []upgrades.Upgrade{v8.Upgrade}
175175
)
176176

177177
// These constants are derived from the above variables.

app/upgrades/v8/constants.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package v8
2+
3+
import (
4+
store "github.com/cosmos/cosmos-sdk/store/types"
5+
6+
"github.com/burnt-labs/xion/app/upgrades"
7+
)
8+
9+
const (
10+
// UpgradeName defines the on-chain upgrade name.
11+
UpgradeName = "v8.0.0"
12+
)
13+
14+
var Upgrade = upgrades.Upgrade{
15+
UpgradeName: UpgradeName,
16+
CreateUpgradeHandler: CreateUpgradeHandler,
17+
StoreUpgrades: store.StoreUpgrades{},
18+
}

app/upgrades/v8/upgrades.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package v8
2+
3+
import (
4+
"fmt"
5+
6+
sdk "github.com/cosmos/cosmos-sdk/types"
7+
"github.com/cosmos/cosmos-sdk/types/module"
8+
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
9+
)
10+
11+
func CreateUpgradeHandler(
12+
mm *module.Manager,
13+
configurator module.Configurator,
14+
) upgradetypes.UpgradeHandler {
15+
return func(ctx sdk.Context, _ upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) {
16+
ctx.Logger().Info("Starting module migrations...")
17+
18+
vm, err := mm.RunMigrations(ctx, configurator, vm)
19+
if err != nil {
20+
return vm, err
21+
}
22+
23+
ctx.Logger().Info(fmt.Sprintf("Software Upgrade %s complete", UpgradeName))
24+
return vm, err
25+
}
26+
}

integration_tests/account_migration_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ import (
77
"encoding/hex"
88
"encoding/json"
99
"fmt"
10-
jwktypes "github.com/burnt-labs/xion/x/jwk/types"
11-
"github.com/cosmos/cosmos-sdk/types/tx/signing"
12-
authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
1310
"os"
1411
"path"
1512
"testing"
1613
"time"
1714

15+
jwktypes "github.com/burnt-labs/xion/x/jwk/types"
16+
"github.com/cosmos/cosmos-sdk/types/tx/signing"
17+
authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
18+
1819
wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper"
1920
wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types"
2021
xionapp "github.com/burnt-labs/xion/app"
@@ -350,7 +351,7 @@ func TestSingleAbstractAccountMigration(t *testing.T) {
350351
authenticatorDetails := map[string]interface{}{}
351352
authenticatorDetails["sub"] = sub
352353
authenticatorDetails["aud"] = aud
353-
//authenticatorDetails["id"] = 0
354+
// authenticatorDetails["id"] = 0
354355

355356
authenticator := map[string]interface{}{}
356357
authenticator["Jwt"] = authenticatorDetails

integration_tests/upgrade_ibc_test.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ import (
2222
"go.uber.org/zap/zaptest"
2323
)
2424

25+
const (
26+
xionVersionFrom = "v7.0.0"
27+
xionVersionTo = "sha-78a78a1"
28+
xionUpgradeName = "v8.0.0"
29+
osmosisVersion = "v25.1.3"
30+
axelarVersion = "v0.35.3"
31+
)
32+
2533
// TestXionUpgradeIBC tests a Xion software upgrade, ensuring IBC conformance prior-to and after the upgrade.
2634
func TestXionUpgradeIBC(t *testing.T) {
2735
t.Parallel()
@@ -59,8 +67,8 @@ func TestXionUpgradeIBC(t *testing.T) {
5967
},
6068
conformance: conformance.TestChainPair,
6169
upgrade: SoftwareUpgrade,
62-
upgradeName: "v6",
63-
upgradeImageVersion: "sha-f7f7132",
70+
upgradeName: xionUpgradeName,
71+
upgradeImageVersion: xionVersionTo,
6472
},
6573
//{
6674
// name: "xion-axelar",
@@ -99,12 +107,12 @@ func ConfigureChains(t *testing.T, numFullNodes, numValidators int) []ibc.Chain
99107
cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{
100108
{
101109
Name: "xion",
102-
Version: "v0.3.8",
110+
Version: xionVersionFrom,
103111
ChainConfig: ibc.ChainConfig{
104112
Images: []ibc.DockerImage{
105113
{
106114
Repository: "ghcr.io/burnt-labs/xion/xion",
107-
Version: "v0.3.8",
115+
Version: xionVersionFrom,
108116
UidGid: "1025:1025",
109117
},
110118
},
@@ -125,12 +133,12 @@ func ConfigureChains(t *testing.T, numFullNodes, numValidators int) []ibc.Chain
125133
},
126134
{
127135
Name: "osmosis",
128-
Version: "v24.0.0-rc0",
136+
Version: osmosisVersion,
129137
ChainConfig: ibc.ChainConfig{
130138
Images: []ibc.DockerImage{
131139
{
132140
Repository: "ghcr.io/strangelove-ventures/heighliner/osmosis",
133-
Version: "v24.0.0-rc0",
141+
Version: osmosisVersion,
134142
UidGid: "1025:1025",
135143
},
136144
},
@@ -148,12 +156,12 @@ func ConfigureChains(t *testing.T, numFullNodes, numValidators int) []ibc.Chain
148156
},
149157
{
150158
Name: "axelar",
151-
Version: "v0.35.3",
159+
Version: axelarVersion,
152160
ChainConfig: ibc.ChainConfig{
153161
Images: []ibc.DockerImage{
154162
{
155163
Repository: "ghcr.io/strangelove-ventures/heighliner/axelar",
156-
Version: "v0.35.3",
164+
Version: axelarVersion,
157165
UidGid: "1025:1025",
158166
},
159167
},

x/mint/common_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/cosmos/cosmos-sdk/testutil"
99
sdk "github.com/cosmos/cosmos-sdk/types"
1010
moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil"
11+
1112
// banktestutil "github.com/cosmos/cosmos-sdk/x/bank/testutil"
1213
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
1314
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"

0 commit comments

Comments
 (0)