diff --git a/internal/api/libwasmvm.x86_64.so b/internal/api/libwasmvm.x86_64.so index 196150e5c..163a71a12 100755 Binary files a/internal/api/libwasmvm.x86_64.so and b/internal/api/libwasmvm.x86_64.so differ diff --git a/libwasmvm/Cargo.lock b/libwasmvm/Cargo.lock index 4cb79f72a..7fcdb82a0 100644 --- a/libwasmvm/Cargo.lock +++ b/libwasmvm/Cargo.lock @@ -437,13 +437,13 @@ dependencies = [ [[package]] name = "cosmwasm-core" -version = "2.2.0" -source = "git+https://github.com/CosmWasm/cosmwasm.git?rev=v2.2.0#b9a149fde2a787b7221918b0651532ca2668d761" +version = "2.2.0-rc.1" +source = "git+https://github.com/CosmWasm/cosmwasm?branch=tkulik/feat/ibc_transfer_v2#7d2cbbde3982f278473ea0c3e21898dbd6efc54e" [[package]] name = "cosmwasm-crypto" -version = "2.2.0" -source = "git+https://github.com/CosmWasm/cosmwasm.git?rev=v2.2.0#b9a149fde2a787b7221918b0651532ca2668d761" +version = "2.2.0-rc.1" +source = "git+https://github.com/CosmWasm/cosmwasm?branch=tkulik/feat/ibc_transfer_v2#7d2cbbde3982f278473ea0c3e21898dbd6efc54e" dependencies = [ "ark-bls12-381", "ark-ec", @@ -465,8 +465,8 @@ dependencies = [ [[package]] name = "cosmwasm-derive" -version = "2.2.0" -source = "git+https://github.com/CosmWasm/cosmwasm.git?rev=v2.2.0#b9a149fde2a787b7221918b0651532ca2668d761" +version = "2.2.0-rc.1" +source = "git+https://github.com/CosmWasm/cosmwasm?branch=tkulik/feat/ibc_transfer_v2#7d2cbbde3982f278473ea0c3e21898dbd6efc54e" dependencies = [ "proc-macro2", "quote", @@ -475,8 +475,8 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "2.2.0" -source = "git+https://github.com/CosmWasm/cosmwasm.git?rev=v2.2.0#b9a149fde2a787b7221918b0651532ca2668d761" +version = "2.2.0-rc.1" +source = "git+https://github.com/CosmWasm/cosmwasm?branch=tkulik/feat/ibc_transfer_v2#7d2cbbde3982f278473ea0c3e21898dbd6efc54e" dependencies = [ "base64", "bech32", @@ -498,8 +498,8 @@ dependencies = [ [[package]] name = "cosmwasm-vm" -version = "2.2.0" -source = "git+https://github.com/CosmWasm/cosmwasm.git?rev=v2.2.0#b9a149fde2a787b7221918b0651532ca2668d761" +version = "2.2.0-rc.1" +source = "git+https://github.com/CosmWasm/cosmwasm?branch=tkulik/feat/ibc_transfer_v2#7d2cbbde3982f278473ea0c3e21898dbd6efc54e" dependencies = [ "bech32", "blake2", @@ -527,8 +527,8 @@ dependencies = [ [[package]] name = "cosmwasm-vm-derive" -version = "2.2.0" -source = "git+https://github.com/CosmWasm/cosmwasm.git?rev=v2.2.0#b9a149fde2a787b7221918b0651532ca2668d761" +version = "2.2.0-rc.1" +source = "git+https://github.com/CosmWasm/cosmwasm?branch=tkulik/feat/ibc_transfer_v2#7d2cbbde3982f278473ea0c3e21898dbd6efc54e" dependencies = [ "blake2", "proc-macro2", diff --git a/libwasmvm/Cargo.toml b/libwasmvm/Cargo.toml index 908942f28..a57863dcb 100644 --- a/libwasmvm/Cargo.toml +++ b/libwasmvm/Cargo.toml @@ -26,12 +26,12 @@ default = [] backtraces = [] [dependencies] -cosmwasm-std = { git = "https://github.com/CosmWasm/cosmwasm.git", rev = "v2.2.0", features = [ +cosmwasm-std = { git = "https://github.com/CosmWasm/cosmwasm", branch = "tkulik/feat/ibc_transfer_v2", features = [ "staking", "stargate", "iterator", ] } -cosmwasm-vm = { git = "https://github.com/CosmWasm/cosmwasm.git", rev = "v2.2.0", features = [ +cosmwasm-vm = { git = "https://github.com/CosmWasm/cosmwasm", branch = "tkulik/feat/ibc_transfer_v2", features = [ "staking", "stargate", "iterator", diff --git a/types/msg.go b/types/msg.go index 60a6e8751..5b3906132 100644 --- a/types/msg.go +++ b/types/msg.go @@ -122,6 +122,7 @@ type BurnMsg struct { type IBCMsg struct { Transfer *TransferMsg `json:"transfer,omitempty"` + TransferV2 *TransferMsgV2 `json:"transfer_v2,omitempty"` SendPacket *SendPacketMsg `json:"send_packet,omitempty"` WriteAcknowledgement *WriteAcknowledgementMsg `json:"write_acknowledgement,omitempty"` CloseChannel *CloseChannelMsg `json:"close_channel,omitempty"` @@ -238,6 +239,31 @@ type TransferMsg struct { Memo string `json:"memo,omitempty"` } +type Token struct { + Base string `json:"base"` + Trace []Hop `json:"trace"` + Amount string `json:"amount"` +} + +type Forwarding struct { + Hops []Hop `json:"hops"` + Memo string `json:"memo"` +} + +type Hop struct { + PortID string `json:"port_id"` + ChannelID string `json:"channel_id"` +} + +type TransferMsgV2 struct { + ChannelID string `json:"channel_id"` + ToAddress string `json:"to_address"` + Tokens []Token `json:"tokens"` + Timeout IBCTimeout `json:"timeout"` + Memo string `json:"memo,omitempty"` + Forwarding Forwarding `json:"forwarding"` +} + type SendPacketMsg struct { ChannelID string `json:"channel_id"` Data []byte `json:"data"`