Skip to content

Commit 78408bb

Browse files
authored
Merge pull request #2231 from CosmWasm/feat/ibc_v2
feat: Implement IBCv2 packet sending and two entry points: Receive & Timeout
2 parents fd586d7 + d3f6f43 commit 78408bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1024
-217
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ jobs:
205205
command: |
206206
IN_DOCKER=$(docker run --rm "cosmwasm/wasmd:${CIRCLE_SHA1}" /usr/bin/wasmd query wasm libwasmvm-version)
207207
echo "Runtime libwasmvm-version in docker: $IN_DOCKER"
208-
IN_GOMOD=$(go list -m github.com/CosmWasm/wasmvm/v2 | cut -d" " -f2 | cut -d"v" -f2)
208+
IN_GOMOD=$(go list -m github.com/CosmWasm/wasmvm/v3 | cut -d" " -f2 | cut -d"v" -f2)
209209
echo "wasmvm version in go.mod: $IN_GOMOD"
210210
if [[ "$IN_DOCKER" != "$IN_GOMOD" ]]; then
211211
echo "Mismatch of wasmvm versions detected"

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.55.0...HEAD)
66

7+
- Register IBC v2 route and store the IBC v2 port in ContractInfo [\#2122](https://github.com/CosmWasm/wasmd/issues/2122)
8+
- Add IBC v2 SendPacket message encoding [\#2110](https://github.com/CosmWasm/wasmd/issues/2110)
9+
10+
711
## [v0.55.0](https://github.com/CosmWasm/wasmd/tree/v0.55.0) (2025-03-11)
812

913
[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.54.0...v0.55.0)

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ RUN apk add git
1515
WORKDIR /code
1616
COPY . /code/
1717
# See https://github.com/CosmWasm/wasmvm/releases
18-
ADD https://github.com/CosmWasm/wasmvm/releases/download/v2.2.3/libwasmvm_muslc.aarch64.a /lib/libwasmvm_muslc.aarch64.a
19-
ADD https://github.com/CosmWasm/wasmvm/releases/download/v2.2.3/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.x86_64.a
20-
RUN sha256sum /lib/libwasmvm_muslc.aarch64.a | grep 6641730781bb1adc4bdf04a1e0f822b9ad4fb8ed57dcbbf575527e63b791ae41
21-
RUN sha256sum /lib/libwasmvm_muslc.x86_64.a | grep 32503fe35a7be202c5f7c3051497d6e4b3cd83079a61f5a0bf72a2a455b6d820
18+
ADD https://github.com/CosmWasm/wasmvm/releases/download/v3.0.0-ibc2.0/libwasmvm_muslc.aarch64.a /lib/libwasmvm_muslc.aarch64.a
19+
ADD https://github.com/CosmWasm/wasmvm/releases/download/v3.0.0-ibc2.0/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.x86_64.a
20+
RUN sha256sum /lib/libwasmvm_muslc.aarch64.a | grep 3bffc027c3467d6535fda10e13767194500208add1321709ebd79d2d507eb561
21+
RUN sha256sum /lib/libwasmvm_muslc.x86_64.a | grep 315605d243c71b2c29543af872fa84224632cfd2096755b34bb1798a0587bc42
2222

2323
# force it to use static lib (from above) not standard libgo_cosmwasm.so file
2424
RUN LEDGER_ENABLED=false BUILD_TAGS=muslc LINK_STATICALLY=true make build

app/app.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,8 @@ func NewWasmApp(
582582
panic(fmt.Sprintf("error while reading wasm config: %s", err))
583583
}
584584

585+
ibcRouterV2 := ibcapi.NewRouter()
586+
585587
// The last arguments can contain custom message handlers, and custom query handlers,
586588
// if we want to allow any custom callbacks
587589
app.WasmKeeper = wasmkeeper.NewKeeper(
@@ -601,6 +603,7 @@ func NewWasmApp(
601603
wasmtypes.VMConfig{},
602604
wasmkeeper.BuiltInCapabilities(),
603605
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
606+
ibcRouterV2,
604607
wasmOpts...,
605608
)
606609

@@ -642,7 +645,7 @@ func NewWasmApp(
642645
AddRoute(icahosttypes.SubModuleName, icaHostStack)
643646
app.IBCKeeper.SetRouter(ibcRouter)
644647

645-
ibcRouterV2 := ibcapi.NewRouter().
648+
ibcRouterV2 = ibcRouterV2.
646649
AddRoute(ibctransfertypes.PortID, transferv2.NewIBCModule(app.TransferKeeper))
647650
app.IBCKeeper.SetRouterV2(ibcRouterV2)
648651

docs/proto/proto-docs.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ ContractInfo stores a WASM contract instance
236236
| `label` | [string](#string) | | Label is optional metadata to be stored with a contract instance. |
237237
| `created` | [AbsoluteTxPosition](#cosmwasm.wasm.v1.AbsoluteTxPosition) | | Created Tx position when the contract was instantiated. |
238238
| `ibc_port_id` | [string](#string) | | |
239+
| `ibc2_port_id` | [string](#string) | | |
239240
| `extension` | [google.protobuf.Any](#google.protobuf.Any) | | Extension is an extension point to store custom metadata within the persistence model. |
240241

241242

go.mod

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ module github.com/CosmWasm/wasmd
33
go 1.23.6
44

55
require (
6-
github.com/CosmWasm/wasmvm/v2 v2.2.3
76
github.com/cosmos/cosmos-proto v1.0.0-beta.5
87
github.com/cosmos/cosmos-sdk v0.50.13
98
github.com/cosmos/gogogateway v1.2.0 // indirect
@@ -43,6 +42,7 @@ require (
4342
cosmossdk.io/x/nft v0.1.1
4443
cosmossdk.io/x/tx v0.13.7
4544
cosmossdk.io/x/upgrade v0.1.4
45+
github.com/CosmWasm/wasmvm/v3 v3.0.0-ibc2.0
4646
github.com/cometbft/cometbft v0.38.15
4747
github.com/cosmos/cosmos-db v1.1.1
4848
github.com/cosmos/ibc-go/v10 v10.1.0
@@ -227,7 +227,6 @@ replace (
227227
// Fix upstream GHSA-h395-qcrw-5vmq vulnerability.
228228
// See: https://github.com/cosmos/cosmos-sdk/issues/10409
229229
github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.8.1
230-
231230
// pin version! 126854af5e6d has issues with the store so that queries fail
232231
github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
233232
)

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25
227227
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
228228
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
229229
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
230-
github.com/CosmWasm/wasmvm/v2 v2.2.3 h1:LVaAdkCMbgfUTSFOANmp2OOU1rIgz4iylow4SFD/lqs=
231-
github.com/CosmWasm/wasmvm/v2 v2.2.3/go.mod h1:bMhLQL4Yp9CzJi9A83aR7VO9wockOsSlZbT4ztOl6bg=
230+
github.com/CosmWasm/wasmvm/v3 v3.0.0-ibc2.0 h1:QoagSm5iYuRSPYDxgRxsa6hVfDppUp4+bOwY7bDuMO0=
231+
github.com/CosmWasm/wasmvm/v3 v3.0.0-ibc2.0/go.mod h1:oknpb1bFERvvKcY7vHRp1F/Y/z66xVrsl7n9uWkOAlM=
232232
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
233233
github.com/DataDog/datadog-go v4.8.3+incompatible h1:fNGaYSuObuQb5nzeTQqowRAd9bpDIRRV4/gUtIBjh8Q=
234234
github.com/DataDog/datadog-go v4.8.3+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=

proto/cosmwasm/wasm/v1/types.proto

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,11 @@ message ContractInfo {
8888
// Created Tx position when the contract was instantiated.
8989
AbsoluteTxPosition created = 5;
9090
string ibc_port_id = 6 [ (gogoproto.customname) = "IBCPortID" ];
91+
string ibc2_port_id = 7 [ (gogoproto.customname) = "IBC2PortID" ];
9192

9293
// Extension is an extension point to store custom metadata within the
9394
// persistence model.
94-
google.protobuf.Any extension = 7
95+
google.protobuf.Any extension = 8
9596
[ (cosmos_proto.accepts_interface) =
9697
"cosmwasm.wasm.v1.ContractInfoExtension" ];
9798
}

tests/e2e/gov_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"testing"
55
"time"
66

7-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
7+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
88
ibctesting "github.com/cosmos/ibc-go/v10/testing"
99
"github.com/stretchr/testify/assert"
1010
"github.com/stretchr/testify/require"

tests/e2e/grants_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"testing"
77
"time"
88

9-
wasmvm "github.com/CosmWasm/wasmvm/v2"
9+
wasmvm "github.com/CosmWasm/wasmvm/v3"
1010
ibctesting "github.com/cosmos/ibc-go/v10/testing"
1111
"github.com/stretchr/testify/assert"
1212
"github.com/stretchr/testify/require"

tests/e2e/ibc2_test.go

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
package e2e_test
2+
3+
import (
4+
"encoding/json"
5+
"testing"
6+
"time"
7+
8+
ibctransfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types"
9+
channeltypes "github.com/cosmos/ibc-go/v10/modules/core/04-channel/types"
10+
ibctesting "github.com/cosmos/ibc-go/v10/testing"
11+
mockv2 "github.com/cosmos/ibc-go/v10/testing/mock/v2"
12+
"github.com/stretchr/testify/require"
13+
14+
wasmibctesting "github.com/CosmWasm/wasmd/tests/wasmibctesting"
15+
wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper"
16+
)
17+
18+
// QueryMsg is used to encode query messages to ibc2 contract
19+
type QueryMsg struct {
20+
QueryState struct{} `json:"query_state"`
21+
}
22+
23+
// ibc2 contract response type
24+
type State struct {
25+
IBC2PacketReceiveCounter uint32 `json:"ibc2_packet_receive_counter"`
26+
IBC2PacketTimeoutCounter uint32 `json:"ibc2_packet_timeout_counter"`
27+
LastChannelID string `json:"last_channel_id"`
28+
LastPacketSeq uint64 `json:"last_packet_seq"`
29+
}
30+
31+
// Message sent to the ibc2 contract over IBCv2 channel
32+
type IbcPayload struct {
33+
ResponseWithoutAck bool `json:"response_without_ack"`
34+
SendAsyncAckForPrevMsg bool `json:"send_async_ack_for_prev_msg"`
35+
}
36+
37+
func TestIBC2SendReceiveMsg(t *testing.T) {
38+
coord := wasmibctesting.NewCoordinator(t, 2)
39+
chainA := wasmibctesting.NewWasmTestChain(coord.GetChain(ibctesting.GetChainID(1)))
40+
chainB := wasmibctesting.NewWasmTestChain(coord.GetChain(ibctesting.GetChainID(2)))
41+
contractCodeA := chainA.StoreCodeFile("./testdata/ibc2.wasm").CodeID
42+
contractAddrA := chainA.InstantiateContract(contractCodeA, []byte(`{}`))
43+
contractPortA := wasmkeeper.PortIDForContractV2(contractAddrA)
44+
require.NotEmpty(t, contractAddrA)
45+
46+
contractCodeB := chainB.StoreCodeFile("./testdata/ibc2.wasm").CodeID
47+
// Skip initial contract address to not overlap with ChainA
48+
_ = chainB.InstantiateContract(contractCodeB, []byte(`{}`))
49+
contractAddrB := chainB.InstantiateContract(contractCodeB, []byte(`{}`))
50+
contractPortB := wasmkeeper.PortIDForContractV2(contractAddrB)
51+
require.NotEmpty(t, contractAddrB)
52+
53+
path := wasmibctesting.NewWasmPath(chainA, chainB)
54+
path.EndpointA.ChannelConfig = &ibctesting.ChannelConfig{
55+
PortID: contractPortA,
56+
Version: ibctransfertypes.V1,
57+
Order: channeltypes.UNORDERED,
58+
}
59+
path.EndpointB.ChannelConfig = &ibctesting.ChannelConfig{
60+
PortID: contractPortB,
61+
Version: ibctransfertypes.V1,
62+
Order: channeltypes.UNORDERED,
63+
}
64+
65+
path.Path.SetupV2()
66+
67+
// IBC v2 Payload from contract on Chain B to contract on Chain A
68+
payload := mockv2.NewMockPayload(contractPortB, contractPortA)
69+
var err error
70+
payload.Value, err = json.Marshal(IbcPayload{ResponseWithoutAck: false, SendAsyncAckForPrevMsg: false})
71+
require.NoError(t, err)
72+
73+
// Message timeout
74+
timeoutTimestamp := uint64(chainB.GetContext().BlockTime().Add(time.Minute * 5).Unix())
75+
76+
_, err = path.EndpointB.MsgSendPacket(timeoutTimestamp, payload)
77+
require.NoError(t, err)
78+
79+
// First message send through test
80+
err = wasmibctesting.RelayPendingPacketsV2(path)
81+
require.NoError(t, err)
82+
83+
// Check if counter was incremented in the recv entry point
84+
var response State
85+
86+
err = chainA.SmartQuery(contractAddrA.String(), QueryMsg{QueryState: struct{}{}}, &response)
87+
require.NoError(t, err)
88+
require.Equal(t, uint32(1), response.IBC2PacketReceiveCounter)
89+
90+
// The counters on both Chains are both incremented in every iteration of the loop,
91+
// because once the first relaying loop in `RelayPendingPacketsV2` the array of
92+
// pending packets on the other chain is updated with new packet send from the contract.
93+
for i := 1; i <= 100; i++ {
94+
// Relay message sent by contract
95+
err = wasmibctesting.RelayPendingPacketsV2(path)
96+
require.NoError(t, err)
97+
98+
// Check counter in contract A
99+
err = chainA.SmartQuery(contractAddrA.String(), QueryMsg{QueryState: struct{}{}}, &response)
100+
require.NoError(t, err)
101+
require.Equal(t, uint32(i+1), response.IBC2PacketReceiveCounter)
102+
103+
// Check counter in contract B
104+
err = chainB.SmartQuery(contractAddrB.String(), QueryMsg{QueryState: struct{}{}}, &response)
105+
require.NoError(t, err)
106+
require.Equal(t, uint32(i), response.IBC2PacketReceiveCounter)
107+
}
108+
}
109+
110+
func TestIBC2TimeoutMsg(t *testing.T) {
111+
coord := wasmibctesting.NewCoordinator(t, 2)
112+
chainA := wasmibctesting.NewWasmTestChain(coord.GetChain(ibctesting.GetChainID(1)))
113+
chainB := wasmibctesting.NewWasmTestChain(coord.GetChain(ibctesting.GetChainID(2)))
114+
contractCodeA := chainA.StoreCodeFile("./testdata/ibc2.wasm").CodeID
115+
contractAddrA := chainA.InstantiateContract(contractCodeA, []byte(`{}`))
116+
contractPortA := wasmkeeper.PortIDForContractV2(contractAddrA)
117+
require.NotEmpty(t, contractAddrA)
118+
119+
contractCodeB := chainB.StoreCodeFile("./testdata/ibc2.wasm").CodeID
120+
// Skip initial contract address to not overlap with ChainA
121+
_ = chainB.InstantiateContract(contractCodeB, []byte(`{}`))
122+
contractAddrB := chainB.InstantiateContract(contractCodeB, []byte(`{}`))
123+
contractPortB := wasmkeeper.PortIDForContractV2(contractAddrB)
124+
require.NotEmpty(t, contractAddrB)
125+
126+
path := wasmibctesting.NewWasmPath(chainA, chainB)
127+
path.EndpointA.ChannelConfig = &ibctesting.ChannelConfig{
128+
PortID: contractPortA,
129+
Version: ibctransfertypes.V1,
130+
Order: channeltypes.UNORDERED,
131+
}
132+
path.EndpointB.ChannelConfig = &ibctesting.ChannelConfig{
133+
PortID: contractPortB,
134+
Version: ibctransfertypes.V1,
135+
Order: channeltypes.UNORDERED,
136+
}
137+
138+
path.Path.SetupV2()
139+
140+
// IBC v2 Payload from contract on Chain B to contract on Chain A
141+
payload := mockv2.NewMockPayload(contractPortB, contractPortA)
142+
var err error
143+
payload.Value, err = json.Marshal(IbcPayload{ResponseWithoutAck: false, SendAsyncAckForPrevMsg: false})
144+
require.NoError(t, err)
145+
146+
// Message timeout
147+
timeoutTimestamp := uint64(chainB.GetContext().BlockTime().Add(time.Minute).Unix())
148+
149+
_, err = path.EndpointB.MsgSendPacket(timeoutTimestamp, payload)
150+
require.NoError(t, err)
151+
152+
// First message send through test.
153+
// Contract replies back with the IbcPayload response.
154+
err = wasmibctesting.RelayPendingPacketsV2(path)
155+
require.NoError(t, err)
156+
157+
// Send timeout on the packet sent by the contract
158+
err = wasmibctesting.TimeoutPendingPacketsV2(coord, path)
159+
require.NoError(t, err)
160+
161+
// Check that timeout message was sent to the contract
162+
var response State
163+
err = chainA.SmartQuery(contractAddrA.String(), QueryMsg{QueryState: struct{}{}}, &response)
164+
require.NoError(t, err)
165+
require.Equal(t, uint32(1), response.IBC2PacketTimeoutCounter)
166+
}

tests/e2e/ibc_callbacks_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"testing"
77
"time"
88

9-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
9+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
1010
ibctransfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types"
1111
channeltypes "github.com/cosmos/ibc-go/v10/modules/core/04-channel/types"
1212
ibctesting "github.com/cosmos/ibc-go/v10/testing"

tests/e2e/reflect_helper.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"fmt"
77
"testing"
88

9-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
9+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
1010
abci "github.com/cometbft/cometbft/abci/types"
1111
"github.com/cosmos/gogoproto/proto"
1212
"github.com/stretchr/testify/require"

tests/e2e/testdata/ibc2.wasm

261 KB
Binary file not shown.

tests/integration/ibc_integration_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66
"fmt"
77
"testing"
88

9-
wasmvm "github.com/CosmWasm/wasmvm/v2"
10-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
9+
wasmvm "github.com/CosmWasm/wasmvm/v3"
10+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
1111
ibctransfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types"
1212
channeltypes "github.com/cosmos/ibc-go/v10/modules/core/04-channel/types"
1313
ibctesting "github.com/cosmos/ibc-go/v10/testing"

tests/integration/module_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func setupTest(t *testing.T) testData {
6666

6767
ctx, keepers := keeper.CreateTestInput(t, false, []string{
6868
"iterator", "staking", "stargate", "cosmwasm_1_1", "cosmwasm_1_2", "cosmwasm_1_3",
69-
"cosmwasm_1_4", "cosmwasm_2_0", "cosmwasm_2_1", "cosmwasm_2_2",
69+
"cosmwasm_1_4", "cosmwasm_2_0", "cosmwasm_2_1", "cosmwasm_2_2", "ibc2",
7070
})
7171
encConf := keeper.MakeEncodingConfig(t)
7272
queryRouter := baseapp.NewGRPCQueryRouter()

tests/integration/msg_server_integration_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66
"testing"
77
"time"
88

9-
wasmvm "github.com/CosmWasm/wasmvm/v2"
10-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
9+
wasmvm "github.com/CosmWasm/wasmvm/v3"
10+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
1111
tmproto "github.com/cometbft/cometbft/proto/tendermint/types"
1212
"github.com/stretchr/testify/assert"
1313
"github.com/stretchr/testify/require"

tests/integration/proposal_integration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"fmt"
77
"testing"
88

9-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
9+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
1010
"github.com/stretchr/testify/assert"
1111
"github.com/stretchr/testify/require"
1212

tests/integration/query_plugin_integration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"testing"
1111
"time"
1212

13-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
13+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
1414
"github.com/cometbft/cometbft/crypto/ed25519"
1515
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
1616
"github.com/cosmos/gogoproto/proto"

tests/integration/relay_pingpong_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55
"fmt"
66
"testing"
77

8-
wasmvm "github.com/CosmWasm/wasmvm/v2"
9-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
8+
wasmvm "github.com/CosmWasm/wasmvm/v3"
9+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
1010
ibctransfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types"
1111
clienttypes "github.com/cosmos/ibc-go/v10/modules/core/02-client/types" //nolint:staticcheck
1212
channeltypes "github.com/cosmos/ibc-go/v10/modules/core/04-channel/types"

tests/integration/relay_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import (
1010
"testing"
1111
"time"
1212

13-
wasmvm "github.com/CosmWasm/wasmvm/v2"
14-
wasmvmtypes "github.com/CosmWasm/wasmvm/v2/types"
13+
wasmvm "github.com/CosmWasm/wasmvm/v3"
14+
wasmvmtypes "github.com/CosmWasm/wasmvm/v3/types"
1515
ibctransfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types"
1616
clienttypes "github.com/cosmos/ibc-go/v10/modules/core/02-client/types" //nolint:staticcheck
1717
channeltypes "github.com/cosmos/ibc-go/v10/modules/core/04-channel/types"

0 commit comments

Comments
 (0)