diff --git a/CHANGELOG.md b/CHANGELOG.md index c4f57351..54aa42f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog ## [Unreleased](https://github.com/CosmWasm/wasmd/tree/HEAD) + +[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.27.0...HEAD) + +## [v0.27.0](https://github.com/CosmWasm/wasmd/tree/v0.27.0) (2022-05-17) + +[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.26.0...v0.27.0) + **API Breaking** Yes @@ -11,7 +18,7 @@ Yes **Implemented Enhancements** - Add UpdateInstantiateConfig governance proposal [\#820](https://github.com/CosmWasm/wasmd/pull/796) ([jhernandezb](https://github.com/jhernandezb)) -- Upgrade wasmvm to v1.0.0-rc.0 [\#844](https://github.com/CosmWasm/wasmd/pull/844) +- Upgrade wasmvm to v1.0.0 [\#844](https://github.com/CosmWasm/wasmd/pull/844) and [\#858](https://github.com/CosmWasm/wasmd/pull/858) - Support state sync [\#478](https://github.com/CosmWasm/wasmd/issues/478) - Upgrade to ibc-go v3 [\#806](https://github.com/CosmWasm/wasmd/issues/806) - Initial ICA integration [\#837](https://github.com/CosmWasm/wasmd/pull/837) ([ethanfrey](https://github.com/ethanfrey)) @@ -21,8 +28,6 @@ Yes - Bump buf docker image to fix proto generation issues [\#820](https://github.com/CosmWasm/wasmd/pull/820) ([alpe](https://github.com/alpe)) - Add MsgStoreCode and MsgInstantiateContract support to simulations [\#831](https://github.com/CosmWasm/wasmd/pull/831) ([pinosu](https://github.com/pinosu)) -[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.26.0...HEAD) - **Implemented Enhancements** - Make MaxLabelSize a var not const [\#822](https://github.com/CosmWasm/wasmd/pull/822) diff --git a/app/app.go b/app/app.go index c4f713d6..25ea186c 100644 --- a/app/app.go +++ b/app/app.go @@ -92,6 +92,9 @@ import ( porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types" ibchost "github.com/cosmos/ibc-go/v3/modules/core/24-host" ibckeeper "github.com/cosmos/ibc-go/v3/modules/core/keeper" + + // Note: please do your research before using this in production app, this is a demo and not an officially + // supported IBC team implementation. It has no known issues, but do your own research before using it. intertx "github.com/cosmos/interchain-accounts/x/inter-tx" intertxkeeper "github.com/cosmos/interchain-accounts/x/inter-tx/keeper" intertxtypes "github.com/cosmos/interchain-accounts/x/inter-tx/types" @@ -479,10 +482,13 @@ func NewWasmApp( icaModule := ica.NewAppModule(&app.icaControllerKeeper, &app.icaHostKeeper) icaHostIBCModule := icahost.NewIBCModule(app.icaHostKeeper) - // Use the "official" demo controller from https://github.com/cosmos/interchain-accounts + // For wasmd we use the demo controller from https://github.com/cosmos/interchain-accounts but see notes below app.interTxKeeper = intertxkeeper.NewKeeper(appCodec, keys[intertxtypes.StoreKey], app.icaControllerKeeper, scopedInterTxKeeper) + // Note: please do your research before using this in production app, this is a demo and not an officially + // supported IBC team implementation. Do your own research before using it. interTxModule := intertx.NewAppModule(appCodec, app.interTxKeeper) interTxIBCModule := intertx.NewIBCModule(app.interTxKeeper) + // You will likely want to swap out the second argument with your own reviewed and maintained ica auth module icaControllerIBCModule := icacontroller.NewIBCModule(app.icaControllerKeeper, interTxIBCModule) // create evidence keeper with router diff --git a/x/wasm/keeper/genesis_test.go b/x/wasm/keeper/genesis_test.go index 6a4e80bc..ff7c6db5 100644 --- a/x/wasm/keeper/genesis_test.go +++ b/x/wasm/keeper/genesis_test.go @@ -37,7 +37,6 @@ import ( const firstCodeID = 1 func TestGenesisExportImport(t *testing.T) { - SkipIfM1(t) wasmKeeper, srcCtx, srcStoreKeys := setupKeeper(t) contractKeeper := NewGovPermissionKeeper(wasmKeeper) @@ -154,7 +153,6 @@ func TestGenesisExportImport(t *testing.T) { } func TestGenesisInit(t *testing.T) { - SkipIfM1(t) wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) @@ -459,7 +457,6 @@ func TestGenesisInit(t *testing.T) { } func TestImportContractWithCodeHistoryReset(t *testing.T) { - SkipIfM1(t) genesisTemplate := ` { "params":{ @@ -567,7 +564,6 @@ func TestImportContractWithCodeHistoryReset(t *testing.T) { } func TestSupportedGenMsgTypes(t *testing.T) { - SkipIfM1(t) wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) var ( diff --git a/x/wasm/keeper/keeper_test.go b/x/wasm/keeper/keeper_test.go index 0886f65a..bb20a392 100644 --- a/x/wasm/keeper/keeper_test.go +++ b/x/wasm/keeper/keeper_test.go @@ -749,7 +749,6 @@ func TestExecuteWithNonExistingAddress(t *testing.T) { } func TestExecuteWithPanic(t *testing.T) { - SkipIfM1(t) ctx, keepers := CreateTestInput(t, false, SupportedFeatures) keeper := keepers.ContractKeeper @@ -781,7 +780,6 @@ func TestExecuteWithPanic(t *testing.T) { } func TestExecuteWithCpuLoop(t *testing.T) { - SkipIfM1(t) ctx, keepers := CreateTestInput(t, false, SupportedFeatures) keeper := keepers.ContractKeeper @@ -823,7 +821,6 @@ func TestExecuteWithCpuLoop(t *testing.T) { } func TestExecuteWithStorageLoop(t *testing.T) { - SkipIfM1(t) ctx, keepers := CreateTestInput(t, false, SupportedFeatures) keeper := keepers.ContractKeeper @@ -865,7 +862,6 @@ func TestExecuteWithStorageLoop(t *testing.T) { } func TestMigrate(t *testing.T) { - SkipIfM1(t) ctx, keepers := CreateTestInput(t, false, SupportedFeatures) keeper := keepers.ContractKeeper @@ -1047,7 +1043,6 @@ func TestMigrate(t *testing.T) { } func TestMigrateReplacesTheSecondIndex(t *testing.T) { - SkipIfM1(t) ctx, keepers := CreateTestInput(t, false, SupportedFeatures) example := InstantiateHackatomExampleContract(t, ctx, keepers) diff --git a/x/wasm/keeper/m1compat.go b/x/wasm/keeper/m1compat.go deleted file mode 100644 index 94039b6b..00000000 --- a/x/wasm/keeper/m1compat.go +++ /dev/null @@ -1,12 +0,0 @@ -package keeper - -import ( - "runtime" - "testing" -) - -func SkipIfM1(t *testing.T) { - if runtime.GOARCH == "arm64" { - t.Skip("Skipping for M1: Signal Error, Stack Dump") - } -} diff --git a/x/wasm/keeper/recurse_test.go b/x/wasm/keeper/recurse_test.go index f53c1934..2d605207 100644 --- a/x/wasm/keeper/recurse_test.go +++ b/x/wasm/keeper/recurse_test.go @@ -207,8 +207,6 @@ func TestGasOnExternalQuery(t *testing.T) { } func TestLimitRecursiveQueryGas(t *testing.T) { - SkipIfM1(t) - // The point of this test from https://github.com/CosmWasm/cosmwasm/issues/456 // Basically, if I burn 90% of gas in CPU loop, then query out (to my self) // the sub-query will have all the original gas (minus the 40k instance charge) diff --git a/x/wasm/keeper/reflect_test.go b/x/wasm/keeper/reflect_test.go index 1c761ef9..9b81eb6a 100644 --- a/x/wasm/keeper/reflect_test.go +++ b/x/wasm/keeper/reflect_test.go @@ -85,7 +85,6 @@ func mustParse(t *testing.T, data []byte, res interface{}) { const ReflectFeatures = "staking,mask,stargate" func TestReflectContractSend(t *testing.T) { - SkipIfM1(t) cdc := MakeEncodingConfig(t).Marshaler ctx, keepers := CreateTestInput(t, false, ReflectFeatures, WithMessageEncoders(reflectEncoders(cdc))) accKeeper, keeper, bankKeeper := keepers.AccountKeeper, keepers.ContractKeeper, keepers.BankKeeper @@ -167,7 +166,6 @@ func TestReflectContractSend(t *testing.T) { } func TestReflectCustomMsg(t *testing.T) { - SkipIfM1(t) cdc := MakeEncodingConfig(t).Marshaler ctx, keepers := CreateTestInput(t, false, ReflectFeatures, WithMessageEncoders(reflectEncoders(cdc)), WithQueryPlugins(reflectPlugins())) accKeeper, keeper, bankKeeper := keepers.AccountKeeper, keepers.ContractKeeper, keepers.BankKeeper @@ -261,7 +259,6 @@ func TestReflectCustomMsg(t *testing.T) { } func TestMaskReflectCustomQuery(t *testing.T) { - SkipIfM1(t) cdc := MakeEncodingConfig(t).Marshaler ctx, keepers := CreateTestInput(t, false, ReflectFeatures, WithMessageEncoders(reflectEncoders(cdc)), WithQueryPlugins(reflectPlugins())) keeper := keepers.WasmKeeper @@ -312,7 +309,6 @@ func TestMaskReflectCustomQuery(t *testing.T) { } func TestReflectStargateQuery(t *testing.T) { - SkipIfM1(t) cdc := MakeEncodingConfig(t).Marshaler ctx, keepers := CreateTestInput(t, false, ReflectFeatures, WithMessageEncoders(reflectEncoders(cdc)), WithQueryPlugins(reflectPlugins())) keeper := keepers.WasmKeeper @@ -358,7 +354,6 @@ func TestReflectStargateQuery(t *testing.T) { } func TestReflectInvalidStargateQuery(t *testing.T) { - SkipIfM1(t) cdc := MakeEncodingConfig(t).Marshaler ctx, keepers := CreateTestInput(t, false, ReflectFeatures, WithMessageEncoders(reflectEncoders(cdc)), WithQueryPlugins(reflectPlugins())) keeper := keepers.WasmKeeper @@ -440,7 +435,6 @@ type reflectState struct { } func TestMaskReflectWasmQueries(t *testing.T) { - SkipIfM1(t) cdc := MakeEncodingConfig(t).Marshaler ctx, keepers := CreateTestInput(t, false, ReflectFeatures, WithMessageEncoders(reflectEncoders(cdc)), WithQueryPlugins(reflectPlugins())) keeper := keepers.WasmKeeper @@ -513,7 +507,6 @@ func TestMaskReflectWasmQueries(t *testing.T) { } func TestWasmRawQueryWithNil(t *testing.T) { - SkipIfM1(t) cdc := MakeEncodingConfig(t).Marshaler ctx, keepers := CreateTestInput(t, false, ReflectFeatures, WithMessageEncoders(reflectEncoders(cdc)), WithQueryPlugins(reflectPlugins())) keeper := keepers.WasmKeeper diff --git a/x/wasm/keeper/relay_test.go b/x/wasm/keeper/relay_test.go index e6ed6196..dd9c3da2 100644 --- a/x/wasm/keeper/relay_test.go +++ b/x/wasm/keeper/relay_test.go @@ -17,7 +17,6 @@ import ( ) func TestOnOpenChannel(t *testing.T) { - SkipIfM1(t) var m wasmtesting.MockWasmer wasmtesting.MakeIBCInstantiable(&m) messenger := &wasmtesting.MockMessageHandler{} @@ -88,7 +87,6 @@ func TestOnOpenChannel(t *testing.T) { } func TestOnConnectChannel(t *testing.T) { - SkipIfM1(t) var m wasmtesting.MockWasmer wasmtesting.MakeIBCInstantiable(&m) messenger := &wasmtesting.MockMessageHandler{} @@ -200,7 +198,6 @@ func TestOnConnectChannel(t *testing.T) { } func TestOnCloseChannel(t *testing.T) { - SkipIfM1(t) var m wasmtesting.MockWasmer wasmtesting.MakeIBCInstantiable(&m) messenger := &wasmtesting.MockMessageHandler{} @@ -311,7 +308,6 @@ func TestOnCloseChannel(t *testing.T) { } func TestOnRecvPacket(t *testing.T) { - SkipIfM1(t) var m wasmtesting.MockWasmer wasmtesting.MakeIBCInstantiable(&m) messenger := &wasmtesting.MockMessageHandler{} @@ -474,7 +470,6 @@ func TestOnRecvPacket(t *testing.T) { } func TestOnAckPacket(t *testing.T) { - SkipIfM1(t) var m wasmtesting.MockWasmer wasmtesting.MakeIBCInstantiable(&m) messenger := &wasmtesting.MockMessageHandler{} @@ -580,7 +575,6 @@ func TestOnAckPacket(t *testing.T) { } func TestOnTimeoutPacket(t *testing.T) { - SkipIfM1(t) var m wasmtesting.MockWasmer wasmtesting.MakeIBCInstantiable(&m) messenger := &wasmtesting.MockMessageHandler{} diff --git a/x/wasm/keeper/staking_test.go b/x/wasm/keeper/staking_test.go index 68b8e831..5265be59 100644 --- a/x/wasm/keeper/staking_test.go +++ b/x/wasm/keeper/staking_test.go @@ -92,7 +92,6 @@ type InvestmentResponse struct { } func TestInitializeStaking(t *testing.T) { - SkipIfM1(t) ctx, k := CreateTestInput(t, false, SupportedFeatures) accKeeper, stakingKeeper, keeper, bankKeeper := k.AccountKeeper, k.StakingKeeper, k.ContractKeeper, k.BankKeeper @@ -227,7 +226,6 @@ func initializeStaking(t *testing.T) initInfo { } func TestBonding(t *testing.T) { - SkipIfM1(t) initInfo := initializeStaking(t) ctx, valAddr, contractAddr := initInfo.ctx, initInfo.valAddr, initInfo.contractAddr keeper, stakingKeeper, accKeeper, bankKeeper := initInfo.wasmKeeper, initInfo.stakingKeeper, initInfo.accKeeper, initInfo.bankKeeper @@ -276,7 +274,6 @@ func TestBonding(t *testing.T) { } func TestUnbonding(t *testing.T) { - SkipIfM1(t) initInfo := initializeStaking(t) ctx, valAddr, contractAddr := initInfo.ctx, initInfo.valAddr, initInfo.contractAddr keeper, stakingKeeper, accKeeper, bankKeeper := initInfo.wasmKeeper, initInfo.stakingKeeper, initInfo.accKeeper, initInfo.bankKeeper @@ -342,7 +339,6 @@ func TestUnbonding(t *testing.T) { } func TestReinvest(t *testing.T) { - SkipIfM1(t) initInfo := initializeStaking(t) ctx, valAddr, contractAddr := initInfo.ctx, initInfo.valAddr, initInfo.contractAddr keeper, stakingKeeper, accKeeper, bankKeeper := initInfo.wasmKeeper, initInfo.stakingKeeper, initInfo.accKeeper, initInfo.bankKeeper @@ -411,7 +407,6 @@ func TestReinvest(t *testing.T) { } func TestQueryStakingInfo(t *testing.T) { - SkipIfM1(t) // STEP 1: take a lot of setup from TestReinvest so we have non-zero info initInfo := initializeStaking(t) ctx, valAddr, contractAddr := initInfo.ctx, initInfo.valAddr, initInfo.contractAddr @@ -591,7 +586,6 @@ func TestQueryStakingInfo(t *testing.T) { } func TestQueryStakingPlugin(t *testing.T) { - SkipIfM1(t) // STEP 1: take a lot of setup from TestReinvest so we have non-zero info initInfo := initializeStaking(t) ctx, valAddr, contractAddr := initInfo.ctx, initInfo.valAddr, initInfo.contractAddr diff --git a/x/wasm/keeper/submsg_test.go b/x/wasm/keeper/submsg_test.go index abcc4f07..7d83c8ff 100644 --- a/x/wasm/keeper/submsg_test.go +++ b/x/wasm/keeper/submsg_test.go @@ -20,7 +20,6 @@ import ( // Try a simple send, no gas limit to for a sanity check before trying table tests func TestDispatchSubMsgSuccessCase(t *testing.T) { - SkipIfM1(t) ctx, keepers := CreateTestInput(t, false, ReflectFeatures) accKeeper, keeper, bankKeeper := keepers.AccountKeeper, keepers.WasmKeeper, keepers.BankKeeper @@ -109,7 +108,6 @@ func TestDispatchSubMsgSuccessCase(t *testing.T) { } func TestDispatchSubMsgErrorHandling(t *testing.T) { - SkipIfM1(t) fundedDenom := "funds" fundedAmount := 1_000_000 ctxGasLimit := uint64(1_000_000) @@ -365,7 +363,6 @@ func TestDispatchSubMsgErrorHandling(t *testing.T) { // Test an error case, where the Encoded doesn't return any sdk.Msg and we trigger(ed) a null pointer exception. // This occurs with the IBC encoder. Test this. func TestDispatchSubMsgEncodeToNoSdkMsg(t *testing.T) { - SkipIfM1(t) // fake out the bank handle to return success with no data nilEncoder := func(sender sdk.AccAddress, msg *wasmvmtypes.BankMsg) ([]sdk.Msg, error) { return nil, nil @@ -442,7 +439,6 @@ func TestDispatchSubMsgEncodeToNoSdkMsg(t *testing.T) { // Try a simple send, no gas limit to for a sanity check before trying table tests func TestDispatchSubMsgConditionalReplyOn(t *testing.T) { - SkipIfM1(t) ctx, keepers := CreateTestInput(t, false, ReflectFeatures) keeper := keepers.WasmKeeper