From 3deb7aac6258848629e4260e1cc24f1c6f561de9 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 19 Jan 2026 17:35:05 +0100 Subject: [PATCH 1/7] chore(upgrades): verify v4 upgrade --- contrib/localnet/proposal_upgrade.json | 34 ++++++++--------- contrib/scripts/upgrade-v3-v4.sh | 51 ++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 17 deletions(-) create mode 100644 contrib/scripts/upgrade-v3-v4.sh diff --git a/contrib/localnet/proposal_upgrade.json b/contrib/localnet/proposal_upgrade.json index c1088f75..fc0ed359 100644 --- a/contrib/localnet/proposal_upgrade.json +++ b/contrib/localnet/proposal_upgrade.json @@ -1,19 +1,19 @@ { - "messages": [ - { - "@type": "/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade", - "authority": "atone10d07y265gmmuvt4z0w9aw880jnsr700j5z0zqt", - "plan": { - "name": "v3", - "time": "0001-01-01T00:00:00Z", - "height": "80", - "info": "", - "upgraded_client_state": null - } - } - ], - "metadata": "ipfs://CID", - "deposit": "512000000uatone", - "title": "v3", - "summary": "v3" + "messages": [ + { + "@type": "/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade", + "authority": "atone10d07y265gmmuvt4z0w9aw880jnsr700j5z0zqt", + "plan": { + "name": "v4", + "time": "0001-01-01T00:00:00Z", + "height": "80", + "info": "", + "upgraded_client_state": null + } + } + ], + "metadata": "ipfs://CID", + "deposit": "512000000uatone", + "title": "v4", + "summary": "v4" } diff --git a/contrib/scripts/upgrade-v3-v4.sh b/contrib/scripts/upgrade-v3-v4.sh new file mode 100644 index 00000000..7b16f822 --- /dev/null +++ b/contrib/scripts/upgrade-v3-v4.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Usage ATOMONED_BIN=$(which simd) ATOMONED_NEW_BIN= ./upgrade.sh + +if [[ -z $ATOMONED_BIN || -z $ATOMONED_NEW_BIN ]]; then + echo "ATOMONED_BIN and ATOMONED_NEW_BIN must be set." + exit 1 +fi + +localnet_home=~/.atomone-localnet + +echo "init with previous atomoned binary" +$ATOMONED_BIN init localnet --default-denom uatone --chain-id localnet +$ATOMONED_BIN config set client chain-id localnet +$ATOMONED_BIN config set client keyring-backend test +$ATOMONED_BIN keys add val +$ATOMONED_BIN genesis add-genesis-account val 1000000000000uatone,1000000000uphoton +$ATOMONED_BIN keys add user +$ATOMONED_BIN genesis add-genesis-account user 1000000000uatone,1000000000uphoton +$ATOMONED_BIN genesis gentx val 1000000000uatone +$ATOMONED_BIN genesis collect-gentxs +# Add treasury DAO address +$ATOMONED_BIN genesis add-genesis-account atone1qqqqqqqqqqqqqqqqqqqqqqqqqqqqp0dqtalx52 5388766663072uatone +# Add CP funds +$ATOMONED_BIN genesis add-genesis-account atone1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8flcml8 5388766663072uatone +jq '.app_state.distribution.fee_pool.community_pool = [ { "denom": "uatone", "amount": "5388766663072.000000000000000000" }]' $(localnet_home)/config/genesis.json > /tmp/gen +mv /tmp/gen $(localnet_home)/config/genesis.json +# Previous add-genesis-account call added the auth module account as a BaseAccount, we need to remove it +jq 'del(.app_state.auth.accounts[] | select(.address == "atone1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8flcml8"))' $(localnet_home)/config/genesis.json > /tmp/gen +mv /tmp/gen $(localnet_home)/config/genesis.json +# Set validator gas prices +sed -i.bak 's#^minimum-gas-prices = .*#minimum-gas-prices = "0.01uatone,0.01uphoton"#g' $(localnet_home)/config/app.toml +# enable REST API +$ATOMONED_BIN config set app api.enable true +# Decrease voting period to 1min +jq '.app_state.gov.params.voting_period = "60s"' $(localnet_home)/config/genesis.json > /tmp/gen +mv /tmp/gen $(localnet_home)/config/genesis.json +jq --rawfile data contrib/localnet/constitution-mock.md '.app_state.gov.constitution=$$data' $(localnet_home)/config/genesis.json > /tmp/gen +mv /tmp/gen $(localnet_home)/config/genesis.json +echo "start chain" +$ATOMONED_BIN start & +sleep 10 +echo "submit upgrade tx" +$ATOMONED_BIN tx gov submit-proposal ../localnet/proposal_upgrade.json --from user --fees 10000uphoton --yes +sleep 6 +$ATOMONED_BIN tx gov deposit 1 10000000uatone --from user --fees 10000uphoton --yes +sleep 6 +$ATOMONED_BIN tx gov vote 1 yes --from user --yes +echo "wait for chain halt and restart new binary" +# $ATOMONED_NEW_BIN start --home $(localnet_home) & +# $ATOMONED_NEW_BIN q tx gov params From 9bd22b2e2e27afd9593f4ce847df90c24e610c8f Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 19 Jan 2026 17:37:08 +0100 Subject: [PATCH 2/7] bump --- contrib/scripts/{upgrade-v3-v4.sh => upgrade-node.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename contrib/scripts/{upgrade-v3-v4.sh => upgrade-node.sh} (100%) mode change 100644 => 100755 diff --git a/contrib/scripts/upgrade-v3-v4.sh b/contrib/scripts/upgrade-node.sh old mode 100644 new mode 100755 similarity index 100% rename from contrib/scripts/upgrade-v3-v4.sh rename to contrib/scripts/upgrade-node.sh From 29ae5382f89d8f6b4d54de254bce755b419c2769 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 19 Jan 2026 17:48:26 +0100 Subject: [PATCH 3/7] updates --- contrib/scripts/upgrade-node.sh | 61 ++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/contrib/scripts/upgrade-node.sh b/contrib/scripts/upgrade-node.sh index 7b16f822..3b633a95 100755 --- a/contrib/scripts/upgrade-node.sh +++ b/contrib/scripts/upgrade-node.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -e + # Usage ATOMONED_BIN=$(which simd) ATOMONED_NEW_BIN= ./upgrade.sh if [[ -z $ATOMONED_BIN || -z $ATOMONED_NEW_BIN ]]; then @@ -7,45 +9,50 @@ if [[ -z $ATOMONED_BIN || -z $ATOMONED_NEW_BIN ]]; then exit 1 fi +script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +proposal_path="$script_dir/../localnet/proposal_upgrade.json" localnet_home=~/.atomone-localnet +localnetd="$ATOMONED_BIN --home $localnet_home" +localnetd_new="$ATOMONED_NEW_BIN --home $localnet_home" echo "init with previous atomoned binary" -$ATOMONED_BIN init localnet --default-denom uatone --chain-id localnet -$ATOMONED_BIN config set client chain-id localnet -$ATOMONED_BIN config set client keyring-backend test -$ATOMONED_BIN keys add val -$ATOMONED_BIN genesis add-genesis-account val 1000000000000uatone,1000000000uphoton -$ATOMONED_BIN keys add user -$ATOMONED_BIN genesis add-genesis-account user 1000000000uatone,1000000000uphoton -$ATOMONED_BIN genesis gentx val 1000000000uatone -$ATOMONED_BIN genesis collect-gentxs +rm -rf $localnet_home +$localnetd init localnet --default-denom uatone --chain-id localnet +$localnetd config chain-id localnet +$localnetd config keyring-backend test +$localnetd keys add val +$localnetd genesis add-genesis-account val 1000000000000uatone,1000000000uphoton +$localnetd keys add user +$localnetd genesis add-genesis-account user 1000000000uatone,1000000000uphoton +$localnetd genesis gentx val 1000000000uatone +$localnetd genesis collect-gentxs # Add treasury DAO address -$ATOMONED_BIN genesis add-genesis-account atone1qqqqqqqqqqqqqqqqqqqqqqqqqqqqp0dqtalx52 5388766663072uatone +$localnetd genesis add-genesis-account atone1qqqqqqqqqqqqqqqqqqqqqqqqqqqqp0dqtalx52 5388766663072uatone # Add CP funds -$ATOMONED_BIN genesis add-genesis-account atone1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8flcml8 5388766663072uatone -jq '.app_state.distribution.fee_pool.community_pool = [ { "denom": "uatone", "amount": "5388766663072.000000000000000000" }]' $(localnet_home)/config/genesis.json > /tmp/gen -mv /tmp/gen $(localnet_home)/config/genesis.json +$localnetd genesis add-genesis-account atone1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8flcml8 5388766663072uatone +jq '.app_state.distribution.fee_pool.community_pool = [ { "denom": "uatone", "amount": "5388766663072.000000000000000000" }]' $localnet_home/config/genesis.json > /tmp/gen +mv /tmp/gen $localnet_home/config/genesis.json # Previous add-genesis-account call added the auth module account as a BaseAccount, we need to remove it -jq 'del(.app_state.auth.accounts[] | select(.address == "atone1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8flcml8"))' $(localnet_home)/config/genesis.json > /tmp/gen -mv /tmp/gen $(localnet_home)/config/genesis.json +jq 'del(.app_state.auth.accounts[] | select(.address == "atone1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8flcml8"))' $localnet_home/config/genesis.json > /tmp/gen +mv /tmp/gen $localnet_home/config/genesis.json # Set validator gas prices -sed -i.bak 's#^minimum-gas-prices = .*#minimum-gas-prices = "0.01uatone,0.01uphoton"#g' $(localnet_home)/config/app.toml +sed -i.bak 's#^minimum-gas-prices = .*#minimum-gas-prices = "0.01uatone,0.01uphoton"#g' $localnet_home/config/app.toml # enable REST API -$ATOMONED_BIN config set app api.enable true +sed -i -z 's/# Enable defines if the API server should be enabled.\nenable = false/enable = true/' $localnet_home/config/app.toml # Decrease voting period to 1min -jq '.app_state.gov.params.voting_period = "60s"' $(localnet_home)/config/genesis.json > /tmp/gen -mv /tmp/gen $(localnet_home)/config/genesis.json -jq --rawfile data contrib/localnet/constitution-mock.md '.app_state.gov.constitution=$$data' $(localnet_home)/config/genesis.json > /tmp/gen -mv /tmp/gen $(localnet_home)/config/genesis.json +jq '.app_state.gov.params.voting_period = "60s"' $localnet_home/config/genesis.json > /tmp/gen +mv /tmp/gen $localnet_home/config/genesis.json +jq --rawfile data contrib/localnet/constitution-mock.md '.app_state.gov.constitution=$data' $localnet_home/config/genesis.json > /tmp/gen +mv /tmp/gen $localnet_home/config/genesis.json echo "start chain" -$ATOMONED_BIN start & +$localnetd start & sleep 10 echo "submit upgrade tx" -$ATOMONED_BIN tx gov submit-proposal ../localnet/proposal_upgrade.json --from user --fees 10000uphoton --yes +$localnetd tx gov submit-proposal "$proposal_path" --from user --fees 10000uphoton --yes sleep 6 -$ATOMONED_BIN tx gov deposit 1 10000000uatone --from user --fees 10000uphoton --yes +$localnetd tx gov deposit 1 10000000uatone --from user --fees 10000uphoton --yes sleep 6 -$ATOMONED_BIN tx gov vote 1 yes --from user --yes +$localnetd tx gov vote 1 yes --from val --yes echo "wait for chain halt and restart new binary" -# $ATOMONED_NEW_BIN start --home $(localnet_home) & -# $ATOMONED_NEW_BIN q tx gov params +# $localnetd_new start & +# $localnetd_new q tx gov params From 9a31e10c432436f316dbb8d137e4acdc2eeefa10 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 19 Jan 2026 17:55:27 +0100 Subject: [PATCH 4/7] stake tokens first --- contrib/localnet/proposal_upgrade.json | 2 +- contrib/scripts/upgrade-node.sh | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/contrib/localnet/proposal_upgrade.json b/contrib/localnet/proposal_upgrade.json index fc0ed359..a81c280d 100644 --- a/contrib/localnet/proposal_upgrade.json +++ b/contrib/localnet/proposal_upgrade.json @@ -6,7 +6,7 @@ "plan": { "name": "v4", "time": "0001-01-01T00:00:00Z", - "height": "80", + "height": "50", "info": "", "upgraded_client_state": null } diff --git a/contrib/scripts/upgrade-node.sh b/contrib/scripts/upgrade-node.sh index 3b633a95..129e7e4d 100755 --- a/contrib/scripts/upgrade-node.sh +++ b/contrib/scripts/upgrade-node.sh @@ -42,17 +42,23 @@ sed -i -z 's/# Enable defines if the API server should be enabled.\nenable = fal # Decrease voting period to 1min jq '.app_state.gov.params.voting_period = "60s"' $localnet_home/config/genesis.json > /tmp/gen mv /tmp/gen $localnet_home/config/genesis.json +# Lower threshold to 0.01 +jq '.app_state.gov.params.threshold = "0.010000000000000000"' $localnet_home/config/genesis.json > /tmp/gen +mv /tmp/gen $localnet_home/config/genesis.json jq --rawfile data contrib/localnet/constitution-mock.md '.app_state.gov.constitution=$data' $localnet_home/config/genesis.json > /tmp/gen mv /tmp/gen $localnet_home/config/genesis.json echo "start chain" $localnetd start & sleep 10 +echo "stake tokens for user to be able to vote" +$localnetd tx staking delegate $($localnetd keys show val --bech val -a) 100000000uatone --from user --fees 10000uphoton --yes +sleep 6 echo "submit upgrade tx" $localnetd tx gov submit-proposal "$proposal_path" --from user --fees 10000uphoton --yes sleep 6 $localnetd tx gov deposit 1 10000000uatone --from user --fees 10000uphoton --yes sleep 6 -$localnetd tx gov vote 1 yes --from val --yes +$localnetd tx gov vote 1 yes --from user --fees 10000uphoton --yes echo "wait for chain halt and restart new binary" # $localnetd_new start & # $localnetd_new q tx gov params From ac8dfca1ba034dd4f4f5a24270cf54e2c5880404 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Tue, 20 Jan 2026 09:49:26 +0100 Subject: [PATCH 5/7] fixes --- app/keepers/keepers.go | 10 ++- app/upgrades/v4/constants.go | 5 +- contrib/localnet/proposal_upgrade.json | 2 +- contrib/scripts/upgrade-node.sh | 97 ++++++++++++++++++++++---- go.mod | 2 +- 5 files changed, 97 insertions(+), 19 deletions(-) diff --git a/app/keepers/keepers.go b/app/keepers/keepers.go index e9d33faa..c5176430 100644 --- a/app/keepers/keepers.go +++ b/app/keepers/keepers.go @@ -12,6 +12,8 @@ import ( ibctransferkeeper "github.com/cosmos/ibc-go/v10/modules/apps/transfer/keeper" ibctransfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types" transferv2 "github.com/cosmos/ibc-go/v10/modules/apps/transfer/v2" + ibcclienttypes "github.com/cosmos/ibc-go/v10/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v10/modules/core/03-connection/types" porttypes "github.com/cosmos/ibc-go/v10/modules/core/05-port/types" ibcapi "github.com/cosmos/ibc-go/v10/modules/core/api" ibcexported "github.com/cosmos/ibc-go/v10/modules/core/exported" @@ -399,9 +401,11 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(distrtypes.ModuleName).WithKeyTable(distrtypes.ParamKeyTable()) //nolint:staticcheck // SA1019 paramsKeeper.Subspace(slashingtypes.ModuleName).WithKeyTable(slashingtypes.ParamKeyTable()) //nolint:staticcheck // SA1019 paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govv1.ParamKeyTable()) //nolint:staticcheck // SA1019 - paramsKeeper.Subspace(ibctransfertypes.ModuleName) - paramsKeeper.Subspace(ibcexported.ModuleName) - paramsKeeper.Subspace(icahosttypes.SubModuleName) + paramsKeeper.Subspace(ibctransfertypes.ModuleName).WithKeyTable(ibctransfertypes.ParamKeyTable()) + keyTable := ibcclienttypes.ParamKeyTable() + keyTable.RegisterParamSet(&ibcconnectiontypes.Params{}) + paramsKeeper.Subspace(ibcexported.ModuleName).WithKeyTable(keyTable) + paramsKeeper.Subspace(icahosttypes.SubModuleName).WithKeyTable(icahosttypes.ParamKeyTable()) paramsKeeper.Subspace(icacontrollertypes.SubModuleName).WithKeyTable(icacontrollertypes.ParamKeyTable()) return paramsKeeper diff --git a/app/upgrades/v4/constants.go b/app/upgrades/v4/constants.go index a1d4ad40..e5b1cd70 100644 --- a/app/upgrades/v4/constants.go +++ b/app/upgrades/v4/constants.go @@ -1,6 +1,8 @@ package v4 import ( + icacontrollertypes "github.com/cosmos/ibc-go/v10/modules/apps/27-interchain-accounts/controller/types" + store "cosmossdk.io/store/types" "github.com/atomone-hub/atomone/app/upgrades" @@ -18,7 +20,8 @@ var Upgrade = upgrades.Upgrade{ StoreUpgrades: store.StoreUpgrades{ Added: []string{ // new module added in v4 - coredaostypes.ModuleName, + coredaostypes.StoreKey, + icacontrollertypes.StoreKey, // x/gov has been added but it uses the same store key as the x/gov fork from v3 }, Deleted: []string{ diff --git a/contrib/localnet/proposal_upgrade.json b/contrib/localnet/proposal_upgrade.json index a81c280d..6d31145b 100644 --- a/contrib/localnet/proposal_upgrade.json +++ b/contrib/localnet/proposal_upgrade.json @@ -6,7 +6,7 @@ "plan": { "name": "v4", "time": "0001-01-01T00:00:00Z", - "height": "50", + "height": "30", "info": "", "upgraded_client_state": null } diff --git a/contrib/scripts/upgrade-node.sh b/contrib/scripts/upgrade-node.sh index 129e7e4d..aabf66b7 100755 --- a/contrib/scripts/upgrade-node.sh +++ b/contrib/scripts/upgrade-node.sh @@ -15,15 +15,19 @@ localnet_home=~/.atomone-localnet localnetd="$ATOMONED_BIN --home $localnet_home" localnetd_new="$ATOMONED_NEW_BIN --home $localnet_home" +echo "Killing any running chain processes..." +pkill -f "atomoned.*start" || true +sleep 2 + echo "init with previous atomoned binary" -rm -rf $localnet_home +rm -rf $localnet_home prev.log new.log $localnetd init localnet --default-denom uatone --chain-id localnet $localnetd config chain-id localnet $localnetd config keyring-backend test $localnetd keys add val $localnetd genesis add-genesis-account val 1000000000000uatone,1000000000uphoton $localnetd keys add user -$localnetd genesis add-genesis-account user 1000000000uatone,1000000000uphoton +$localnetd genesis add-genesis-account user 100000000000uatone,1000000000uphoton $localnetd genesis gentx val 1000000000uatone $localnetd genesis collect-gentxs # Add treasury DAO address @@ -47,18 +51,85 @@ jq '.app_state.gov.params.threshold = "0.010000000000000000"' $localnet_home/con mv /tmp/gen $localnet_home/config/genesis.json jq --rawfile data contrib/localnet/constitution-mock.md '.app_state.gov.constitution=$data' $localnet_home/config/genesis.json > /tmp/gen mv /tmp/gen $localnet_home/config/genesis.json -echo "start chain" -$localnetd start & +echo "Start old chain..." +$localnetd start &> prev.log & sleep 10 -echo "stake tokens for user to be able to vote" -$localnetd tx staking delegate $($localnetd keys show val --bech val -a) 100000000uatone --from user --fees 10000uphoton --yes +echo "Stake tokens for user to be able to vote" +stake_tx=$($localnetd tx staking delegate $($localnetd keys show val --bech val -a) 10000000000uatone --from user --fees 10000uphoton --yes --output json) +stake_txhash=$(echo "$stake_tx" | jq -r '.txhash') +echo "Stake tx hash: $stake_txhash" sleep 6 -echo "submit upgrade tx" -$localnetd tx gov submit-proposal "$proposal_path" --from user --fees 10000uphoton --yes +echo "Querying stake transaction..." +stake_result=$($localnetd q tx "$stake_txhash" --output json) +stake_code=$(echo "$stake_result" | jq -r '.code') +if [ "$stake_code" != "0" ]; then + echo "Stake transaction failed with code $stake_code" + echo "$stake_result" | jq + exit 1 +fi +echo "Submitting Upgrade Proposal" +proposal_tx=$($localnetd tx gov submit-proposal "$proposal_path" --from user --fees 10000uphoton --yes --output json) +proposal_txhash=$(echo "$proposal_tx" | jq -r '.txhash') +echo "Proposal tx hash: $proposal_txhash" sleep 6 -$localnetd tx gov deposit 1 10000000uatone --from user --fees 10000uphoton --yes +echo "Querying proposal transaction..." +proposal_result=$($localnetd q tx "$proposal_txhash" --output json) +proposal_code=$(echo "$proposal_result" | jq -r '.code') +if [ "$proposal_code" != "0" ]; then + echo "Proposal transaction failed with code $proposal_code" + echo "$proposal_result" | jq + exit 1 +fi +deposit_tx=$($localnetd tx gov deposit 1 10000000uatone --from val --fees 10000uphoton --yes --output json) +deposit_txhash=$(echo "$deposit_tx" | jq -r '.txhash') +echo "Deposit tx hash: $deposit_txhash" sleep 6 -$localnetd tx gov vote 1 yes --from user --fees 10000uphoton --yes -echo "wait for chain halt and restart new binary" -# $localnetd_new start & -# $localnetd_new q tx gov params +echo "Querying deposit transaction..." +deposit_result=$($localnetd q tx "$deposit_txhash" --output json) +deposit_code=$(echo "$deposit_result" | jq -r '.code') +if [ "$deposit_code" != "0" ]; then + echo "Deposit transaction failed with code $deposit_code" + echo "$deposit_result" | jq + exit 1 +fi +vote_tx=$($localnetd tx gov vote 1 yes --from user --fees 10000uphoton --yes --output json) +vote_txhash=$(echo "$vote_tx" | jq -r '.txhash') +echo "Vote tx hash: $vote_txhash" +sleep 6 +echo "Querying vote transaction..." +vote_result=$($localnetd q tx "$vote_txhash" --output json) +vote_code=$(echo "$vote_result" | jq -r '.code') +if [ "$vote_code" != "0" ]; then + echo "Vote transaction failed with code $vote_code" + echo "$vote_result" | jq + exit 1 +fi +# Query proposal to get upgrade height +upgrade_height=$($localnetd q gov proposal 1 --output json | jq -r '.messages[0].plan.height') +echo "Proposal should pass! Chain will halt at block height: $upgrade_height" +echo "Waiting for chain to reach upgrade height..." + +# Poll chain height until it reaches upgrade height +while true; do + current_height=$($localnetd status 2>&1 | jq -r '.SyncInfo.latest_block_height' 2>/dev/null || echo "0") + echo "Current height: $current_height / Upgrade height: $upgrade_height" + + if [ "$current_height" -ge "$upgrade_height" ]; then + echo "Upgrade height reached!" + break + fi + + sleep 2 +done + +sleep 5 + +echo "Displaying last 6 lines of previous binary logs:" +tail -n 6 prev.log + +echo "Killing old binary..." +pkill -f "$ATOMONED_BIN" || true +sleep 2 + +echo "Starting new binary..." +$localnetd_new start diff --git a/go.mod b/go.mod index 883747e2..afc2b6bf 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.7.2 - github.com/cosmos/ibc-go/v10 v10.2.0 + github.com/cosmos/ibc-go/v10 v10.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/google/gofuzz v1.2.0 From 3cbe9ea69626b2b0e81e13c1dee567bca88b41d2 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Tue, 20 Jan 2026 10:14:29 +0100 Subject: [PATCH 6/7] format --- contrib/scripts/upgrade-node.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/scripts/upgrade-node.sh b/contrib/scripts/upgrade-node.sh index aabf66b7..a7380f35 100755 --- a/contrib/scripts/upgrade-node.sh +++ b/contrib/scripts/upgrade-node.sh @@ -52,7 +52,7 @@ mv /tmp/gen $localnet_home/config/genesis.json jq --rawfile data contrib/localnet/constitution-mock.md '.app_state.gov.constitution=$data' $localnet_home/config/genesis.json > /tmp/gen mv /tmp/gen $localnet_home/config/genesis.json echo "Start old chain..." -$localnetd start &> prev.log & +$localnetd start --log_format json &> prev.log & sleep 10 echo "Stake tokens for user to be able to vote" stake_tx=$($localnetd tx staking delegate $($localnetd keys show val --bech val -a) 10000000000uatone --from user --fees 10000uphoton --yes --output json) @@ -132,4 +132,4 @@ pkill -f "$ATOMONED_BIN" || true sleep 2 echo "Starting new binary..." -$localnetd_new start +$localnetd_new start --log_format json From 1a1d604e7d6d8cc49d0343ed8567ee83e4a76c2d Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Tue, 20 Jan 2026 10:15:51 +0100 Subject: [PATCH 7/7] bump ibc go --- go.mod | 29 +++++++++++++------------- go.sum | 65 ++++++++++++++++++++++++++++++---------------------------- 2 files changed, 49 insertions(+), 45 deletions(-) diff --git a/go.mod b/go.mod index afc2b6bf..9f4a2516 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ replace ( cosmossdk.io/x/feegrant => cosmossdk.io/x/feegrant v0.1.1 cosmossdk.io/x/upgrade => github.com/atomone-hub/cosmos-sdk/x/upgrade v0.1.5-atomone.1.0.20251218143825-cbb67818e94a github.com/cosmos/cosmos-sdk => github.com/atomone-hub/cosmos-sdk v0.50.14-atomone.1.0.20251218143825-cbb67818e94a - github.com/cosmos/ibc-go/v10 => github.com/cosmos/ibc-go/v10 v10.2.0 + github.com/cosmos/ibc-go/v10 => github.com/cosmos/ibc-go/v10 v10.5.0 ) require ( @@ -14,9 +14,9 @@ require ( cosmossdk.io/client/v2 v2.0.0-beta.11 cosmossdk.io/collections v1.2.1 cosmossdk.io/core v0.11.3 - cosmossdk.io/depinject v1.2.0 + cosmossdk.io/depinject v1.2.1 cosmossdk.io/errors v1.0.2 - cosmossdk.io/log v1.5.1 + cosmossdk.io/log v1.6.1 cosmossdk.io/math v1.5.3 cosmossdk.io/store v1.1.2 cosmossdk.io/tools/confix v0.1.2 @@ -25,9 +25,9 @@ require ( cosmossdk.io/x/tx v0.14.0 cosmossdk.io/x/upgrade v0.2.0 github.com/cometbft/cometbft v0.38.20 - github.com/cosmos/cosmos-db v1.1.1 + github.com/cosmos/cosmos-db v1.1.3 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.53.0 + github.com/cosmos/cosmos-sdk v0.53.4 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.7.2 github.com/cosmos/ibc-go/v10 v10.5.0 @@ -38,10 +38,10 @@ require ( github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/ory/dockertest/v3 v3.10.0 github.com/spf13/cast v1.9.2 - github.com/spf13/cobra v1.9.1 - github.com/spf13/pflag v1.0.6 + github.com/spf13/cobra v1.10.1 + github.com/spf13/pflag v1.0.9 github.com/spf13/viper v1.20.1 - github.com/stretchr/testify v1.10.0 + github.com/stretchr/testify v1.11.1 golang.org/x/sync v0.16.0 google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 google.golang.org/grpc v1.75.0 @@ -122,14 +122,14 @@ require ( github.com/dgraph-io/ristretto v0.2.0 // indirect github.com/docker/cli v24.0.7+incompatible // indirect github.com/docker/docker v20.10.19+incompatible // indirect - github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.7.0 // indirect github.com/emicklei/dot v1.6.2 // indirect github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect - github.com/ethereum/go-ethereum v1.15.10 // indirect + github.com/ethereum/go-ethereum v1.15.11 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect @@ -145,7 +145,7 @@ require ( github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect - github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect + github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e // indirect github.com/google/btree v1.1.3 // indirect github.com/google/flatbuffers v24.3.25+incompatible // indirect github.com/google/go-cmp v0.7.0 // indirect @@ -197,7 +197,7 @@ require ( github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect github.com/oklog/run v1.1.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0-rc2 // indirect + github.com/opencontainers/image-spec v1.1.0-rc5 // indirect github.com/opencontainers/runc v1.1.12 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 // indirect @@ -244,7 +244,8 @@ require ( go.opentelemetry.io/otel/trace v1.37.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/arch v0.15.0 // indirect + go.yaml.in/yaml/v2 v2.4.2 // indirect + golang.org/x/arch v0.17.0 // indirect golang.org/x/crypto v0.41.0 // indirect golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect golang.org/x/net v0.43.0 // indirect @@ -260,7 +261,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.5.2 // indirect nhooyr.io/websocket v1.8.11 // indirect - sigs.k8s.io/yaml v1.4.0 // indirect + sigs.k8s.io/yaml v1.6.0 // indirect ) replace ( diff --git a/go.sum b/go.sum index 2c0eee1d..e152ff91 100644 --- a/go.sum +++ b/go.sum @@ -30,12 +30,12 @@ cosmossdk.io/collections v1.2.1 h1:mAlNMs5vJwkda4TA+k5q/43p24RVAQ/qyDrjANu3BXE= cosmossdk.io/collections v1.2.1/go.mod h1:PSsEJ/fqny0VPsHLFT6gXDj/2C1tBOTS9eByK0+PBFU= cosmossdk.io/core v0.11.3 h1:mei+MVDJOwIjIniaKelE3jPDqShCc/F4LkNNHh+4yfo= cosmossdk.io/core v0.11.3/go.mod h1:9rL4RE1uDt5AJ4Tg55sYyHWXA16VmpHgbe0PbJc6N2Y= -cosmossdk.io/depinject v1.2.0 h1:6NW/FSK1IkWTrX7XxUpBmX1QMBozpEI9SsWkKTBc5zw= -cosmossdk.io/depinject v1.2.0/go.mod h1:pvitjtUxZZZTQESKNS9KhGjWVslJZxtO9VooRJYyPjk= +cosmossdk.io/depinject v1.2.1 h1:eD6FxkIjlVaNZT+dXTQuwQTKZrFZ4UrfCq1RKgzyhMw= +cosmossdk.io/depinject v1.2.1/go.mod h1:lqQEycz0H2JXqvOgVwTsjEdMI0plswI7p6KX+MVqFOM= cosmossdk.io/errors v1.0.2 h1:wcYiJz08HThbWxd/L4jObeLaLySopyyuUFB5w4AGpCo= cosmossdk.io/errors v1.0.2/go.mod h1:0rjgiHkftRYPj//3DrD6y8hcm40HcPv/dR4R/4efr0k= -cosmossdk.io/log v1.5.1 h1:wLwiYXmfrort/O+j6EkjF+HvbdrRQd+4cYCPKFSm+zM= -cosmossdk.io/log v1.5.1/go.mod h1:5cXXBvfBkR2/BcXmosdCSLXllvgSjphrrDVdfVRmBGM= +cosmossdk.io/log v1.6.1 h1:YXNwAgbDwMEKwDlCdH8vPcoggma48MgZrTQXCfmMBeI= +cosmossdk.io/log v1.6.1/go.mod h1:gMwsWyyDBjpdG9u2avCFdysXqxq28WJapJvu+vF1y+E= cosmossdk.io/math v1.5.3 h1:WH6tu6Z3AUCeHbeOSHg2mt9rnoiUWVWaQ2t6Gkll96U= cosmossdk.io/math v1.5.3/go.mod h1:uqcZv7vexnhMFJF+6zh9EWdm/+Ylyln34IvPnBauPCQ= cosmossdk.io/schema v1.1.0 h1:mmpuz3dzouCoyjjcMcA/xHBEmMChN+EHh8EHxHRHhzE= @@ -228,8 +228,8 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= -github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNCM= -github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw= +github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOPY= +github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -241,8 +241,8 @@ github.com/cosmos/gogoproto v1.7.2 h1:5G25McIraOC0mRFv9TVO139Uh3OklV2hczr13KKVHC github.com/cosmos/gogoproto v1.7.2/go.mod h1:8S7w53P1Y1cHwND64o0BnArT6RmdgIvsBuco6uTllsk= github.com/cosmos/iavl v1.2.2 h1:qHhKW3I70w+04g5KdsdVSHRbFLgt3yY3qTMd4Xa4rC8= github.com/cosmos/iavl v1.2.2/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= -github.com/cosmos/ibc-go/v10 v10.2.0 h1:wlk/zqz2O0WRyE6UConoR1ci2HSW02P9ywamZCh5/N4= -github.com/cosmos/ibc-go/v10 v10.2.0/go.mod h1:ijeyJ1FDvXoc5w+rlhpMntjhZ558EF02SBFjroW1hPo= +github.com/cosmos/ibc-go/v10 v10.5.0 h1:NI+cX04fXdu9JfP0V0GYeRi1ENa7PPdq0BYtVYo8Zrs= +github.com/cosmos/ibc-go/v10 v10.5.0/go.mod h1:a74pAPUSJ7NewvmvELU74hUClJhwnmm5MGbEaiTw/kE= github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= github.com/cosmos/keyring v1.2.0 h1:8C1lBP9xhImmIabyXW4c3vFjjLiBdGCmfLUfeZlV1Yo= @@ -282,8 +282,8 @@ github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1x github.com/docker/cli v24.0.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= +github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -313,8 +313,8 @@ github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJP github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= -github.com/ethereum/go-ethereum v1.15.10 h1:UxqBhpsF2TNF1f7Z/k3RUUHEuLvDGAlHuh/lQ99ZA0w= -github.com/ethereum/go-ethereum v1.15.10/go.mod h1:+S9k+jFzlyVTNcYGvqFhzN/SFhI6vA+aOY4T5tLSPL0= +github.com/ethereum/go-ethereum v1.15.11 h1:JK73WKeu0WC0O1eyX+mdQAVHUV+UR1a9VB/domDngBU= +github.com/ethereum/go-ethereum v1.15.11/go.mod h1:mf8YiHIb0GR4x4TipcvBUPxJLw1mFdmxzoDi11sDRoI= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= @@ -427,8 +427,8 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk= -github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e h1:4bw4WeyTYPp0smaXiJZCNnLrvVBqirQVreixayXezGc= +github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= @@ -444,7 +444,6 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= @@ -684,18 +683,18 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= +github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= -github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= +github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= +github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= github.com/opencontainers/runc v1.1.12 h1:BOIssBaW1La0/qbNZHXOOa71dZfZEQOzW7dqQf3phss= github.com/opencontainers/runc v1.1.12/go.mod h1:S+lQwSfncpBha7XTy/5lBwWgm5+y5Ma/O44Ekby9FK8= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= @@ -816,12 +815,12 @@ github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZ github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= -github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= +github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= +github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= -github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE= @@ -845,8 +844,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= @@ -935,8 +934,12 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/arch v0.15.0 h1:QtOrQd0bTUnhNVNndMpLHNWrDmYzZ2KDqSrEymqInZw= -golang.org/x/arch v0.15.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE= +go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= +go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= +go.yaml.in/yaml/v3 v3.0.3 h1:bXOww4E/J3f66rav3pX3m8w6jDE4knZjGOw8b5Y6iNE= +go.yaml.in/yaml/v3 v3.0.3/go.mod h1:tBHosrYAkRZjRAOREWbDnBXUf08JOwYq++0QNwQiWzI= +golang.org/x/arch v0.17.0 h1:4O3dfLzd+lQewptAHqjewQZQDyEdejz3VwgeYwkZneU= +golang.org/x/arch v0.17.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -1211,6 +1214,6 @@ nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYm pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= +sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= +sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=