diff --git a/.changelog/epilogue.md b/.changelog/epilogue.md index a9e42616..d60a7856 100644 --- a/.changelog/epilogue.md +++ b/.changelog/epilogue.md @@ -1,5 +1,5 @@ --- -## Previous Changes +## Other Releases -This changelog has yet to be fully initialized. For previous versions please refer to the release notes for a summary of changes. +This changelog is specific to the v4.1 Argon release line. For other versions please refer to their release notes for a summary of changes. diff --git a/.changelog/v3.1.0/features/235-ibc-authority.md b/.changelog/v3.1.0/features/235-ibc-authority.md deleted file mode 100644 index 6776b845..00000000 --- a/.changelog/v3.1.0/features/235-ibc-authority.md +++ /dev/null @@ -1 +0,0 @@ -- Include support for IBC inside the ParamAuthority. ([#235](https://github.com/noble-assets/noble/pull/235)) diff --git a/.changelog/v3.1.0/improvements/234-module-path.md b/.changelog/v3.1.0/improvements/234-module-path.md deleted file mode 100644 index 9ce52bc4..00000000 --- a/.changelog/v3.1.0/improvements/234-module-path.md +++ /dev/null @@ -1 +0,0 @@ -- Align module path with Go's [naming convention](https://go.dev/doc/modules/version-numbers#major-version). ([#234](https://github.com/noble-assets/noble/pull/234)) diff --git a/.changelog/v3.1.0/summary.md b/.changelog/v3.1.0/summary.md deleted file mode 100644 index 0a6d248f..00000000 --- a/.changelog/v3.1.0/summary.md +++ /dev/null @@ -1,5 +0,0 @@ -*Sep 15, 2023* - -This is a minor release to the v3 Radon line. - -In response to multiple IBC channels expiring on Noble's mainnet network, it was decided to expand the functionality of Noble's Maintenance Multisig to include IBC upgrade functionality (allowing expired clients to be changed). diff --git a/.changelog/v4.0.0/bug-fixes/252-simulation-tests.md b/.changelog/v4.0.0/bug-fixes/252-simulation-tests.md deleted file mode 100644 index 9cd22bee..00000000 --- a/.changelog/v4.0.0/bug-fixes/252-simulation-tests.md +++ /dev/null @@ -1 +0,0 @@ -- Fix simulation tests. ([#252](https://github.com/noble-assets/noble/pull/252)) diff --git a/.changelog/v4.0.0/bug-fixes/253-ledger-macos-sonoma.md b/.changelog/v4.0.0/bug-fixes/253-ledger-macos-sonoma.md deleted file mode 100644 index 923de727..00000000 --- a/.changelog/v4.0.0/bug-fixes/253-ledger-macos-sonoma.md +++ /dev/null @@ -1 +0,0 @@ -- Fix Ledger support for macOS Sonoma. ([#253](https://github.com/noble-assets/noble/pull/253)) diff --git a/.changelog/v4.0.0/dependencies/250-bump-ibc.md b/.changelog/v4.0.0/dependencies/250-bump-ibc.md deleted file mode 100644 index d337c087..00000000 --- a/.changelog/v4.0.0/dependencies/250-bump-ibc.md +++ /dev/null @@ -1 +0,0 @@ -- Bump IBC to [`v4.5.1`](https://github.com/cosmos/ibc-go/releases/tag/v4.5.1) ([#250](https://github.com/noble-assets/noble/pull/250)) diff --git a/.changelog/v4.0.0/dependencies/250-bump-pfm.md b/.changelog/v4.0.0/dependencies/250-bump-pfm.md deleted file mode 100644 index deb7fd5e..00000000 --- a/.changelog/v4.0.0/dependencies/250-bump-pfm.md +++ /dev/null @@ -1 +0,0 @@ -- Bump Packet Forward Middleware to [`v4.1.1`](https://github.com/cosmos/ibc-apps/releases/tag/middleware%2Fpacket-forward-middleware%2Fv4.1.1) ([#250](https://github.com/noble-assets/noble/pull/250), [#258](https://github.com/noble-assets/noble/pull/258)) diff --git a/.changelog/v4.0.0/features/215-rosetta-support.md b/.changelog/v4.0.0/features/215-rosetta-support.md deleted file mode 100644 index 84156b68..00000000 --- a/.changelog/v4.0.0/features/215-rosetta-support.md +++ /dev/null @@ -1 +0,0 @@ -- Include support for Coinbase's [Rosetta API](https://docs.cloud.coinbase.com/rosetta/docs/welcome). ([#215](https://github.com/noble-assets/noble/pull/215)) diff --git a/.changelog/v4.0.0/improvements/241-ftf-interface-changes.md b/.changelog/v4.0.0/improvements/241-ftf-interface-changes.md deleted file mode 100644 index c040a3dc..00000000 --- a/.changelog/v4.0.0/improvements/241-ftf-interface-changes.md +++ /dev/null @@ -1 +0,0 @@ -- Add `x/fiattokenfactory` interface changes required for CCTP. ([#241](https://github.com/noble-assets/noble/pull/241)) diff --git a/.changelog/v4.0.0/summary.md b/.changelog/v4.0.0/summary.md deleted file mode 100644 index f2997a08..00000000 --- a/.changelog/v4.0.0/summary.md +++ /dev/null @@ -1,5 +0,0 @@ -*Nov 6, 2023* - -This is the long awaited Argon major release of Noble. It introduces a new [`x/cctp`](https://github.com/circlefin/noble-cctp) module that implements Circle's [Cross Chain Transfer Protocol (CCTP)](https://www.circle.com/en/cross-chain-transfer-protocol), allowing native $USDC transfers between supported EVM networks and Noble (with many more networks to come). - -Along with the integration of the CCTP module, the following changes were made. diff --git a/.changelog/v4.0.1/bug-fixes/274-distribution-hooks.md b/.changelog/v4.0.1/bug-fixes/274-distribution-hooks.md deleted file mode 100644 index 5d9acde6..00000000 --- a/.changelog/v4.0.1/bug-fixes/274-distribution-hooks.md +++ /dev/null @@ -1 +0,0 @@ -- Unregister `x/distribution` hooks to address consensus failure. ([#274](https://github.com/noble-assets/noble/pull/274)) diff --git a/.changelog/v4.0.1/summary.md b/.changelog/v4.0.1/summary.md deleted file mode 100644 index f93a81d8..00000000 --- a/.changelog/v4.0.1/summary.md +++ /dev/null @@ -1,3 +0,0 @@ -*Nov 16, 2023* - -This is a consensus breaking patch release to the v4 Argon line. diff --git a/.changelog/v4.0.2/improvements/277-tariff-query.md b/.changelog/v4.0.2/improvements/277-tariff-query.md deleted file mode 100644 index 739a8150..00000000 --- a/.changelog/v4.0.2/improvements/277-tariff-query.md +++ /dev/null @@ -1 +0,0 @@ -- Implement a parameter query for the `x/tariff` module. ([#277](https://github.com/noble-assets/noble/pull/277)) diff --git a/.changelog/v4.0.2/summary.md b/.changelog/v4.0.2/summary.md deleted file mode 100644 index 15e135c5..00000000 --- a/.changelog/v4.0.2/summary.md +++ /dev/null @@ -1,3 +0,0 @@ -*Nov 21, 2023* - -This is a non-consensus breaking patch release to the v4 Argon line. diff --git a/.changelog/v4.1.0-rc.2/deprecated/288-stable-token-factory.md b/.changelog/v4.1.0-rc.2/deprecated/288-stable-token-factory.md new file mode 100644 index 00000000..dab49be8 --- /dev/null +++ b/.changelog/v4.1.0-rc.2/deprecated/288-stable-token-factory.md @@ -0,0 +1 @@ +- Remove the new `x/stabletokenfactory` module for issuing [USDLR by Stable](https://withstable.com). ([#288](https://github.com/noble-assets/noble/pull/288)) diff --git a/.changelog/v4.1.0-rc.2/features/302-forwarding-accounts.md b/.changelog/v4.1.0-rc.2/features/302-forwarding-accounts.md new file mode 100644 index 00000000..8b22c9d4 --- /dev/null +++ b/.changelog/v4.1.0-rc.2/features/302-forwarding-accounts.md @@ -0,0 +1 @@ +- Introduce a new `x/forwarding` module for accounts that automatically forward cross-chain. ([#302](https://github.com/noble-assets/noble/pull/302)) diff --git a/.changelog/unreleased/improvements/277-tariff-query.md b/.changelog/v4.1.0-rc.2/improvements/277-tariff-query.md similarity index 100% rename from .changelog/unreleased/improvements/277-tariff-query.md rename to .changelog/v4.1.0-rc.2/improvements/277-tariff-query.md diff --git a/.changelog/unreleased/improvements/283-module-path.md b/.changelog/v4.1.0-rc.2/improvements/283-module-path.md similarity index 100% rename from .changelog/unreleased/improvements/283-module-path.md rename to .changelog/v4.1.0-rc.2/improvements/283-module-path.md diff --git a/.changelog/v4.1.0-rc.2/summary.md b/.changelog/v4.1.0-rc.2/summary.md new file mode 100644 index 00000000..b3c5d425 --- /dev/null +++ b/.changelog/v4.1.0-rc.2/summary.md @@ -0,0 +1,3 @@ +*Feb 29, 2024* + +This is the third release candidate for a minor release to the v4 Argon line. diff --git a/.github/workflows/simulation-tests.yaml b/.github/workflows/simulation-tests.yaml index 2e1c9dbe..5bc48ac7 100644 --- a/.github/workflows/simulation-tests.yaml +++ b/.github/workflows/simulation-tests.yaml @@ -1,7 +1,7 @@ name: Simulation Tests on: - pull_request: + workflow_dispatch: jobs: simulation-tests: @@ -15,5 +15,5 @@ jobs: with: go-version: 1.21 - - name: Run Unit Tests + - name: Run Simulation Tests run: go test -bench BenchmarkSimulation ./app diff --git a/CHANGELOG.md b/CHANGELOG.md index 267336b3..285f198a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,100 +1,57 @@ # CHANGELOG -## v4.1.0-rc.1 +## v4.1.0-rc.2 -*Nov 16, 2023* +*Feb 29, 2024* -This is the second release candidate for a minor release to the v4 Argon line. +This is the third release candidate for a minor release to the v4 Argon line. -### BUG FIXES +### DEPRECATED -- Unregister `x/distribution` hooks to address consensus failure. ([#275](https://github.com/noble-assets/noble/pull/275)) - -## v4.1.0-rc.0 - -*Nov 15, 2023* - -This is the first release candidate for a minor release to the v4 Argon line. - -### DEPENDENCIES - -- Bump CCTP from [`dc81b3e`](https://github.com/circlefin/noble-cctp/commit/dc81b3e0d566d195c869a213519fcecd38b020a5) to [`86f425e`](https://github.com/circlefin/noble-cctp/commit/86f425e6fac94ff57865dd11b42c95de303e0d96) ([#259](https://github.com/noble-assets/noble/pull/259)) +- Remove the new `x/stabletokenfactory` module for issuing [USDLR by Stable](https://withstable.com). ([#288](https://github.com/noble-assets/noble/pull/288)) ### FEATURES -- Introduce a new `x/stabletokenfactory` module for issuing [USDLR by Stable](https://withstable.com). ([#269](https://github.com/noble-assets/noble/pull/269)) - -### IMPROVEMENTS - -- Align module path with Go's [naming convention](https://go.dev/doc/modules/version-numbers#major-version). ([#249](https://github.com/noble-assets/noble/pull/249)) -- Remove `x/fiattokenfactory` module from codebase and switch to migrated version under [`circlefin/noble-fiattokenfactory`](https://github.com/circlefin/noble-fiattokenfactory) ([#259](https://github.com/noble-assets/noble/pull/259)) -- Add multiple fee denom support to the `x/tariff` module. ([#269](https://github.com/noble-assets/noble/pull/269)) - -## v4.0.2 - -*Nov 21, 2023* - -This is a non-consensus breaking patch release to the v4 Argon line. +- Introduce a new `x/forwarding` module for accounts that automatically forward cross-chain. ([#302](https://github.com/noble-assets/noble/pull/302)) ### IMPROVEMENTS - Implement a parameter query for the `x/tariff` module. ([#277](https://github.com/noble-assets/noble/pull/277)) +- Align module path with repository migration to `noble-assets` organization. ([#283](https://github.com/noble-assets/noble/pull/283)) -## v4.0.1 +## v4.1.0-rc.1 *Nov 16, 2023* -This is a consensus breaking patch release to the v4 Argon line. +This is the second release candidate for a minor release to the v4 Argon line. ### BUG FIXES -- Unregister `x/distribution` hooks to address consensus failure. ([#274](https://github.com/noble-assets/noble/pull/274)) - -## v4.0.0 - -*Nov 6, 2023* - -This is the long awaited Argon major release of Noble. It introduces a new [`x/cctp`](https://github.com/circlefin/noble-cctp) module that implements Circle's [Cross Chain Transfer Protocol (CCTP)](https://www.circle.com/en/cross-chain-transfer-protocol), allowing native $USDC transfers between supported EVM networks and Noble (with many more networks to come). +- Unregister `x/distribution` hooks to address consensus failure. ([#275](https://github.com/noble-assets/noble/pull/275)) -Along with the integration of the CCTP module, the following changes were made. +## v4.1.0-rc.0 -### BUG FIXES +*Nov 15, 2023* -- Fix simulation tests. ([#252](https://github.com/noble-assets/noble/pull/252)) -- Fix Ledger support for macOS Sonoma. ([#253](https://github.com/noble-assets/noble/pull/253)) +This is the first release candidate for a minor release to the v4 Argon line. ### DEPENDENCIES -- Bump IBC to [`v4.5.1`](https://github.com/cosmos/ibc-go/releases/tag/v4.5.1) ([#250](https://github.com/noble-assets/noble/pull/250)) -- Bump Packet Forward Middleware to [`v4.1.1`](https://github.com/cosmos/ibc-apps/releases/tag/middleware%2Fpacket-forward-middleware%2Fv4.1.1) ([#250](https://github.com/noble-assets/noble/pull/250), [#258](https://github.com/noble-assets/noble/pull/258)) - -### FEATURES - -- Include support for Coinbase's [Rosetta API](https://docs.cloud.coinbase.com/rosetta/docs/welcome). ([#215](https://github.com/noble-assets/noble/pull/215)) - -### IMPROVEMENTS - -- Add `x/fiattokenfactory` interface changes required for CCTP. ([#241](https://github.com/noble-assets/noble/pull/241)) - -## v3.1.0 - -*Sep 15, 2023* - -This is a minor release to the v3 Radon line. - -In response to multiple IBC channels expiring on Noble's mainnet network, it was decided to expand the functionality of Noble's Maintenance Multisig to include IBC upgrade functionality (allowing expired clients to be changed). +- Bump CCTP from [`dc81b3e`](https://github.com/circlefin/noble-cctp/commit/dc81b3e0d566d195c869a213519fcecd38b020a5) to [`86f425e`](https://github.com/circlefin/noble-cctp/commit/86f425e6fac94ff57865dd11b42c95de303e0d96) ([#259](https://github.com/noble-assets/noble/pull/259)) ### FEATURES -- Include support for IBC inside the ParamAuthority. ([#235](https://github.com/noble-assets/noble/pull/235)) +- Introduce a new `x/stabletokenfactory` module for issuing [USDLR by Stable](https://withstable.com). ([#269](https://github.com/noble-assets/noble/pull/269)) ### IMPROVEMENTS -- Align module path with Go's [naming convention](https://go.dev/doc/modules/version-numbers#major-version). ([#234](https://github.com/noble-assets/noble/pull/234)) +- Align module path with Go's [naming convention](https://go.dev/doc/modules/version-numbers#major-version). ([#249](https://github.com/noble-assets/noble/pull/249)) +- Remove `x/fiattokenfactory` module from codebase and switch to migrated version under [`circlefin/noble-fiattokenfactory`](https://github.com/circlefin/noble-fiattokenfactory) ([#259](https://github.com/noble-assets/noble/pull/259)) +- Add multiple fee denom support to the `x/tariff` module. ([#269](https://github.com/noble-assets/noble/pull/269)) --- -## Previous Changes +## Other Releases -This changelog has yet to be fully initialized. For previous versions please refer to the release notes for a summary of changes. +This changelog is specific to the v4.1 Argon release line. For other versions please refer to their release notes for a summary of changes. diff --git a/app/app.go b/app/app.go index bf1b8963..3a8c10cf 100644 --- a/app/app.go +++ b/app/app.go @@ -93,7 +93,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - v4m1p0 "github.com/noble-assets/noble/v4/app/upgrades/v4.1.0" + v4m1p0rc2 "github.com/noble-assets/noble/v4/app/upgrades/v4.1.0-rc.2" "github.com/noble-assets/noble/v4/cmd" "github.com/noble-assets/noble/v4/docs" "github.com/noble-assets/noble/v4/x/blockibc" @@ -877,10 +877,10 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino } func (app *App) setupUpgradeHandlers() { - // v4.1.0 upgrade + // v4.1.0-rc.2 upgrade app.UpgradeKeeper.SetUpgradeHandler( - v4m1p0.UpgradeName, - v4m1p0.CreateUpgradeHandler( + v4m1p0rc2.UpgradeName, + v4m1p0rc2.CreateUpgradeHandler( app.mm, app.configurator, ), @@ -897,8 +897,8 @@ func (app *App) setupUpgradeHandlers() { var storeLoader baseapp.StoreLoader switch upgradeInfo.Name { - case v4m1p0.UpgradeName: - storeLoader = v4m1p0.CreateStoreLoader(upgradeInfo.Height) + case v4m1p0rc2.UpgradeName: + storeLoader = v4m1p0rc2.CreateStoreLoader(upgradeInfo.Height) } if storeLoader != nil { diff --git a/app/upgrades/v4.1.0-rc.2/constants.go b/app/upgrades/v4.1.0-rc.2/constants.go new file mode 100644 index 00000000..05e8e07b --- /dev/null +++ b/app/upgrades/v4.1.0-rc.2/constants.go @@ -0,0 +1,7 @@ +package v4m1p0rc2 + +// UpgradeName is the name of this specific software upgrade used on-chain. +const UpgradeName = "v4.1.0-rc.2" + +// TestnetChainID is the Chain ID of the Noble testnet (Grand). +const TestnetChainID = "grand-1" diff --git a/app/upgrades/v4.1.0/store.go b/app/upgrades/v4.1.0-rc.2/store.go similarity index 57% rename from app/upgrades/v4.1.0/store.go rename to app/upgrades/v4.1.0-rc.2/store.go index 1371853a..044ffd84 100644 --- a/app/upgrades/v4.1.0/store.go +++ b/app/upgrades/v4.1.0-rc.2/store.go @@ -1,13 +1,17 @@ -package v4m1p0 +package v4m1p0rc2 import ( "github.com/cosmos/cosmos-sdk/baseapp" storetypes "github.com/cosmos/cosmos-sdk/store/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + forwardingtypes "github.com/noble-assets/noble/v4/x/forwarding/types" ) func CreateStoreLoader(upgradeHeight int64) baseapp.StoreLoader { - storeUpgrades := storetypes.StoreUpgrades{} + storeUpgrades := storetypes.StoreUpgrades{ + Added: []string{forwardingtypes.StoreKey}, + Deleted: []string{"stabletokenfactory"}, + } return upgradetypes.UpgradeStoreLoader(upgradeHeight, &storeUpgrades) } diff --git a/app/upgrades/v4.1.0/upgrade.go b/app/upgrades/v4.1.0-rc.2/upgrade.go similarity index 70% rename from app/upgrades/v4.1.0/upgrade.go rename to app/upgrades/v4.1.0-rc.2/upgrade.go index ff05a756..adcaa33a 100644 --- a/app/upgrades/v4.1.0/upgrade.go +++ b/app/upgrades/v4.1.0-rc.2/upgrade.go @@ -1,6 +1,8 @@ -package v4m1p0 +package v4m1p0rc2 import ( + "fmt" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" @@ -11,6 +13,10 @@ func CreateUpgradeHandler( cfg module.Configurator, ) upgradetypes.UpgradeHandler { return func(ctx sdk.Context, _ upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { + if ctx.ChainID() != TestnetChainID { + return vm, fmt.Errorf("%s upgrade not allowed to execute on %s chain", UpgradeName, ctx.ChainID()) + } + return mm.RunMigrations(ctx, cfg, vm) } } diff --git a/app/upgrades/v4.1.0/constants.go b/app/upgrades/v4.1.0/constants.go deleted file mode 100644 index 44ef3290..00000000 --- a/app/upgrades/v4.1.0/constants.go +++ /dev/null @@ -1,4 +0,0 @@ -package v4m1p0 - -// UpgradeName is the name of this specific software upgrade used on-chain. -const UpgradeName = "v4.1.0" diff --git a/interchaintest/upgrade_grand-1_test.go b/interchaintest/upgrade_grand-1_test.go index db00a540..c9ccbdb6 100644 --- a/interchaintest/upgrade_grand-1_test.go +++ b/interchaintest/upgrade_grand-1_test.go @@ -110,6 +110,10 @@ func TestGrand1ChainUpgrade(t *testing.T) { require.Equal(t, numJailed, 1) }, }, + { + upgradeName: "v4.1.0-rc.2", + image: ghcrImage("v4.1.0-rc.2"), + }, } testNobleChainUpgrade(t, "grand-1", genesis, denomMetadataUsdc, numValidators, numFullNodes, upgrades) diff --git a/interchaintest/upgrade_noble-1_test.go b/interchaintest/upgrade_noble-1_test.go index 7ee402a8..09cfa03a 100644 --- a/interchaintest/upgrade_noble-1_test.go +++ b/interchaintest/upgrade_noble-1_test.go @@ -108,10 +108,6 @@ func TestNoble1ChainUpgrade(t *testing.T) { require.NoError(t, json.Unmarshal(raw, &res)) }, }, - { - upgradeName: "v4.1.0", - image: nobleImageInfo[0], - }, } testNobleChainUpgrade(t, "noble-1", genesis, denomMetadataFrienzies, numValidators, numFullNodes, upgrades)