diff --git a/Makefile b/Makefile index 8782d10..b384d44 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ FORGE ?= forge -ABIGEN ?= docker run -v .:/workspace -w /workspace -it ethereum/client-go:alltools-v1.11.6 abigen +ABIGEN ?= docker run -v .:/workspace -w /workspace -it ethereum/client-go:alltools-v1.14.0 abigen DOCKER := $(shell which docker) diff --git a/pkg/contract/ibchandler/ibchandler.go b/pkg/contract/ibchandler/ibchandler.go index f70db61..2bfee51 100644 --- a/pkg/contract/ibchandler/ibchandler.go +++ b/pkg/contract/ibchandler/ibchandler.go @@ -37,11 +37,12 @@ type ChannelCounterpartyData struct { // ChannelData is an auto generated low-level Go binding around an user-defined struct. type ChannelData struct { - State uint8 - Ordering uint8 - Counterparty ChannelCounterpartyData - ConnectionHops []string - Version string + State uint8 + Ordering uint8 + Counterparty ChannelCounterpartyData + ConnectionHops []string + Version string + UpgradeSequence uint64 } // ConnectionEndData is an auto generated low-level Go binding around an user-defined struct. @@ -60,6 +61,12 @@ type CounterpartyData struct { Prefix MerklePrefixData } +// ErrorReceiptData is an auto generated low-level Go binding around an user-defined struct. +type ErrorReceiptData struct { + Sequence uint64 + Message string +} + // HeightData is an auto generated low-level Go binding around an user-defined struct. type HeightData struct { RevisionNumber uint64 @@ -68,7 +75,7 @@ type HeightData struct { // IIBCChannelAcknowledgePacketMsgPacketAcknowledgement is an auto generated low-level Go binding around an user-defined struct. type IIBCChannelAcknowledgePacketMsgPacketAcknowledgement struct { - Packet PacketData + Packet Packet Acknowledgement []byte Proof []byte ProofHeight HeightData @@ -123,16 +130,17 @@ type IIBCChannelHandshakeMsgChannelOpenTry struct { // IIBCChannelPacketTimeoutMsgTimeoutOnClose is an auto generated low-level Go binding around an user-defined struct. type IIBCChannelPacketTimeoutMsgTimeoutOnClose struct { - Packet PacketData - ProofUnreceived []byte - ProofClose []byte - ProofHeight HeightData - NextSequenceRecv uint64 + Packet Packet + ProofUnreceived []byte + ProofClose []byte + ProofHeight HeightData + NextSequenceRecv uint64 + CounterpartyUpgradeSequence uint64 } // IIBCChannelPacketTimeoutMsgTimeoutPacket is an auto generated low-level Go binding around an user-defined struct. type IIBCChannelPacketTimeoutMsgTimeoutPacket struct { - Packet PacketData + Packet Packet Proof []byte ProofHeight HeightData NextSequenceRecv uint64 @@ -140,11 +148,80 @@ type IIBCChannelPacketTimeoutMsgTimeoutPacket struct { // IIBCChannelRecvPacketMsgPacketRecv is an auto generated low-level Go binding around an user-defined struct. type IIBCChannelRecvPacketMsgPacketRecv struct { - Packet PacketData + Packet Packet Proof []byte ProofHeight HeightData } +// IIBCChannelUpgradeBaseChannelUpgradeProofs is an auto generated low-level Go binding around an user-defined struct. +type IIBCChannelUpgradeBaseChannelUpgradeProofs struct { + ProofChannel []byte + ProofUpgrade []byte + ProofHeight HeightData +} + +// IIBCChannelUpgradeBaseMsgCancelChannelUpgrade is an auto generated low-level Go binding around an user-defined struct. +type IIBCChannelUpgradeBaseMsgCancelChannelUpgrade struct { + PortId string + ChannelId string + ErrorReceipt ErrorReceiptData + ProofUpgradeError []byte + ProofHeight HeightData +} + +// IIBCChannelUpgradeBaseMsgChannelUpgradeAck is an auto generated low-level Go binding around an user-defined struct. +type IIBCChannelUpgradeBaseMsgChannelUpgradeAck struct { + PortId string + ChannelId string + CounterpartyUpgrade UpgradeData + Proofs IIBCChannelUpgradeBaseChannelUpgradeProofs +} + +// IIBCChannelUpgradeBaseMsgChannelUpgradeConfirm is an auto generated low-level Go binding around an user-defined struct. +type IIBCChannelUpgradeBaseMsgChannelUpgradeConfirm struct { + PortId string + ChannelId string + CounterpartyChannelState uint8 + CounterpartyUpgrade UpgradeData + Proofs IIBCChannelUpgradeBaseChannelUpgradeProofs +} + +// IIBCChannelUpgradeBaseMsgChannelUpgradeInit is an auto generated low-level Go binding around an user-defined struct. +type IIBCChannelUpgradeBaseMsgChannelUpgradeInit struct { + PortId string + ChannelId string + ProposedUpgradeFields UpgradeFieldsData +} + +// IIBCChannelUpgradeBaseMsgChannelUpgradeOpen is an auto generated low-level Go binding around an user-defined struct. +type IIBCChannelUpgradeBaseMsgChannelUpgradeOpen struct { + PortId string + ChannelId string + CounterpartyChannelState uint8 + CounterpartyUpgradeSequence uint64 + ProofChannel []byte + ProofHeight HeightData +} + +// IIBCChannelUpgradeBaseMsgChannelUpgradeTry is an auto generated low-level Go binding around an user-defined struct. +type IIBCChannelUpgradeBaseMsgChannelUpgradeTry struct { + PortId string + ChannelId string + CounterpartyUpgradeSequence uint64 + CounterpartyUpgradeFields UpgradeFieldsData + ProposedConnectionHops []string + Proofs IIBCChannelUpgradeBaseChannelUpgradeProofs +} + +// IIBCChannelUpgradeBaseMsgTimeoutChannelUpgrade is an auto generated low-level Go binding around an user-defined struct. +type IIBCChannelUpgradeBaseMsgTimeoutChannelUpgrade struct { + PortId string + ChannelId string + CounterpartyChannel ChannelData + ProofChannel []byte + ProofHeight HeightData +} + // IIBCClientMsgCreateClient is an auto generated low-level Go binding around an user-defined struct. type IIBCClientMsgCreateClient struct { ClientType string @@ -207,8 +284,8 @@ type MerklePrefixData struct { KeyPrefix []byte } -// PacketData is an auto generated low-level Go binding around an user-defined struct. -type PacketData struct { +// Packet is an auto generated low-level Go binding around an user-defined struct. +type Packet struct { Sequence uint64 SourcePort string SourceChannel string @@ -219,6 +296,26 @@ type PacketData struct { TimeoutTimestamp uint64 } +// TimeoutData is an auto generated low-level Go binding around an user-defined struct. +type TimeoutData struct { + Height HeightData + Timestamp uint64 +} + +// UpgradeData is an auto generated low-level Go binding around an user-defined struct. +type UpgradeData struct { + Fields UpgradeFieldsData + Timeout TimeoutData + NextSequenceSend uint64 +} + +// UpgradeFieldsData is an auto generated low-level Go binding around an user-defined struct. +type UpgradeFieldsData struct { + Ordering uint8 + ConnectionHops []string + Version string +} + // VersionData is an auto generated low-level Go binding around an user-defined struct. type VersionData struct { Identifier string @@ -227,7 +324,7 @@ type VersionData struct { // IbchandlerMetaData contains all meta data concerning the Ibchandler contract. var IbchandlerMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"function\",\"name\":\"acknowledgePacket\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelAcknowledgePacket.MsgPacketAcknowledgement\",\"components\":[{\"name\":\"packet\",\"type\":\"tuple\",\"internalType\":\"structPacket.Data\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"source_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"source_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeout_height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeout_timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"acknowledgement\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"bindPort\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"moduleAddress\",\"type\":\"address\",\"internalType\":\"contractIIBCModule\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelCloseConfirm\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelCloseConfirm\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofInit\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelCloseInit\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelCloseInit\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelOpenAck\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelOpenAck\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyVersion\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyChannelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofTry\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelOpenConfirm\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelOpenConfirm\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofAck\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelOpenInit\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelOpenInit\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel\",\"type\":\"tuple\",\"internalType\":\"structChannel.Data\",\"components\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structChannelCounterparty.Data\",\"components\":[{\"name\":\"port_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel_id\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelOpenTry\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelOpenTry\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel\",\"type\":\"tuple\",\"internalType\":\"structChannel.Data\",\"components\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structChannelCounterparty.Data\",\"components\":[{\"name\":\"port_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel_id\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"counterpartyVersion\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofInit\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"connectionOpenAck\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCConnection.MsgConnectionOpenAck\",\"components\":[{\"name\":\"connectionId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"clientStateBytes\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"version\",\"type\":\"tuple\",\"internalType\":\"structVersion.Data\",\"components\":[{\"name\":\"identifier\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"features\",\"type\":\"string[]\",\"internalType\":\"string[]\"}]},{\"name\":\"counterpartyConnectionId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofTry\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofClient\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofConsensus\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"consensusHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"hostConsensusStateProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"connectionOpenConfirm\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCConnection.MsgConnectionOpenConfirm\",\"components\":[{\"name\":\"connectionId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofAck\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"connectionOpenInit\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCConnection.MsgConnectionOpenInit\",\"components\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structCounterparty.Data\",\"components\":[{\"name\":\"client_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"connection_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"prefix\",\"type\":\"tuple\",\"internalType\":\"structMerklePrefix.Data\",\"components\":[{\"name\":\"key_prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}]},{\"name\":\"version\",\"type\":\"tuple\",\"internalType\":\"structVersion.Data\",\"components\":[{\"name\":\"identifier\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"features\",\"type\":\"string[]\",\"internalType\":\"string[]\"}]},{\"name\":\"delayPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"connectionOpenTry\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCConnection.MsgConnectionOpenTry\",\"components\":[{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structCounterparty.Data\",\"components\":[{\"name\":\"client_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"connection_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"prefix\",\"type\":\"tuple\",\"internalType\":\"structMerklePrefix.Data\",\"components\":[{\"name\":\"key_prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}]},{\"name\":\"delayPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"clientStateBytes\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"counterpartyVersions\",\"type\":\"tuple[]\",\"internalType\":\"structVersion.Data[]\",\"components\":[{\"name\":\"identifier\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"features\",\"type\":\"string[]\",\"internalType\":\"string[]\"}]},{\"name\":\"proofInit\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofClient\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofConsensus\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"consensusHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"hostConsensusStateProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createClient\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCClient.MsgCreateClient\",\"components\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"protoClientState\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"protoConsensusState\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getChannel\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structChannel.Data\",\"components\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structChannelCounterparty.Data\",\"components\":[{\"name\":\"port_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel_id\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getClient\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getClientByType\",\"inputs\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getClientState\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getClientType\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getCommitment\",\"inputs\":[{\"name\":\"hashedPath\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getCommitmentPrefix\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getConnection\",\"inputs\":[{\"name\":\"connectionId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structConnectionEnd.Data\",\"components\":[{\"name\":\"client_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"versions\",\"type\":\"tuple[]\",\"internalType\":\"structVersion.Data[]\",\"components\":[{\"name\":\"identifier\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"features\",\"type\":\"string[]\",\"internalType\":\"string[]\"}]},{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumConnectionEnd.State\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structCounterparty.Data\",\"components\":[{\"name\":\"client_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"connection_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"prefix\",\"type\":\"tuple\",\"internalType\":\"structMerklePrefix.Data\",\"components\":[{\"name\":\"key_prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}]},{\"name\":\"delay_period\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getConsensusState\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[{\"name\":\"consensusStateBytes\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getExpectedTimePerBlock\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNextSequenceAck\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNextSequenceRecv\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNextSequenceSend\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getPacketReceipt\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"enumIBCChannelLib.PacketReceipt\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"recvPacket\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelRecvPacket.MsgPacketRecv\",\"components\":[{\"name\":\"packet\",\"type\":\"tuple\",\"internalType\":\"structPacket.Data\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"source_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"source_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeout_height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeout_timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"registerClient\",\"inputs\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"client\",\"type\":\"address\",\"internalType\":\"contractILightClient\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"routeUpdateClient\",\"inputs\":[{\"name\":\"msg_\",\"type\":\"tuple\",\"internalType\":\"structIIBCClient.MsgUpdateClient\",\"components\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"protoClientMessage\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"sendPacket\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setExpectedTimePerBlock\",\"inputs\":[{\"name\":\"expectedTimePerBlock_\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"timeoutOnClose\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelPacketTimeout.MsgTimeoutOnClose\",\"components\":[{\"name\":\"packet\",\"type\":\"tuple\",\"internalType\":\"structPacket.Data\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"source_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"source_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeout_height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeout_timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proofUnreceived\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofClose\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"nextSequenceRecv\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"timeoutPacket\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelPacketTimeout.MsgTimeoutPacket\",\"components\":[{\"name\":\"packet\",\"type\":\"tuple\",\"internalType\":\"structPacket.Data\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"source_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"source_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeout_height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeout_timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"nextSequenceRecv\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateClient\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCClient.MsgUpdateClient\",\"components\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"protoClientMessage\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateClientCommitments\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structHeight.Data[]\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"wrappedRouteUpdateClient\",\"inputs\":[{\"name\":\"msg_\",\"type\":\"tuple\",\"internalType\":\"structIIBCClient.MsgUpdateClient\",\"components\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"protoClientMessage\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"writeAcknowledgement\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"AcknowledgePacket\",\"inputs\":[{\"name\":\"packet\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structPacket.Data\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"source_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"source_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeout_height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeout_timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"acknowledgement\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"GeneratedChannelIdentifier\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"GeneratedClientIdentifier\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"GeneratedConnectionIdentifier\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RecvPacket\",\"inputs\":[{\"name\":\"packet\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structPacket.Data\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"source_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"source_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeout_height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeout_timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SendPacket\",\"inputs\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"TimeoutPacket\",\"inputs\":[{\"name\":\"packet\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structPacket.Data\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"source_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"source_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_port\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destination_channel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeout_height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeout_timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"WriteAcknowledgement\",\"inputs\":[{\"name\":\"destinationPortId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"sequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"acknowledgement\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false}]", + ABI: "[{\"type\":\"function\",\"name\":\"acknowledgePacket\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelAcknowledgePacket.MsgPacketAcknowledgement\",\"components\":[{\"name\":\"packet\",\"type\":\"tuple\",\"internalType\":\"structPacket\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"acknowledgement\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"bindPort\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"moduleAddress\",\"type\":\"address\",\"internalType\":\"contractIIBCModule\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"cancelChannelUpgrade\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.MsgCancelChannelUpgrade\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"errorReceipt\",\"type\":\"tuple\",\"internalType\":\"structErrorReceipt.Data\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"message\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"proofUpgradeError\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelCloseConfirm\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelCloseConfirm\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofInit\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelCloseInit\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelCloseInit\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelOpenAck\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelOpenAck\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyVersion\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyChannelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofTry\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelOpenConfirm\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelOpenConfirm\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofAck\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelOpenInit\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelOpenInit\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel\",\"type\":\"tuple\",\"internalType\":\"structChannel.Data\",\"components\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structChannelCounterparty.Data\",\"components\":[{\"name\":\"port_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel_id\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"upgrade_sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelOpenTry\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelHandshake.MsgChannelOpenTry\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel\",\"type\":\"tuple\",\"internalType\":\"structChannel.Data\",\"components\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structChannelCounterparty.Data\",\"components\":[{\"name\":\"port_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel_id\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"upgrade_sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"counterpartyVersion\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofInit\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelUpgradeAck\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.MsgChannelUpgradeAck\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyUpgrade\",\"type\":\"tuple\",\"internalType\":\"structUpgrade.Data\",\"components\":[{\"name\":\"fields\",\"type\":\"tuple\",\"internalType\":\"structUpgradeFields.Data\",\"components\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"timeout\",\"type\":\"tuple\",\"internalType\":\"structTimeout.Data\",\"components\":[{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"next_sequence_send\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proofs\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.ChannelUpgradeProofs\",\"components\":[{\"name\":\"proofChannel\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofUpgrade\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}]}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelUpgradeConfirm\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.MsgChannelUpgradeConfirm\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyChannelState\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"counterpartyUpgrade\",\"type\":\"tuple\",\"internalType\":\"structUpgrade.Data\",\"components\":[{\"name\":\"fields\",\"type\":\"tuple\",\"internalType\":\"structUpgradeFields.Data\",\"components\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"timeout\",\"type\":\"tuple\",\"internalType\":\"structTimeout.Data\",\"components\":[{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"next_sequence_send\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proofs\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.ChannelUpgradeProofs\",\"components\":[{\"name\":\"proofChannel\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofUpgrade\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}]}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelUpgradeInit\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.MsgChannelUpgradeInit\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proposedUpgradeFields\",\"type\":\"tuple\",\"internalType\":\"structUpgradeFields.Data\",\"components\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]}]}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelUpgradeOpen\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.MsgChannelUpgradeOpen\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyChannelState\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"counterpartyUpgradeSequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"proofChannel\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"channelUpgradeTry\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.MsgChannelUpgradeTry\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyUpgradeSequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"counterpartyUpgradeFields\",\"type\":\"tuple\",\"internalType\":\"structUpgradeFields.Data\",\"components\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"proposedConnectionHops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"proofs\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.ChannelUpgradeProofs\",\"components\":[{\"name\":\"proofChannel\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofUpgrade\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}]}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"connectionOpenAck\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCConnection.MsgConnectionOpenAck\",\"components\":[{\"name\":\"connectionId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"clientStateBytes\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"version\",\"type\":\"tuple\",\"internalType\":\"structVersion.Data\",\"components\":[{\"name\":\"identifier\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"features\",\"type\":\"string[]\",\"internalType\":\"string[]\"}]},{\"name\":\"counterpartyConnectionId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofTry\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofClient\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofConsensus\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"consensusHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"hostConsensusStateProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"connectionOpenConfirm\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCConnection.MsgConnectionOpenConfirm\",\"components\":[{\"name\":\"connectionId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"proofAck\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"connectionOpenInit\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCConnection.MsgConnectionOpenInit\",\"components\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structCounterparty.Data\",\"components\":[{\"name\":\"client_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"connection_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"prefix\",\"type\":\"tuple\",\"internalType\":\"structMerklePrefix.Data\",\"components\":[{\"name\":\"key_prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}]},{\"name\":\"version\",\"type\":\"tuple\",\"internalType\":\"structVersion.Data\",\"components\":[{\"name\":\"identifier\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"features\",\"type\":\"string[]\",\"internalType\":\"string[]\"}]},{\"name\":\"delayPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"connectionOpenTry\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCConnection.MsgConnectionOpenTry\",\"components\":[{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structCounterparty.Data\",\"components\":[{\"name\":\"client_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"connection_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"prefix\",\"type\":\"tuple\",\"internalType\":\"structMerklePrefix.Data\",\"components\":[{\"name\":\"key_prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}]},{\"name\":\"delayPeriod\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"clientStateBytes\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"counterpartyVersions\",\"type\":\"tuple[]\",\"internalType\":\"structVersion.Data[]\",\"components\":[{\"name\":\"identifier\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"features\",\"type\":\"string[]\",\"internalType\":\"string[]\"}]},{\"name\":\"proofInit\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofClient\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofConsensus\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"consensusHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"hostConsensusStateProof\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createClient\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCClient.MsgCreateClient\",\"components\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"protoClientState\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"protoConsensusState\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getChannel\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structChannel.Data\",\"components\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structChannelCounterparty.Data\",\"components\":[{\"name\":\"port_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel_id\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"upgrade_sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getChannelUpgrade\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structUpgrade.Data\",\"components\":[{\"name\":\"fields\",\"type\":\"tuple\",\"internalType\":\"structUpgradeFields.Data\",\"components\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"timeout\",\"type\":\"tuple\",\"internalType\":\"structTimeout.Data\",\"components\":[{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"next_sequence_send\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getClient\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getClientByType\",\"inputs\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getClientState\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getClientType\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getCommitment\",\"inputs\":[{\"name\":\"hashedPath\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getCommitmentPrefix\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getConnection\",\"inputs\":[{\"name\":\"connectionId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structConnectionEnd.Data\",\"components\":[{\"name\":\"client_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"versions\",\"type\":\"tuple[]\",\"internalType\":\"structVersion.Data[]\",\"components\":[{\"name\":\"identifier\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"features\",\"type\":\"string[]\",\"internalType\":\"string[]\"}]},{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumConnectionEnd.State\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structCounterparty.Data\",\"components\":[{\"name\":\"client_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"connection_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"prefix\",\"type\":\"tuple\",\"internalType\":\"structMerklePrefix.Data\",\"components\":[{\"name\":\"key_prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}]},{\"name\":\"delay_period\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getConsensusState\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[{\"name\":\"consensusStateBytes\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getExpectedTimePerBlock\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNextSequenceAck\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNextSequenceRecv\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNextSequenceSend\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getPacketReceipt\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"enumIBCChannelLib.PacketReceipt\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"recvPacket\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelRecvPacket.MsgPacketRecv\",\"components\":[{\"name\":\"packet\",\"type\":\"tuple\",\"internalType\":\"structPacket\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"registerClient\",\"inputs\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"client\",\"type\":\"address\",\"internalType\":\"contractILightClient\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"routeUpdateClient\",\"inputs\":[{\"name\":\"msg_\",\"type\":\"tuple\",\"internalType\":\"structIIBCClient.MsgUpdateClient\",\"components\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"protoClientMessage\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"sendPacket\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setExpectedTimePerBlock\",\"inputs\":[{\"name\":\"expectedTimePerBlock_\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"timeoutChannelUpgrade\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelUpgradeBase.MsgTimeoutChannelUpgrade\",\"components\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"counterpartyChannel\",\"type\":\"tuple\",\"internalType\":\"structChannel.Data\",\"components\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"},{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"counterparty\",\"type\":\"tuple\",\"internalType\":\"structChannelCounterparty.Data\",\"components\":[{\"name\":\"port_id\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channel_id\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"upgrade_sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proofChannel\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"timeoutOnClose\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelPacketTimeout.MsgTimeoutOnClose\",\"components\":[{\"name\":\"packet\",\"type\":\"tuple\",\"internalType\":\"structPacket\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proofUnreceived\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofClose\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"nextSequenceRecv\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"counterpartyUpgradeSequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"timeoutPacket\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCChannelPacketTimeout.MsgTimeoutPacket\",\"components\":[{\"name\":\"packet\",\"type\":\"tuple\",\"internalType\":\"structPacket\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"nextSequenceRecv\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateClient\",\"inputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIIBCClient.MsgUpdateClient\",\"components\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"protoClientMessage\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"updateClientCommitments\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"tuple[]\",\"internalType\":\"structHeight.Data[]\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"wrappedRouteUpdateClient\",\"inputs\":[{\"name\":\"msg_\",\"type\":\"tuple\",\"internalType\":\"structIIBCClient.MsgUpdateClient\",\"components\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"protoClientMessage\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"writeAcknowledgement\",\"inputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"AcknowledgePacket\",\"inputs\":[{\"name\":\"packet\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structPacket\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"acknowledgement\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelUpgradeAck\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"upgradeSequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"channelState\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumChannel.State\"},{\"name\":\"upgradeFields\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structUpgradeFields.Data\",\"components\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"timeout\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTimeout.Data\",\"components\":[{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"nextSequenceSend\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelUpgradeConfirm\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"upgradeSequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"channelState\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"enumChannel.State\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelUpgradeInit\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"upgradeSequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"proposedUpgradeFields\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structUpgradeFields.Data\",\"components\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelUpgradeOpen\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"upgradeSequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelUpgradeTry\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"upgradeSequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"upgradeFields\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structUpgradeFields.Data\",\"components\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"},{\"name\":\"connection_hops\",\"type\":\"string[]\",\"internalType\":\"string[]\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"name\":\"timeout\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structTimeout.Data\",\"components\":[{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"nextSequenceSend\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"GeneratedChannelIdentifier\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"GeneratedClientIdentifier\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"GeneratedConnectionIdentifier\",\"inputs\":[{\"name\":\"connectionId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RecvPacket\",\"inputs\":[{\"name\":\"packet\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structPacket\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SendPacket\",\"inputs\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"data\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"TimeoutPacket\",\"inputs\":[{\"name\":\"packet\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structPacket\",\"components\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"sourcePort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"data\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"WriteAcknowledgement\",\"inputs\":[{\"name\":\"destinationPortId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"sequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"acknowledgement\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"WriteErrorReceipt\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"},{\"name\":\"upgradeSequence\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"},{\"name\":\"message\",\"type\":\"string\",\"indexed\":false,\"internalType\":\"string\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"IBCChannelAckAlreadyProcessedInPreviousUpgrade\",\"inputs\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"ackStartSequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelAcknowledgementAlreadyWritten\",\"inputs\":[{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelCannotRecvNextUpgradePacket\",\"inputs\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"counterpartyNextSequenceSend\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelChannelNotFound\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCChannelConnectionFeatureNotSupported\",\"inputs\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"}]},{\"type\":\"error\",\"name\":\"IBCChannelConnectionMultipleVersionsFound\",\"inputs\":[{\"name\":\"connectionId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"length\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"IBCChannelConnectionNotOpened\",\"inputs\":[{\"name\":\"connectionId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCChannelCounterpartyChannelIdNotEmpty\",\"inputs\":[{\"name\":\"counterpartyChannelId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCChannelEmptyAcknowledgement\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelFailedVerifyChannelState\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCChannelFailedVerifyNextSequenceRecv\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nextSequenceRecv\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCChannelFailedVerifyPacketAcknowledgement\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commitment\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCChannelFailedVerifyPacketCommitment\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"commitment\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCChannelFailedVerifyPacketReceiptAbsence\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCChannelInvalidConnectionHopsLength\",\"inputs\":[{\"name\":\"length\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"IBCChannelPacketAlreadyProcessInPreviousUpgrade\",\"inputs\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"recvStartSequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelPacketCommitmentMismatch\",\"inputs\":[{\"name\":\"expected\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"actual\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"IBCChannelPacketCommitmentNotFound\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelPacketMaybeAlreadyReceived\",\"inputs\":[{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"nextSequenceRecv\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelPacketReceiptAlreadyExists\",\"inputs\":[{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelPastPacketTimeoutHeight\",\"inputs\":[{\"name\":\"timeoutHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"latestHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCChannelPastPacketTimeoutTimestamp\",\"inputs\":[{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"latestTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelTimeoutNotReached\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelTimeoutPacketHeight\",\"inputs\":[{\"name\":\"currentBlockNumber\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"timeoutHeight\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelTimeoutPacketTimestamp\",\"inputs\":[{\"name\":\"currentTimestamp\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"timeoutTimestamp\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUnexpectedChannelState\",\"inputs\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUnexpectedNextSequenceAck\",\"inputs\":[{\"name\":\"expected\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUnexpectedNextSequenceRecv\",\"inputs\":[{\"name\":\"expected\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUnexpectedPacketDestination\",\"inputs\":[{\"name\":\"destinationPort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"destinationChannel\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUnexpectedPacketSource\",\"inputs\":[{\"name\":\"sourcePort\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"sourceChannel\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUnknownChannelOrder\",\"inputs\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUnknownPacketReceiptCommitment\",\"inputs\":[{\"name\":\"commitment\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeCounterpartyAlreadyFlushCompleted\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeCounterpartyAlreadyUpgraded\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeCounterpartyNotFlushingOrFlushcomplete\",\"inputs\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeCounterpartyNotOpenOrFlushcomplete\",\"inputs\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeErrorReceiptEmpty\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeFailedVerifyMembership\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeIncompatibleProposal\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeInvalidErrorReceiptSequence\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeInvalidTimeout\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeInvalidUpgradeFields\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeNoChanges\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeNoExistingUpgrade\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeNotFlushcomplete\",\"inputs\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeNotFlushing\",\"inputs\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeNotOpenOrFlushing\",\"inputs\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumChannel.State\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeOldCounterpartyUpgradeSequence\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeOldErrorReceiptSequence\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeTimeoutHeightNotReached\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeTimeoutTimestampNotReached\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeTimeoutUnallowedState\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeTryProposalMustEmptyIfExist\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeUnauthorizedChannelUpgrader\",\"inputs\":[{\"name\":\"upgrader\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeUnsupportedOrdering\",\"inputs\":[{\"name\":\"ordering\",\"type\":\"uint8\",\"internalType\":\"enumChannel.Order\"}]},{\"type\":\"error\",\"name\":\"IBCChannelUpgradeWriteOldErrorReceiptSequence\",\"inputs\":[{\"name\":\"latestSequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"sequence\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"type\":\"error\",\"name\":\"IBCChannelZeroPacketTimeout\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCClientClientNotFound\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCClientConsensusStateNotFound\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"consensusHeight\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCClientFailedUpdateClient\",\"inputs\":[{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"},{\"name\":\"args\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"type\":\"error\",\"name\":\"IBCClientNotActiveClient\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCClientUnregisteredClientType\",\"inputs\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCConnectionAlreadyConnectionExists\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCConnectionEmptyConnectionCounterpartyVersions\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCConnectionFailedVerifyClientConsensusState\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCConnectionFailedVerifyClientState\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCConnectionFailedVerifyConnectionState\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"path\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proof\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"height\",\"type\":\"tuple\",\"internalType\":\"structHeight.Data\",\"components\":[{\"name\":\"revision_number\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"revision_height\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]}]},{\"type\":\"error\",\"name\":\"IBCConnectionIBCVersionNotSupported\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCConnectionInvalidCounterpartyConnectionIdentifier\",\"inputs\":[{\"name\":\"counterpartyConnectionId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCConnectionInvalidHostConsensusStateProof\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCConnectionInvalidSelfClientState\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCConnectionNoMatchingVersionFound\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCConnectionUnexpectedConnectionState\",\"inputs\":[{\"name\":\"state\",\"type\":\"uint8\",\"internalType\":\"enumConnectionEnd.State\"}]},{\"type\":\"error\",\"name\":\"IBCConnectionVersionsAlreadySet\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IBCHostChannelCapabilityAlreadyClaimed\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCHostClientNotFound\",\"inputs\":[{\"name\":\"clientId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCHostClientTypeAlreadyExists\",\"inputs\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCHostFailedAuthenticateChannelCapability\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"caller\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"IBCHostInvalidClientType\",\"inputs\":[{\"name\":\"clientType\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCHostInvalidLightClientAddress\",\"inputs\":[{\"name\":\"lcAddress\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"IBCHostInvalidModuleAddress\",\"inputs\":[{\"name\":\"moduleAddress\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"IBCHostInvalidPortIdentifier\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCHostModuleChannelNotFound\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"channelId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCHostModulePortNotFound\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"}]},{\"type\":\"error\",\"name\":\"IBCHostPortCapabilityAlreadyClaimed\",\"inputs\":[{\"name\":\"portId\",\"type\":\"string\",\"internalType\":\"string\"}]}]", } // IbchandlerABI is the input ABI used to generate the binding from. @@ -378,7 +475,7 @@ func (_Ibchandler *IbchandlerTransactorRaw) Transact(opts *bind.TransactOpts, me // GetChannel is a free data retrieval call binding the contract method 0x3000217a. // -// Solidity: function getChannel(string portId, string channelId) view returns((uint8,uint8,(string,string),string[],string), bool) +// Solidity: function getChannel(string portId, string channelId) view returns((uint8,uint8,(string,string),string[],string,uint64), bool) func (_Ibchandler *IbchandlerCaller) GetChannel(opts *bind.CallOpts, portId string, channelId string) (ChannelData, bool, error) { var out []interface{} err := _Ibchandler.contract.Call(opts, &out, "getChannel", portId, channelId) @@ -396,18 +493,50 @@ func (_Ibchandler *IbchandlerCaller) GetChannel(opts *bind.CallOpts, portId stri // GetChannel is a free data retrieval call binding the contract method 0x3000217a. // -// Solidity: function getChannel(string portId, string channelId) view returns((uint8,uint8,(string,string),string[],string), bool) +// Solidity: function getChannel(string portId, string channelId) view returns((uint8,uint8,(string,string),string[],string,uint64), bool) func (_Ibchandler *IbchandlerSession) GetChannel(portId string, channelId string) (ChannelData, bool, error) { return _Ibchandler.Contract.GetChannel(&_Ibchandler.CallOpts, portId, channelId) } // GetChannel is a free data retrieval call binding the contract method 0x3000217a. // -// Solidity: function getChannel(string portId, string channelId) view returns((uint8,uint8,(string,string),string[],string), bool) +// Solidity: function getChannel(string portId, string channelId) view returns((uint8,uint8,(string,string),string[],string,uint64), bool) func (_Ibchandler *IbchandlerCallerSession) GetChannel(portId string, channelId string) (ChannelData, bool, error) { return _Ibchandler.Contract.GetChannel(&_Ibchandler.CallOpts, portId, channelId) } +// GetChannelUpgrade is a free data retrieval call binding the contract method 0x16fb38fd. +// +// Solidity: function getChannelUpgrade(string portId, string channelId) view returns(((uint8,string[],string),((uint64,uint64),uint64),uint64), bool) +func (_Ibchandler *IbchandlerCaller) GetChannelUpgrade(opts *bind.CallOpts, portId string, channelId string) (UpgradeData, bool, error) { + var out []interface{} + err := _Ibchandler.contract.Call(opts, &out, "getChannelUpgrade", portId, channelId) + + if err != nil { + return *new(UpgradeData), *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(UpgradeData)).(*UpgradeData) + out1 := *abi.ConvertType(out[1], new(bool)).(*bool) + + return out0, out1, err + +} + +// GetChannelUpgrade is a free data retrieval call binding the contract method 0x16fb38fd. +// +// Solidity: function getChannelUpgrade(string portId, string channelId) view returns(((uint8,string[],string),((uint64,uint64),uint64),uint64), bool) +func (_Ibchandler *IbchandlerSession) GetChannelUpgrade(portId string, channelId string) (UpgradeData, bool, error) { + return _Ibchandler.Contract.GetChannelUpgrade(&_Ibchandler.CallOpts, portId, channelId) +} + +// GetChannelUpgrade is a free data retrieval call binding the contract method 0x16fb38fd. +// +// Solidity: function getChannelUpgrade(string portId, string channelId) view returns(((uint8,string[],string),((uint64,uint64),uint64),uint64), bool) +func (_Ibchandler *IbchandlerCallerSession) GetChannelUpgrade(portId string, channelId string) (UpgradeData, bool, error) { + return _Ibchandler.Contract.GetChannelUpgrade(&_Ibchandler.CallOpts, portId, channelId) +} + // GetClient is a free data retrieval call binding the contract method 0x7eb78932. // // Solidity: function getClient(string clientId) view returns(address) @@ -889,6 +1018,27 @@ func (_Ibchandler *IbchandlerTransactorSession) BindPort(portId string, moduleAd return _Ibchandler.Contract.BindPort(&_Ibchandler.TransactOpts, portId, moduleAddress) } +// CancelChannelUpgrade is a paid mutator transaction binding the contract method 0xc2333903. +// +// Solidity: function cancelChannelUpgrade((string,string,(uint64,string),bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerTransactor) CancelChannelUpgrade(opts *bind.TransactOpts, arg0 IIBCChannelUpgradeBaseMsgCancelChannelUpgrade) (*types.Transaction, error) { + return _Ibchandler.contract.Transact(opts, "cancelChannelUpgrade", arg0) +} + +// CancelChannelUpgrade is a paid mutator transaction binding the contract method 0xc2333903. +// +// Solidity: function cancelChannelUpgrade((string,string,(uint64,string),bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerSession) CancelChannelUpgrade(arg0 IIBCChannelUpgradeBaseMsgCancelChannelUpgrade) (*types.Transaction, error) { + return _Ibchandler.Contract.CancelChannelUpgrade(&_Ibchandler.TransactOpts, arg0) +} + +// CancelChannelUpgrade is a paid mutator transaction binding the contract method 0xc2333903. +// +// Solidity: function cancelChannelUpgrade((string,string,(uint64,string),bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerTransactorSession) CancelChannelUpgrade(arg0 IIBCChannelUpgradeBaseMsgCancelChannelUpgrade) (*types.Transaction, error) { + return _Ibchandler.Contract.CancelChannelUpgrade(&_Ibchandler.TransactOpts, arg0) +} + // ChannelCloseConfirm is a paid mutator transaction binding the contract method 0x25cbc3a6. // // Solidity: function channelCloseConfirm((string,string,bytes,(uint64,uint64)) ) returns() @@ -973,48 +1123,153 @@ func (_Ibchandler *IbchandlerTransactorSession) ChannelOpenConfirm(arg0 IIBCChan return _Ibchandler.Contract.ChannelOpenConfirm(&_Ibchandler.TransactOpts, arg0) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0xdd3469fc. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x2d5386df. // -// Solidity: function channelOpenInit((string,(uint8,uint8,(string,string),string[],string)) ) returns(string, string) +// Solidity: function channelOpenInit((string,(uint8,uint8,(string,string),string[],string,uint64)) ) returns(string, string) func (_Ibchandler *IbchandlerTransactor) ChannelOpenInit(opts *bind.TransactOpts, arg0 IIBCChannelHandshakeMsgChannelOpenInit) (*types.Transaction, error) { return _Ibchandler.contract.Transact(opts, "channelOpenInit", arg0) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0xdd3469fc. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x2d5386df. // -// Solidity: function channelOpenInit((string,(uint8,uint8,(string,string),string[],string)) ) returns(string, string) +// Solidity: function channelOpenInit((string,(uint8,uint8,(string,string),string[],string,uint64)) ) returns(string, string) func (_Ibchandler *IbchandlerSession) ChannelOpenInit(arg0 IIBCChannelHandshakeMsgChannelOpenInit) (*types.Transaction, error) { return _Ibchandler.Contract.ChannelOpenInit(&_Ibchandler.TransactOpts, arg0) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0xdd3469fc. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x2d5386df. // -// Solidity: function channelOpenInit((string,(uint8,uint8,(string,string),string[],string)) ) returns(string, string) +// Solidity: function channelOpenInit((string,(uint8,uint8,(string,string),string[],string,uint64)) ) returns(string, string) func (_Ibchandler *IbchandlerTransactorSession) ChannelOpenInit(arg0 IIBCChannelHandshakeMsgChannelOpenInit) (*types.Transaction, error) { return _Ibchandler.Contract.ChannelOpenInit(&_Ibchandler.TransactOpts, arg0) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0x11b88a15. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0x314c3c1c. // -// Solidity: function channelOpenTry((string,(uint8,uint8,(string,string),string[],string),string,bytes,(uint64,uint64)) ) returns(string, string) +// Solidity: function channelOpenTry((string,(uint8,uint8,(string,string),string[],string,uint64),string,bytes,(uint64,uint64)) ) returns(string, string) func (_Ibchandler *IbchandlerTransactor) ChannelOpenTry(opts *bind.TransactOpts, arg0 IIBCChannelHandshakeMsgChannelOpenTry) (*types.Transaction, error) { return _Ibchandler.contract.Transact(opts, "channelOpenTry", arg0) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0x11b88a15. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0x314c3c1c. // -// Solidity: function channelOpenTry((string,(uint8,uint8,(string,string),string[],string),string,bytes,(uint64,uint64)) ) returns(string, string) +// Solidity: function channelOpenTry((string,(uint8,uint8,(string,string),string[],string,uint64),string,bytes,(uint64,uint64)) ) returns(string, string) func (_Ibchandler *IbchandlerSession) ChannelOpenTry(arg0 IIBCChannelHandshakeMsgChannelOpenTry) (*types.Transaction, error) { return _Ibchandler.Contract.ChannelOpenTry(&_Ibchandler.TransactOpts, arg0) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0x11b88a15. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0x314c3c1c. // -// Solidity: function channelOpenTry((string,(uint8,uint8,(string,string),string[],string),string,bytes,(uint64,uint64)) ) returns(string, string) +// Solidity: function channelOpenTry((string,(uint8,uint8,(string,string),string[],string,uint64),string,bytes,(uint64,uint64)) ) returns(string, string) func (_Ibchandler *IbchandlerTransactorSession) ChannelOpenTry(arg0 IIBCChannelHandshakeMsgChannelOpenTry) (*types.Transaction, error) { return _Ibchandler.Contract.ChannelOpenTry(&_Ibchandler.TransactOpts, arg0) } +// ChannelUpgradeAck is a paid mutator transaction binding the contract method 0xfb6c93f7. +// +// Solidity: function channelUpgradeAck((string,string,((uint8,string[],string),((uint64,uint64),uint64),uint64),(bytes,bytes,(uint64,uint64))) ) returns(bool) +func (_Ibchandler *IbchandlerTransactor) ChannelUpgradeAck(opts *bind.TransactOpts, arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeAck) (*types.Transaction, error) { + return _Ibchandler.contract.Transact(opts, "channelUpgradeAck", arg0) +} + +// ChannelUpgradeAck is a paid mutator transaction binding the contract method 0xfb6c93f7. +// +// Solidity: function channelUpgradeAck((string,string,((uint8,string[],string),((uint64,uint64),uint64),uint64),(bytes,bytes,(uint64,uint64))) ) returns(bool) +func (_Ibchandler *IbchandlerSession) ChannelUpgradeAck(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeAck) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeAck(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeAck is a paid mutator transaction binding the contract method 0xfb6c93f7. +// +// Solidity: function channelUpgradeAck((string,string,((uint8,string[],string),((uint64,uint64),uint64),uint64),(bytes,bytes,(uint64,uint64))) ) returns(bool) +func (_Ibchandler *IbchandlerTransactorSession) ChannelUpgradeAck(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeAck) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeAck(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeConfirm is a paid mutator transaction binding the contract method 0x0db24ed7. +// +// Solidity: function channelUpgradeConfirm((string,string,uint8,((uint8,string[],string),((uint64,uint64),uint64),uint64),(bytes,bytes,(uint64,uint64))) ) returns(bool) +func (_Ibchandler *IbchandlerTransactor) ChannelUpgradeConfirm(opts *bind.TransactOpts, arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeConfirm) (*types.Transaction, error) { + return _Ibchandler.contract.Transact(opts, "channelUpgradeConfirm", arg0) +} + +// ChannelUpgradeConfirm is a paid mutator transaction binding the contract method 0x0db24ed7. +// +// Solidity: function channelUpgradeConfirm((string,string,uint8,((uint8,string[],string),((uint64,uint64),uint64),uint64),(bytes,bytes,(uint64,uint64))) ) returns(bool) +func (_Ibchandler *IbchandlerSession) ChannelUpgradeConfirm(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeConfirm) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeConfirm(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeConfirm is a paid mutator transaction binding the contract method 0x0db24ed7. +// +// Solidity: function channelUpgradeConfirm((string,string,uint8,((uint8,string[],string),((uint64,uint64),uint64),uint64),(bytes,bytes,(uint64,uint64))) ) returns(bool) +func (_Ibchandler *IbchandlerTransactorSession) ChannelUpgradeConfirm(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeConfirm) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeConfirm(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeInit is a paid mutator transaction binding the contract method 0xcc93aebf. +// +// Solidity: function channelUpgradeInit((string,string,(uint8,string[],string)) ) returns(uint64) +func (_Ibchandler *IbchandlerTransactor) ChannelUpgradeInit(opts *bind.TransactOpts, arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeInit) (*types.Transaction, error) { + return _Ibchandler.contract.Transact(opts, "channelUpgradeInit", arg0) +} + +// ChannelUpgradeInit is a paid mutator transaction binding the contract method 0xcc93aebf. +// +// Solidity: function channelUpgradeInit((string,string,(uint8,string[],string)) ) returns(uint64) +func (_Ibchandler *IbchandlerSession) ChannelUpgradeInit(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeInit) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeInit(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeInit is a paid mutator transaction binding the contract method 0xcc93aebf. +// +// Solidity: function channelUpgradeInit((string,string,(uint8,string[],string)) ) returns(uint64) +func (_Ibchandler *IbchandlerTransactorSession) ChannelUpgradeInit(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeInit) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeInit(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeOpen is a paid mutator transaction binding the contract method 0x921e51d4. +// +// Solidity: function channelUpgradeOpen((string,string,uint8,uint64,bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerTransactor) ChannelUpgradeOpen(opts *bind.TransactOpts, arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeOpen) (*types.Transaction, error) { + return _Ibchandler.contract.Transact(opts, "channelUpgradeOpen", arg0) +} + +// ChannelUpgradeOpen is a paid mutator transaction binding the contract method 0x921e51d4. +// +// Solidity: function channelUpgradeOpen((string,string,uint8,uint64,bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerSession) ChannelUpgradeOpen(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeOpen) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeOpen(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeOpen is a paid mutator transaction binding the contract method 0x921e51d4. +// +// Solidity: function channelUpgradeOpen((string,string,uint8,uint64,bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerTransactorSession) ChannelUpgradeOpen(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeOpen) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeOpen(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeTry is a paid mutator transaction binding the contract method 0x4e61055a. +// +// Solidity: function channelUpgradeTry((string,string,uint64,(uint8,string[],string),string[],(bytes,bytes,(uint64,uint64))) ) returns(bool, uint64) +func (_Ibchandler *IbchandlerTransactor) ChannelUpgradeTry(opts *bind.TransactOpts, arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeTry) (*types.Transaction, error) { + return _Ibchandler.contract.Transact(opts, "channelUpgradeTry", arg0) +} + +// ChannelUpgradeTry is a paid mutator transaction binding the contract method 0x4e61055a. +// +// Solidity: function channelUpgradeTry((string,string,uint64,(uint8,string[],string),string[],(bytes,bytes,(uint64,uint64))) ) returns(bool, uint64) +func (_Ibchandler *IbchandlerSession) ChannelUpgradeTry(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeTry) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeTry(&_Ibchandler.TransactOpts, arg0) +} + +// ChannelUpgradeTry is a paid mutator transaction binding the contract method 0x4e61055a. +// +// Solidity: function channelUpgradeTry((string,string,uint64,(uint8,string[],string),string[],(bytes,bytes,(uint64,uint64))) ) returns(bool, uint64) +func (_Ibchandler *IbchandlerTransactorSession) ChannelUpgradeTry(arg0 IIBCChannelUpgradeBaseMsgChannelUpgradeTry) (*types.Transaction, error) { + return _Ibchandler.Contract.ChannelUpgradeTry(&_Ibchandler.TransactOpts, arg0) +} + // ConnectionOpenAck is a paid mutator transaction binding the contract method 0x8c145a93. // // Solidity: function connectionOpenAck((string,bytes,(string,string[]),string,bytes,bytes,bytes,(uint64,uint64),(uint64,uint64),bytes) ) returns() @@ -1204,23 +1459,44 @@ func (_Ibchandler *IbchandlerTransactorSession) SetExpectedTimePerBlock(expected return _Ibchandler.Contract.SetExpectedTimePerBlock(&_Ibchandler.TransactOpts, expectedTimePerBlock_) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x9ebb2107. +// TimeoutChannelUpgrade is a paid mutator transaction binding the contract method 0x382db388. +// +// Solidity: function timeoutChannelUpgrade((string,string,(uint8,uint8,(string,string),string[],string,uint64),bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerTransactor) TimeoutChannelUpgrade(opts *bind.TransactOpts, arg0 IIBCChannelUpgradeBaseMsgTimeoutChannelUpgrade) (*types.Transaction, error) { + return _Ibchandler.contract.Transact(opts, "timeoutChannelUpgrade", arg0) +} + +// TimeoutChannelUpgrade is a paid mutator transaction binding the contract method 0x382db388. +// +// Solidity: function timeoutChannelUpgrade((string,string,(uint8,uint8,(string,string),string[],string,uint64),bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerSession) TimeoutChannelUpgrade(arg0 IIBCChannelUpgradeBaseMsgTimeoutChannelUpgrade) (*types.Transaction, error) { + return _Ibchandler.Contract.TimeoutChannelUpgrade(&_Ibchandler.TransactOpts, arg0) +} + +// TimeoutChannelUpgrade is a paid mutator transaction binding the contract method 0x382db388. // -// Solidity: function timeoutOnClose(((uint64,string,string,string,string,bytes,(uint64,uint64),uint64),bytes,bytes,(uint64,uint64),uint64) ) returns() +// Solidity: function timeoutChannelUpgrade((string,string,(uint8,uint8,(string,string),string[],string,uint64),bytes,(uint64,uint64)) ) returns() +func (_Ibchandler *IbchandlerTransactorSession) TimeoutChannelUpgrade(arg0 IIBCChannelUpgradeBaseMsgTimeoutChannelUpgrade) (*types.Transaction, error) { + return _Ibchandler.Contract.TimeoutChannelUpgrade(&_Ibchandler.TransactOpts, arg0) +} + +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x2e5e6d74. +// +// Solidity: function timeoutOnClose(((uint64,string,string,string,string,bytes,(uint64,uint64),uint64),bytes,bytes,(uint64,uint64),uint64,uint64) ) returns() func (_Ibchandler *IbchandlerTransactor) TimeoutOnClose(opts *bind.TransactOpts, arg0 IIBCChannelPacketTimeoutMsgTimeoutOnClose) (*types.Transaction, error) { return _Ibchandler.contract.Transact(opts, "timeoutOnClose", arg0) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x9ebb2107. +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x2e5e6d74. // -// Solidity: function timeoutOnClose(((uint64,string,string,string,string,bytes,(uint64,uint64),uint64),bytes,bytes,(uint64,uint64),uint64) ) returns() +// Solidity: function timeoutOnClose(((uint64,string,string,string,string,bytes,(uint64,uint64),uint64),bytes,bytes,(uint64,uint64),uint64,uint64) ) returns() func (_Ibchandler *IbchandlerSession) TimeoutOnClose(arg0 IIBCChannelPacketTimeoutMsgTimeoutOnClose) (*types.Transaction, error) { return _Ibchandler.Contract.TimeoutOnClose(&_Ibchandler.TransactOpts, arg0) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x9ebb2107. +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x2e5e6d74. // -// Solidity: function timeoutOnClose(((uint64,string,string,string,string,bytes,(uint64,uint64),uint64),bytes,bytes,(uint64,uint64),uint64) ) returns() +// Solidity: function timeoutOnClose(((uint64,string,string,string,string,bytes,(uint64,uint64),uint64),bytes,bytes,(uint64,uint64),uint64,uint64) ) returns() func (_Ibchandler *IbchandlerTransactorSession) TimeoutOnClose(arg0 IIBCChannelPacketTimeoutMsgTimeoutOnClose) (*types.Transaction, error) { return _Ibchandler.Contract.TimeoutOnClose(&_Ibchandler.TransactOpts, arg0) } @@ -1399,7 +1675,7 @@ func (it *IbchandlerAcknowledgePacketIterator) Close() error { // IbchandlerAcknowledgePacket represents a AcknowledgePacket event raised by the Ibchandler contract. type IbchandlerAcknowledgePacket struct { - Packet PacketData + Packet Packet Acknowledgement []byte Raw types.Log // Blockchain specific contextual infos } @@ -1465,9 +1741,9 @@ func (_Ibchandler *IbchandlerFilterer) ParseAcknowledgePacket(log types.Log) (*I return event, nil } -// IbchandlerGeneratedChannelIdentifierIterator is returned from FilterGeneratedChannelIdentifier and is used to iterate over the raw logs and unpacked data for GeneratedChannelIdentifier events raised by the Ibchandler contract. -type IbchandlerGeneratedChannelIdentifierIterator struct { - Event *IbchandlerGeneratedChannelIdentifier // Event containing the contract specifics and raw log +// IbchandlerChannelUpgradeAckIterator is returned from FilterChannelUpgradeAck and is used to iterate over the raw logs and unpacked data for ChannelUpgradeAck events raised by the Ibchandler contract. +type IbchandlerChannelUpgradeAckIterator struct { + Event *IbchandlerChannelUpgradeAck // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1481,7 +1757,7 @@ type IbchandlerGeneratedChannelIdentifierIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *IbchandlerGeneratedChannelIdentifierIterator) Next() bool { +func (it *IbchandlerChannelUpgradeAckIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1490,7 +1766,7 @@ func (it *IbchandlerGeneratedChannelIdentifierIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(IbchandlerGeneratedChannelIdentifier) + it.Event = new(IbchandlerChannelUpgradeAck) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1505,7 +1781,7 @@ func (it *IbchandlerGeneratedChannelIdentifierIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(IbchandlerGeneratedChannelIdentifier) + it.Event = new(IbchandlerChannelUpgradeAck) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1521,41 +1797,47 @@ func (it *IbchandlerGeneratedChannelIdentifierIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *IbchandlerGeneratedChannelIdentifierIterator) Error() error { +func (it *IbchandlerChannelUpgradeAckIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *IbchandlerGeneratedChannelIdentifierIterator) Close() error { +func (it *IbchandlerChannelUpgradeAckIterator) Close() error { it.sub.Unsubscribe() return nil } -// IbchandlerGeneratedChannelIdentifier represents a GeneratedChannelIdentifier event raised by the Ibchandler contract. -type IbchandlerGeneratedChannelIdentifier struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos +// IbchandlerChannelUpgradeAck represents a ChannelUpgradeAck event raised by the Ibchandler contract. +type IbchandlerChannelUpgradeAck struct { + PortId string + ChannelId string + UpgradeSequence uint64 + ChannelState uint8 + UpgradeFields UpgradeFieldsData + Timeout TimeoutData + NextSequenceSend uint64 + Raw types.Log // Blockchain specific contextual infos } -// FilterGeneratedChannelIdentifier is a free log retrieval operation binding the contract event 0x01fb9b8778b6fb840b058bb971dea3ba81c167b010a0216afe600826884f9ba7. +// FilterChannelUpgradeAck is a free log retrieval operation binding the contract event 0xa393bd17cb5e4ddf304a2e57ec93a91d3749e0f84c005f1e07bb10f8cb7794ac. // -// Solidity: event GeneratedChannelIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) FilterGeneratedChannelIdentifier(opts *bind.FilterOpts) (*IbchandlerGeneratedChannelIdentifierIterator, error) { +// Solidity: event ChannelUpgradeAck(string portId, string channelId, uint64 upgradeSequence, uint8 channelState, (uint8,string[],string) upgradeFields, ((uint64,uint64),uint64) timeout, uint64 nextSequenceSend) +func (_Ibchandler *IbchandlerFilterer) FilterChannelUpgradeAck(opts *bind.FilterOpts) (*IbchandlerChannelUpgradeAckIterator, error) { - logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "GeneratedChannelIdentifier") + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "ChannelUpgradeAck") if err != nil { return nil, err } - return &IbchandlerGeneratedChannelIdentifierIterator{contract: _Ibchandler.contract, event: "GeneratedChannelIdentifier", logs: logs, sub: sub}, nil + return &IbchandlerChannelUpgradeAckIterator{contract: _Ibchandler.contract, event: "ChannelUpgradeAck", logs: logs, sub: sub}, nil } -// WatchGeneratedChannelIdentifier is a free log subscription operation binding the contract event 0x01fb9b8778b6fb840b058bb971dea3ba81c167b010a0216afe600826884f9ba7. +// WatchChannelUpgradeAck is a free log subscription operation binding the contract event 0xa393bd17cb5e4ddf304a2e57ec93a91d3749e0f84c005f1e07bb10f8cb7794ac. // -// Solidity: event GeneratedChannelIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) WatchGeneratedChannelIdentifier(opts *bind.WatchOpts, sink chan<- *IbchandlerGeneratedChannelIdentifier) (event.Subscription, error) { +// Solidity: event ChannelUpgradeAck(string portId, string channelId, uint64 upgradeSequence, uint8 channelState, (uint8,string[],string) upgradeFields, ((uint64,uint64),uint64) timeout, uint64 nextSequenceSend) +func (_Ibchandler *IbchandlerFilterer) WatchChannelUpgradeAck(opts *bind.WatchOpts, sink chan<- *IbchandlerChannelUpgradeAck) (event.Subscription, error) { - logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "GeneratedChannelIdentifier") + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "ChannelUpgradeAck") if err != nil { return nil, err } @@ -1565,8 +1847,8 @@ func (_Ibchandler *IbchandlerFilterer) WatchGeneratedChannelIdentifier(opts *bin select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(IbchandlerGeneratedChannelIdentifier) - if err := _Ibchandler.contract.UnpackLog(event, "GeneratedChannelIdentifier", log); err != nil { + event := new(IbchandlerChannelUpgradeAck) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeAck", log); err != nil { return err } event.Raw = log @@ -1587,21 +1869,21 @@ func (_Ibchandler *IbchandlerFilterer) WatchGeneratedChannelIdentifier(opts *bin }), nil } -// ParseGeneratedChannelIdentifier is a log parse operation binding the contract event 0x01fb9b8778b6fb840b058bb971dea3ba81c167b010a0216afe600826884f9ba7. +// ParseChannelUpgradeAck is a log parse operation binding the contract event 0xa393bd17cb5e4ddf304a2e57ec93a91d3749e0f84c005f1e07bb10f8cb7794ac. // -// Solidity: event GeneratedChannelIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) ParseGeneratedChannelIdentifier(log types.Log) (*IbchandlerGeneratedChannelIdentifier, error) { - event := new(IbchandlerGeneratedChannelIdentifier) - if err := _Ibchandler.contract.UnpackLog(event, "GeneratedChannelIdentifier", log); err != nil { +// Solidity: event ChannelUpgradeAck(string portId, string channelId, uint64 upgradeSequence, uint8 channelState, (uint8,string[],string) upgradeFields, ((uint64,uint64),uint64) timeout, uint64 nextSequenceSend) +func (_Ibchandler *IbchandlerFilterer) ParseChannelUpgradeAck(log types.Log) (*IbchandlerChannelUpgradeAck, error) { + event := new(IbchandlerChannelUpgradeAck) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeAck", log); err != nil { return nil, err } event.Raw = log return event, nil } -// IbchandlerGeneratedClientIdentifierIterator is returned from FilterGeneratedClientIdentifier and is used to iterate over the raw logs and unpacked data for GeneratedClientIdentifier events raised by the Ibchandler contract. -type IbchandlerGeneratedClientIdentifierIterator struct { - Event *IbchandlerGeneratedClientIdentifier // Event containing the contract specifics and raw log +// IbchandlerChannelUpgradeConfirmIterator is returned from FilterChannelUpgradeConfirm and is used to iterate over the raw logs and unpacked data for ChannelUpgradeConfirm events raised by the Ibchandler contract. +type IbchandlerChannelUpgradeConfirmIterator struct { + Event *IbchandlerChannelUpgradeConfirm // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1615,7 +1897,7 @@ type IbchandlerGeneratedClientIdentifierIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *IbchandlerGeneratedClientIdentifierIterator) Next() bool { +func (it *IbchandlerChannelUpgradeConfirmIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1624,7 +1906,7 @@ func (it *IbchandlerGeneratedClientIdentifierIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(IbchandlerGeneratedClientIdentifier) + it.Event = new(IbchandlerChannelUpgradeConfirm) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1639,7 +1921,7 @@ func (it *IbchandlerGeneratedClientIdentifierIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(IbchandlerGeneratedClientIdentifier) + it.Event = new(IbchandlerChannelUpgradeConfirm) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1655,41 +1937,44 @@ func (it *IbchandlerGeneratedClientIdentifierIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *IbchandlerGeneratedClientIdentifierIterator) Error() error { +func (it *IbchandlerChannelUpgradeConfirmIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *IbchandlerGeneratedClientIdentifierIterator) Close() error { +func (it *IbchandlerChannelUpgradeConfirmIterator) Close() error { it.sub.Unsubscribe() return nil } -// IbchandlerGeneratedClientIdentifier represents a GeneratedClientIdentifier event raised by the Ibchandler contract. -type IbchandlerGeneratedClientIdentifier struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos +// IbchandlerChannelUpgradeConfirm represents a ChannelUpgradeConfirm event raised by the Ibchandler contract. +type IbchandlerChannelUpgradeConfirm struct { + PortId string + ChannelId string + UpgradeSequence uint64 + ChannelState uint8 + Raw types.Log // Blockchain specific contextual infos } -// FilterGeneratedClientIdentifier is a free log retrieval operation binding the contract event 0x601bfcc455d5d4d7738f8c6ac232e0d7cc9c31dab811f1d87c100af0b7fc3a20. +// FilterChannelUpgradeConfirm is a free log retrieval operation binding the contract event 0xf8ffe9cd82961879c9a3e9fa981504d3268956cd2c302581573586df965d2963. // -// Solidity: event GeneratedClientIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) FilterGeneratedClientIdentifier(opts *bind.FilterOpts) (*IbchandlerGeneratedClientIdentifierIterator, error) { +// Solidity: event ChannelUpgradeConfirm(string portId, string channelId, uint64 upgradeSequence, uint8 channelState) +func (_Ibchandler *IbchandlerFilterer) FilterChannelUpgradeConfirm(opts *bind.FilterOpts) (*IbchandlerChannelUpgradeConfirmIterator, error) { - logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "GeneratedClientIdentifier") + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "ChannelUpgradeConfirm") if err != nil { return nil, err } - return &IbchandlerGeneratedClientIdentifierIterator{contract: _Ibchandler.contract, event: "GeneratedClientIdentifier", logs: logs, sub: sub}, nil + return &IbchandlerChannelUpgradeConfirmIterator{contract: _Ibchandler.contract, event: "ChannelUpgradeConfirm", logs: logs, sub: sub}, nil } -// WatchGeneratedClientIdentifier is a free log subscription operation binding the contract event 0x601bfcc455d5d4d7738f8c6ac232e0d7cc9c31dab811f1d87c100af0b7fc3a20. +// WatchChannelUpgradeConfirm is a free log subscription operation binding the contract event 0xf8ffe9cd82961879c9a3e9fa981504d3268956cd2c302581573586df965d2963. // -// Solidity: event GeneratedClientIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) WatchGeneratedClientIdentifier(opts *bind.WatchOpts, sink chan<- *IbchandlerGeneratedClientIdentifier) (event.Subscription, error) { +// Solidity: event ChannelUpgradeConfirm(string portId, string channelId, uint64 upgradeSequence, uint8 channelState) +func (_Ibchandler *IbchandlerFilterer) WatchChannelUpgradeConfirm(opts *bind.WatchOpts, sink chan<- *IbchandlerChannelUpgradeConfirm) (event.Subscription, error) { - logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "GeneratedClientIdentifier") + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "ChannelUpgradeConfirm") if err != nil { return nil, err } @@ -1699,8 +1984,8 @@ func (_Ibchandler *IbchandlerFilterer) WatchGeneratedClientIdentifier(opts *bind select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(IbchandlerGeneratedClientIdentifier) - if err := _Ibchandler.contract.UnpackLog(event, "GeneratedClientIdentifier", log); err != nil { + event := new(IbchandlerChannelUpgradeConfirm) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeConfirm", log); err != nil { return err } event.Raw = log @@ -1721,21 +2006,21 @@ func (_Ibchandler *IbchandlerFilterer) WatchGeneratedClientIdentifier(opts *bind }), nil } -// ParseGeneratedClientIdentifier is a log parse operation binding the contract event 0x601bfcc455d5d4d7738f8c6ac232e0d7cc9c31dab811f1d87c100af0b7fc3a20. +// ParseChannelUpgradeConfirm is a log parse operation binding the contract event 0xf8ffe9cd82961879c9a3e9fa981504d3268956cd2c302581573586df965d2963. // -// Solidity: event GeneratedClientIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) ParseGeneratedClientIdentifier(log types.Log) (*IbchandlerGeneratedClientIdentifier, error) { - event := new(IbchandlerGeneratedClientIdentifier) - if err := _Ibchandler.contract.UnpackLog(event, "GeneratedClientIdentifier", log); err != nil { +// Solidity: event ChannelUpgradeConfirm(string portId, string channelId, uint64 upgradeSequence, uint8 channelState) +func (_Ibchandler *IbchandlerFilterer) ParseChannelUpgradeConfirm(log types.Log) (*IbchandlerChannelUpgradeConfirm, error) { + event := new(IbchandlerChannelUpgradeConfirm) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeConfirm", log); err != nil { return nil, err } event.Raw = log return event, nil } -// IbchandlerGeneratedConnectionIdentifierIterator is returned from FilterGeneratedConnectionIdentifier and is used to iterate over the raw logs and unpacked data for GeneratedConnectionIdentifier events raised by the Ibchandler contract. -type IbchandlerGeneratedConnectionIdentifierIterator struct { - Event *IbchandlerGeneratedConnectionIdentifier // Event containing the contract specifics and raw log +// IbchandlerChannelUpgradeInitIterator is returned from FilterChannelUpgradeInit and is used to iterate over the raw logs and unpacked data for ChannelUpgradeInit events raised by the Ibchandler contract. +type IbchandlerChannelUpgradeInitIterator struct { + Event *IbchandlerChannelUpgradeInit // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1749,7 +2034,7 @@ type IbchandlerGeneratedConnectionIdentifierIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *IbchandlerGeneratedConnectionIdentifierIterator) Next() bool { +func (it *IbchandlerChannelUpgradeInitIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1758,7 +2043,7 @@ func (it *IbchandlerGeneratedConnectionIdentifierIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(IbchandlerGeneratedConnectionIdentifier) + it.Event = new(IbchandlerChannelUpgradeInit) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1773,7 +2058,7 @@ func (it *IbchandlerGeneratedConnectionIdentifierIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(IbchandlerGeneratedConnectionIdentifier) + it.Event = new(IbchandlerChannelUpgradeInit) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1789,41 +2074,44 @@ func (it *IbchandlerGeneratedConnectionIdentifierIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *IbchandlerGeneratedConnectionIdentifierIterator) Error() error { +func (it *IbchandlerChannelUpgradeInitIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *IbchandlerGeneratedConnectionIdentifierIterator) Close() error { +func (it *IbchandlerChannelUpgradeInitIterator) Close() error { it.sub.Unsubscribe() return nil } -// IbchandlerGeneratedConnectionIdentifier represents a GeneratedConnectionIdentifier event raised by the Ibchandler contract. -type IbchandlerGeneratedConnectionIdentifier struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos +// IbchandlerChannelUpgradeInit represents a ChannelUpgradeInit event raised by the Ibchandler contract. +type IbchandlerChannelUpgradeInit struct { + PortId string + ChannelId string + UpgradeSequence uint64 + ProposedUpgradeFields UpgradeFieldsData + Raw types.Log // Blockchain specific contextual infos } -// FilterGeneratedConnectionIdentifier is a free log retrieval operation binding the contract event 0xbcf8ae1e9272e040280c9adfc8033bb831043a9959e37ef4af1f7e8ded16321b. +// FilterChannelUpgradeInit is a free log retrieval operation binding the contract event 0xc13371bc6ca96a3a792eac2cb8547e9f9be1ffd265aa789fb34798be1bc814ea. // -// Solidity: event GeneratedConnectionIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) FilterGeneratedConnectionIdentifier(opts *bind.FilterOpts) (*IbchandlerGeneratedConnectionIdentifierIterator, error) { +// Solidity: event ChannelUpgradeInit(string portId, string channelId, uint64 upgradeSequence, (uint8,string[],string) proposedUpgradeFields) +func (_Ibchandler *IbchandlerFilterer) FilterChannelUpgradeInit(opts *bind.FilterOpts) (*IbchandlerChannelUpgradeInitIterator, error) { - logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "GeneratedConnectionIdentifier") + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "ChannelUpgradeInit") if err != nil { return nil, err } - return &IbchandlerGeneratedConnectionIdentifierIterator{contract: _Ibchandler.contract, event: "GeneratedConnectionIdentifier", logs: logs, sub: sub}, nil + return &IbchandlerChannelUpgradeInitIterator{contract: _Ibchandler.contract, event: "ChannelUpgradeInit", logs: logs, sub: sub}, nil } -// WatchGeneratedConnectionIdentifier is a free log subscription operation binding the contract event 0xbcf8ae1e9272e040280c9adfc8033bb831043a9959e37ef4af1f7e8ded16321b. +// WatchChannelUpgradeInit is a free log subscription operation binding the contract event 0xc13371bc6ca96a3a792eac2cb8547e9f9be1ffd265aa789fb34798be1bc814ea. // -// Solidity: event GeneratedConnectionIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) WatchGeneratedConnectionIdentifier(opts *bind.WatchOpts, sink chan<- *IbchandlerGeneratedConnectionIdentifier) (event.Subscription, error) { +// Solidity: event ChannelUpgradeInit(string portId, string channelId, uint64 upgradeSequence, (uint8,string[],string) proposedUpgradeFields) +func (_Ibchandler *IbchandlerFilterer) WatchChannelUpgradeInit(opts *bind.WatchOpts, sink chan<- *IbchandlerChannelUpgradeInit) (event.Subscription, error) { - logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "GeneratedConnectionIdentifier") + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "ChannelUpgradeInit") if err != nil { return nil, err } @@ -1833,8 +2121,8 @@ func (_Ibchandler *IbchandlerFilterer) WatchGeneratedConnectionIdentifier(opts * select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(IbchandlerGeneratedConnectionIdentifier) - if err := _Ibchandler.contract.UnpackLog(event, "GeneratedConnectionIdentifier", log); err != nil { + event := new(IbchandlerChannelUpgradeInit) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeInit", log); err != nil { return err } event.Raw = log @@ -1855,21 +2143,21 @@ func (_Ibchandler *IbchandlerFilterer) WatchGeneratedConnectionIdentifier(opts * }), nil } -// ParseGeneratedConnectionIdentifier is a log parse operation binding the contract event 0xbcf8ae1e9272e040280c9adfc8033bb831043a9959e37ef4af1f7e8ded16321b. +// ParseChannelUpgradeInit is a log parse operation binding the contract event 0xc13371bc6ca96a3a792eac2cb8547e9f9be1ffd265aa789fb34798be1bc814ea. // -// Solidity: event GeneratedConnectionIdentifier(string arg0) -func (_Ibchandler *IbchandlerFilterer) ParseGeneratedConnectionIdentifier(log types.Log) (*IbchandlerGeneratedConnectionIdentifier, error) { - event := new(IbchandlerGeneratedConnectionIdentifier) - if err := _Ibchandler.contract.UnpackLog(event, "GeneratedConnectionIdentifier", log); err != nil { +// Solidity: event ChannelUpgradeInit(string portId, string channelId, uint64 upgradeSequence, (uint8,string[],string) proposedUpgradeFields) +func (_Ibchandler *IbchandlerFilterer) ParseChannelUpgradeInit(log types.Log) (*IbchandlerChannelUpgradeInit, error) { + event := new(IbchandlerChannelUpgradeInit) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeInit", log); err != nil { return nil, err } event.Raw = log return event, nil } -// IbchandlerRecvPacketIterator is returned from FilterRecvPacket and is used to iterate over the raw logs and unpacked data for RecvPacket events raised by the Ibchandler contract. -type IbchandlerRecvPacketIterator struct { - Event *IbchandlerRecvPacket // Event containing the contract specifics and raw log +// IbchandlerChannelUpgradeOpenIterator is returned from FilterChannelUpgradeOpen and is used to iterate over the raw logs and unpacked data for ChannelUpgradeOpen events raised by the Ibchandler contract. +type IbchandlerChannelUpgradeOpenIterator struct { + Event *IbchandlerChannelUpgradeOpen // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1883,7 +2171,7 @@ type IbchandlerRecvPacketIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *IbchandlerRecvPacketIterator) Next() bool { +func (it *IbchandlerChannelUpgradeOpenIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1892,7 +2180,7 @@ func (it *IbchandlerRecvPacketIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(IbchandlerRecvPacket) + it.Event = new(IbchandlerChannelUpgradeOpen) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1907,7 +2195,7 @@ func (it *IbchandlerRecvPacketIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(IbchandlerRecvPacket) + it.Event = new(IbchandlerChannelUpgradeOpen) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1923,41 +2211,43 @@ func (it *IbchandlerRecvPacketIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *IbchandlerRecvPacketIterator) Error() error { +func (it *IbchandlerChannelUpgradeOpenIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *IbchandlerRecvPacketIterator) Close() error { +func (it *IbchandlerChannelUpgradeOpenIterator) Close() error { it.sub.Unsubscribe() return nil } -// IbchandlerRecvPacket represents a RecvPacket event raised by the Ibchandler contract. -type IbchandlerRecvPacket struct { - Packet PacketData - Raw types.Log // Blockchain specific contextual infos +// IbchandlerChannelUpgradeOpen represents a ChannelUpgradeOpen event raised by the Ibchandler contract. +type IbchandlerChannelUpgradeOpen struct { + PortId string + ChannelId string + UpgradeSequence uint64 + Raw types.Log // Blockchain specific contextual infos } -// FilterRecvPacket is a free log retrieval operation binding the contract event 0x346f4351ee865d86a679d00f3995f0520f803d3a227604af08430e26e9345a7a. +// FilterChannelUpgradeOpen is a free log retrieval operation binding the contract event 0x241369740b78e45d97df8f622c144ef45c38c584444d29373ee9ec116c3c1b32. // -// Solidity: event RecvPacket((uint64,string,string,string,string,bytes,(uint64,uint64),uint64) packet) -func (_Ibchandler *IbchandlerFilterer) FilterRecvPacket(opts *bind.FilterOpts) (*IbchandlerRecvPacketIterator, error) { +// Solidity: event ChannelUpgradeOpen(string portId, string channelId, uint64 upgradeSequence) +func (_Ibchandler *IbchandlerFilterer) FilterChannelUpgradeOpen(opts *bind.FilterOpts) (*IbchandlerChannelUpgradeOpenIterator, error) { - logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "RecvPacket") + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "ChannelUpgradeOpen") if err != nil { return nil, err } - return &IbchandlerRecvPacketIterator{contract: _Ibchandler.contract, event: "RecvPacket", logs: logs, sub: sub}, nil + return &IbchandlerChannelUpgradeOpenIterator{contract: _Ibchandler.contract, event: "ChannelUpgradeOpen", logs: logs, sub: sub}, nil } -// WatchRecvPacket is a free log subscription operation binding the contract event 0x346f4351ee865d86a679d00f3995f0520f803d3a227604af08430e26e9345a7a. +// WatchChannelUpgradeOpen is a free log subscription operation binding the contract event 0x241369740b78e45d97df8f622c144ef45c38c584444d29373ee9ec116c3c1b32. // -// Solidity: event RecvPacket((uint64,string,string,string,string,bytes,(uint64,uint64),uint64) packet) -func (_Ibchandler *IbchandlerFilterer) WatchRecvPacket(opts *bind.WatchOpts, sink chan<- *IbchandlerRecvPacket) (event.Subscription, error) { +// Solidity: event ChannelUpgradeOpen(string portId, string channelId, uint64 upgradeSequence) +func (_Ibchandler *IbchandlerFilterer) WatchChannelUpgradeOpen(opts *bind.WatchOpts, sink chan<- *IbchandlerChannelUpgradeOpen) (event.Subscription, error) { - logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "RecvPacket") + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "ChannelUpgradeOpen") if err != nil { return nil, err } @@ -1967,8 +2257,8 @@ func (_Ibchandler *IbchandlerFilterer) WatchRecvPacket(opts *bind.WatchOpts, sin select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(IbchandlerRecvPacket) - if err := _Ibchandler.contract.UnpackLog(event, "RecvPacket", log); err != nil { + event := new(IbchandlerChannelUpgradeOpen) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeOpen", log); err != nil { return err } event.Raw = log @@ -1989,21 +2279,21 @@ func (_Ibchandler *IbchandlerFilterer) WatchRecvPacket(opts *bind.WatchOpts, sin }), nil } -// ParseRecvPacket is a log parse operation binding the contract event 0x346f4351ee865d86a679d00f3995f0520f803d3a227604af08430e26e9345a7a. +// ParseChannelUpgradeOpen is a log parse operation binding the contract event 0x241369740b78e45d97df8f622c144ef45c38c584444d29373ee9ec116c3c1b32. // -// Solidity: event RecvPacket((uint64,string,string,string,string,bytes,(uint64,uint64),uint64) packet) -func (_Ibchandler *IbchandlerFilterer) ParseRecvPacket(log types.Log) (*IbchandlerRecvPacket, error) { - event := new(IbchandlerRecvPacket) - if err := _Ibchandler.contract.UnpackLog(event, "RecvPacket", log); err != nil { +// Solidity: event ChannelUpgradeOpen(string portId, string channelId, uint64 upgradeSequence) +func (_Ibchandler *IbchandlerFilterer) ParseChannelUpgradeOpen(log types.Log) (*IbchandlerChannelUpgradeOpen, error) { + event := new(IbchandlerChannelUpgradeOpen) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeOpen", log); err != nil { return nil, err } event.Raw = log return event, nil } -// IbchandlerSendPacketIterator is returned from FilterSendPacket and is used to iterate over the raw logs and unpacked data for SendPacket events raised by the Ibchandler contract. -type IbchandlerSendPacketIterator struct { - Event *IbchandlerSendPacket // Event containing the contract specifics and raw log +// IbchandlerChannelUpgradeTryIterator is returned from FilterChannelUpgradeTry and is used to iterate over the raw logs and unpacked data for ChannelUpgradeTry events raised by the Ibchandler contract. +type IbchandlerChannelUpgradeTryIterator struct { + Event *IbchandlerChannelUpgradeTry // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2017,7 +2307,7 @@ type IbchandlerSendPacketIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *IbchandlerSendPacketIterator) Next() bool { +func (it *IbchandlerChannelUpgradeTryIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -2026,7 +2316,7 @@ func (it *IbchandlerSendPacketIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(IbchandlerSendPacket) + it.Event = new(IbchandlerChannelUpgradeTry) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2041,7 +2331,7 @@ func (it *IbchandlerSendPacketIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(IbchandlerSendPacket) + it.Event = new(IbchandlerChannelUpgradeTry) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -2057,46 +2347,46 @@ func (it *IbchandlerSendPacketIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *IbchandlerSendPacketIterator) Error() error { +func (it *IbchandlerChannelUpgradeTryIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *IbchandlerSendPacketIterator) Close() error { +func (it *IbchandlerChannelUpgradeTryIterator) Close() error { it.sub.Unsubscribe() return nil } -// IbchandlerSendPacket represents a SendPacket event raised by the Ibchandler contract. -type IbchandlerSendPacket struct { - Sequence uint64 - SourcePort string - SourceChannel string - TimeoutHeight HeightData - TimeoutTimestamp uint64 - Data []byte +// IbchandlerChannelUpgradeTry represents a ChannelUpgradeTry event raised by the Ibchandler contract. +type IbchandlerChannelUpgradeTry struct { + PortId string + ChannelId string + UpgradeSequence uint64 + UpgradeFields UpgradeFieldsData + Timeout TimeoutData + NextSequenceSend uint64 Raw types.Log // Blockchain specific contextual infos } -// FilterSendPacket is a free log retrieval operation binding the contract event 0x2a89ca0e962a61b8115575da63f54bb249cf0137947fc9ab016ac9df88aa347e. +// FilterChannelUpgradeTry is a free log retrieval operation binding the contract event 0x6635f115be80d0284edab9b9348b1910cf6896d0fed6fffaf4d6d67b6f142ac7. // -// Solidity: event SendPacket(uint64 sequence, string sourcePort, string sourceChannel, (uint64,uint64) timeoutHeight, uint64 timeoutTimestamp, bytes data) -func (_Ibchandler *IbchandlerFilterer) FilterSendPacket(opts *bind.FilterOpts) (*IbchandlerSendPacketIterator, error) { +// Solidity: event ChannelUpgradeTry(string portId, string channelId, uint64 upgradeSequence, (uint8,string[],string) upgradeFields, ((uint64,uint64),uint64) timeout, uint64 nextSequenceSend) +func (_Ibchandler *IbchandlerFilterer) FilterChannelUpgradeTry(opts *bind.FilterOpts) (*IbchandlerChannelUpgradeTryIterator, error) { - logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "SendPacket") + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "ChannelUpgradeTry") if err != nil { return nil, err } - return &IbchandlerSendPacketIterator{contract: _Ibchandler.contract, event: "SendPacket", logs: logs, sub: sub}, nil + return &IbchandlerChannelUpgradeTryIterator{contract: _Ibchandler.contract, event: "ChannelUpgradeTry", logs: logs, sub: sub}, nil } -// WatchSendPacket is a free log subscription operation binding the contract event 0x2a89ca0e962a61b8115575da63f54bb249cf0137947fc9ab016ac9df88aa347e. +// WatchChannelUpgradeTry is a free log subscription operation binding the contract event 0x6635f115be80d0284edab9b9348b1910cf6896d0fed6fffaf4d6d67b6f142ac7. // -// Solidity: event SendPacket(uint64 sequence, string sourcePort, string sourceChannel, (uint64,uint64) timeoutHeight, uint64 timeoutTimestamp, bytes data) -func (_Ibchandler *IbchandlerFilterer) WatchSendPacket(opts *bind.WatchOpts, sink chan<- *IbchandlerSendPacket) (event.Subscription, error) { +// Solidity: event ChannelUpgradeTry(string portId, string channelId, uint64 upgradeSequence, (uint8,string[],string) upgradeFields, ((uint64,uint64),uint64) timeout, uint64 nextSequenceSend) +func (_Ibchandler *IbchandlerFilterer) WatchChannelUpgradeTry(opts *bind.WatchOpts, sink chan<- *IbchandlerChannelUpgradeTry) (event.Subscription, error) { - logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "SendPacket") + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "ChannelUpgradeTry") if err != nil { return nil, err } @@ -2106,8 +2396,8 @@ func (_Ibchandler *IbchandlerFilterer) WatchSendPacket(opts *bind.WatchOpts, sin select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(IbchandlerSendPacket) - if err := _Ibchandler.contract.UnpackLog(event, "SendPacket", log); err != nil { + event := new(IbchandlerChannelUpgradeTry) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeTry", log); err != nil { return err } event.Raw = log @@ -2128,22 +2418,697 @@ func (_Ibchandler *IbchandlerFilterer) WatchSendPacket(opts *bind.WatchOpts, sin }), nil } -// ParseSendPacket is a log parse operation binding the contract event 0x2a89ca0e962a61b8115575da63f54bb249cf0137947fc9ab016ac9df88aa347e. +// ParseChannelUpgradeTry is a log parse operation binding the contract event 0x6635f115be80d0284edab9b9348b1910cf6896d0fed6fffaf4d6d67b6f142ac7. // -// Solidity: event SendPacket(uint64 sequence, string sourcePort, string sourceChannel, (uint64,uint64) timeoutHeight, uint64 timeoutTimestamp, bytes data) -func (_Ibchandler *IbchandlerFilterer) ParseSendPacket(log types.Log) (*IbchandlerSendPacket, error) { - event := new(IbchandlerSendPacket) - if err := _Ibchandler.contract.UnpackLog(event, "SendPacket", log); err != nil { +// Solidity: event ChannelUpgradeTry(string portId, string channelId, uint64 upgradeSequence, (uint8,string[],string) upgradeFields, ((uint64,uint64),uint64) timeout, uint64 nextSequenceSend) +func (_Ibchandler *IbchandlerFilterer) ParseChannelUpgradeTry(log types.Log) (*IbchandlerChannelUpgradeTry, error) { + event := new(IbchandlerChannelUpgradeTry) + if err := _Ibchandler.contract.UnpackLog(event, "ChannelUpgradeTry", log); err != nil { return nil, err } event.Raw = log return event, nil } -// IbchandlerTimeoutPacketIterator is returned from FilterTimeoutPacket and is used to iterate over the raw logs and unpacked data for TimeoutPacket events raised by the Ibchandler contract. -type IbchandlerTimeoutPacketIterator struct { - Event *IbchandlerTimeoutPacket // Event containing the contract specifics and raw log - +// IbchandlerGeneratedChannelIdentifierIterator is returned from FilterGeneratedChannelIdentifier and is used to iterate over the raw logs and unpacked data for GeneratedChannelIdentifier events raised by the Ibchandler contract. +type IbchandlerGeneratedChannelIdentifierIterator struct { + Event *IbchandlerGeneratedChannelIdentifier // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *IbchandlerGeneratedChannelIdentifierIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(IbchandlerGeneratedChannelIdentifier) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(IbchandlerGeneratedChannelIdentifier) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *IbchandlerGeneratedChannelIdentifierIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *IbchandlerGeneratedChannelIdentifierIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// IbchandlerGeneratedChannelIdentifier represents a GeneratedChannelIdentifier event raised by the Ibchandler contract. +type IbchandlerGeneratedChannelIdentifier struct { + ChannelId string + Raw types.Log // Blockchain specific contextual infos +} + +// FilterGeneratedChannelIdentifier is a free log retrieval operation binding the contract event 0x01fb9b8778b6fb840b058bb971dea3ba81c167b010a0216afe600826884f9ba7. +// +// Solidity: event GeneratedChannelIdentifier(string channelId) +func (_Ibchandler *IbchandlerFilterer) FilterGeneratedChannelIdentifier(opts *bind.FilterOpts) (*IbchandlerGeneratedChannelIdentifierIterator, error) { + + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "GeneratedChannelIdentifier") + if err != nil { + return nil, err + } + return &IbchandlerGeneratedChannelIdentifierIterator{contract: _Ibchandler.contract, event: "GeneratedChannelIdentifier", logs: logs, sub: sub}, nil +} + +// WatchGeneratedChannelIdentifier is a free log subscription operation binding the contract event 0x01fb9b8778b6fb840b058bb971dea3ba81c167b010a0216afe600826884f9ba7. +// +// Solidity: event GeneratedChannelIdentifier(string channelId) +func (_Ibchandler *IbchandlerFilterer) WatchGeneratedChannelIdentifier(opts *bind.WatchOpts, sink chan<- *IbchandlerGeneratedChannelIdentifier) (event.Subscription, error) { + + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "GeneratedChannelIdentifier") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(IbchandlerGeneratedChannelIdentifier) + if err := _Ibchandler.contract.UnpackLog(event, "GeneratedChannelIdentifier", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseGeneratedChannelIdentifier is a log parse operation binding the contract event 0x01fb9b8778b6fb840b058bb971dea3ba81c167b010a0216afe600826884f9ba7. +// +// Solidity: event GeneratedChannelIdentifier(string channelId) +func (_Ibchandler *IbchandlerFilterer) ParseGeneratedChannelIdentifier(log types.Log) (*IbchandlerGeneratedChannelIdentifier, error) { + event := new(IbchandlerGeneratedChannelIdentifier) + if err := _Ibchandler.contract.UnpackLog(event, "GeneratedChannelIdentifier", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// IbchandlerGeneratedClientIdentifierIterator is returned from FilterGeneratedClientIdentifier and is used to iterate over the raw logs and unpacked data for GeneratedClientIdentifier events raised by the Ibchandler contract. +type IbchandlerGeneratedClientIdentifierIterator struct { + Event *IbchandlerGeneratedClientIdentifier // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *IbchandlerGeneratedClientIdentifierIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(IbchandlerGeneratedClientIdentifier) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(IbchandlerGeneratedClientIdentifier) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *IbchandlerGeneratedClientIdentifierIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *IbchandlerGeneratedClientIdentifierIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// IbchandlerGeneratedClientIdentifier represents a GeneratedClientIdentifier event raised by the Ibchandler contract. +type IbchandlerGeneratedClientIdentifier struct { + ClientId string + Raw types.Log // Blockchain specific contextual infos +} + +// FilterGeneratedClientIdentifier is a free log retrieval operation binding the contract event 0x601bfcc455d5d4d7738f8c6ac232e0d7cc9c31dab811f1d87c100af0b7fc3a20. +// +// Solidity: event GeneratedClientIdentifier(string clientId) +func (_Ibchandler *IbchandlerFilterer) FilterGeneratedClientIdentifier(opts *bind.FilterOpts) (*IbchandlerGeneratedClientIdentifierIterator, error) { + + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "GeneratedClientIdentifier") + if err != nil { + return nil, err + } + return &IbchandlerGeneratedClientIdentifierIterator{contract: _Ibchandler.contract, event: "GeneratedClientIdentifier", logs: logs, sub: sub}, nil +} + +// WatchGeneratedClientIdentifier is a free log subscription operation binding the contract event 0x601bfcc455d5d4d7738f8c6ac232e0d7cc9c31dab811f1d87c100af0b7fc3a20. +// +// Solidity: event GeneratedClientIdentifier(string clientId) +func (_Ibchandler *IbchandlerFilterer) WatchGeneratedClientIdentifier(opts *bind.WatchOpts, sink chan<- *IbchandlerGeneratedClientIdentifier) (event.Subscription, error) { + + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "GeneratedClientIdentifier") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(IbchandlerGeneratedClientIdentifier) + if err := _Ibchandler.contract.UnpackLog(event, "GeneratedClientIdentifier", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseGeneratedClientIdentifier is a log parse operation binding the contract event 0x601bfcc455d5d4d7738f8c6ac232e0d7cc9c31dab811f1d87c100af0b7fc3a20. +// +// Solidity: event GeneratedClientIdentifier(string clientId) +func (_Ibchandler *IbchandlerFilterer) ParseGeneratedClientIdentifier(log types.Log) (*IbchandlerGeneratedClientIdentifier, error) { + event := new(IbchandlerGeneratedClientIdentifier) + if err := _Ibchandler.contract.UnpackLog(event, "GeneratedClientIdentifier", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// IbchandlerGeneratedConnectionIdentifierIterator is returned from FilterGeneratedConnectionIdentifier and is used to iterate over the raw logs and unpacked data for GeneratedConnectionIdentifier events raised by the Ibchandler contract. +type IbchandlerGeneratedConnectionIdentifierIterator struct { + Event *IbchandlerGeneratedConnectionIdentifier // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *IbchandlerGeneratedConnectionIdentifierIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(IbchandlerGeneratedConnectionIdentifier) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(IbchandlerGeneratedConnectionIdentifier) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *IbchandlerGeneratedConnectionIdentifierIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *IbchandlerGeneratedConnectionIdentifierIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// IbchandlerGeneratedConnectionIdentifier represents a GeneratedConnectionIdentifier event raised by the Ibchandler contract. +type IbchandlerGeneratedConnectionIdentifier struct { + ConnectionId string + Raw types.Log // Blockchain specific contextual infos +} + +// FilterGeneratedConnectionIdentifier is a free log retrieval operation binding the contract event 0xbcf8ae1e9272e040280c9adfc8033bb831043a9959e37ef4af1f7e8ded16321b. +// +// Solidity: event GeneratedConnectionIdentifier(string connectionId) +func (_Ibchandler *IbchandlerFilterer) FilterGeneratedConnectionIdentifier(opts *bind.FilterOpts) (*IbchandlerGeneratedConnectionIdentifierIterator, error) { + + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "GeneratedConnectionIdentifier") + if err != nil { + return nil, err + } + return &IbchandlerGeneratedConnectionIdentifierIterator{contract: _Ibchandler.contract, event: "GeneratedConnectionIdentifier", logs: logs, sub: sub}, nil +} + +// WatchGeneratedConnectionIdentifier is a free log subscription operation binding the contract event 0xbcf8ae1e9272e040280c9adfc8033bb831043a9959e37ef4af1f7e8ded16321b. +// +// Solidity: event GeneratedConnectionIdentifier(string connectionId) +func (_Ibchandler *IbchandlerFilterer) WatchGeneratedConnectionIdentifier(opts *bind.WatchOpts, sink chan<- *IbchandlerGeneratedConnectionIdentifier) (event.Subscription, error) { + + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "GeneratedConnectionIdentifier") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(IbchandlerGeneratedConnectionIdentifier) + if err := _Ibchandler.contract.UnpackLog(event, "GeneratedConnectionIdentifier", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseGeneratedConnectionIdentifier is a log parse operation binding the contract event 0xbcf8ae1e9272e040280c9adfc8033bb831043a9959e37ef4af1f7e8ded16321b. +// +// Solidity: event GeneratedConnectionIdentifier(string connectionId) +func (_Ibchandler *IbchandlerFilterer) ParseGeneratedConnectionIdentifier(log types.Log) (*IbchandlerGeneratedConnectionIdentifier, error) { + event := new(IbchandlerGeneratedConnectionIdentifier) + if err := _Ibchandler.contract.UnpackLog(event, "GeneratedConnectionIdentifier", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// IbchandlerRecvPacketIterator is returned from FilterRecvPacket and is used to iterate over the raw logs and unpacked data for RecvPacket events raised by the Ibchandler contract. +type IbchandlerRecvPacketIterator struct { + Event *IbchandlerRecvPacket // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *IbchandlerRecvPacketIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(IbchandlerRecvPacket) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(IbchandlerRecvPacket) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *IbchandlerRecvPacketIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *IbchandlerRecvPacketIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// IbchandlerRecvPacket represents a RecvPacket event raised by the Ibchandler contract. +type IbchandlerRecvPacket struct { + Packet Packet + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRecvPacket is a free log retrieval operation binding the contract event 0x346f4351ee865d86a679d00f3995f0520f803d3a227604af08430e26e9345a7a. +// +// Solidity: event RecvPacket((uint64,string,string,string,string,bytes,(uint64,uint64),uint64) packet) +func (_Ibchandler *IbchandlerFilterer) FilterRecvPacket(opts *bind.FilterOpts) (*IbchandlerRecvPacketIterator, error) { + + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "RecvPacket") + if err != nil { + return nil, err + } + return &IbchandlerRecvPacketIterator{contract: _Ibchandler.contract, event: "RecvPacket", logs: logs, sub: sub}, nil +} + +// WatchRecvPacket is a free log subscription operation binding the contract event 0x346f4351ee865d86a679d00f3995f0520f803d3a227604af08430e26e9345a7a. +// +// Solidity: event RecvPacket((uint64,string,string,string,string,bytes,(uint64,uint64),uint64) packet) +func (_Ibchandler *IbchandlerFilterer) WatchRecvPacket(opts *bind.WatchOpts, sink chan<- *IbchandlerRecvPacket) (event.Subscription, error) { + + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "RecvPacket") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(IbchandlerRecvPacket) + if err := _Ibchandler.contract.UnpackLog(event, "RecvPacket", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseRecvPacket is a log parse operation binding the contract event 0x346f4351ee865d86a679d00f3995f0520f803d3a227604af08430e26e9345a7a. +// +// Solidity: event RecvPacket((uint64,string,string,string,string,bytes,(uint64,uint64),uint64) packet) +func (_Ibchandler *IbchandlerFilterer) ParseRecvPacket(log types.Log) (*IbchandlerRecvPacket, error) { + event := new(IbchandlerRecvPacket) + if err := _Ibchandler.contract.UnpackLog(event, "RecvPacket", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// IbchandlerSendPacketIterator is returned from FilterSendPacket and is used to iterate over the raw logs and unpacked data for SendPacket events raised by the Ibchandler contract. +type IbchandlerSendPacketIterator struct { + Event *IbchandlerSendPacket // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *IbchandlerSendPacketIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(IbchandlerSendPacket) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(IbchandlerSendPacket) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *IbchandlerSendPacketIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *IbchandlerSendPacketIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// IbchandlerSendPacket represents a SendPacket event raised by the Ibchandler contract. +type IbchandlerSendPacket struct { + Sequence uint64 + SourcePort string + SourceChannel string + TimeoutHeight HeightData + TimeoutTimestamp uint64 + Data []byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterSendPacket is a free log retrieval operation binding the contract event 0x2a89ca0e962a61b8115575da63f54bb249cf0137947fc9ab016ac9df88aa347e. +// +// Solidity: event SendPacket(uint64 sequence, string sourcePort, string sourceChannel, (uint64,uint64) timeoutHeight, uint64 timeoutTimestamp, bytes data) +func (_Ibchandler *IbchandlerFilterer) FilterSendPacket(opts *bind.FilterOpts) (*IbchandlerSendPacketIterator, error) { + + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "SendPacket") + if err != nil { + return nil, err + } + return &IbchandlerSendPacketIterator{contract: _Ibchandler.contract, event: "SendPacket", logs: logs, sub: sub}, nil +} + +// WatchSendPacket is a free log subscription operation binding the contract event 0x2a89ca0e962a61b8115575da63f54bb249cf0137947fc9ab016ac9df88aa347e. +// +// Solidity: event SendPacket(uint64 sequence, string sourcePort, string sourceChannel, (uint64,uint64) timeoutHeight, uint64 timeoutTimestamp, bytes data) +func (_Ibchandler *IbchandlerFilterer) WatchSendPacket(opts *bind.WatchOpts, sink chan<- *IbchandlerSendPacket) (event.Subscription, error) { + + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "SendPacket") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(IbchandlerSendPacket) + if err := _Ibchandler.contract.UnpackLog(event, "SendPacket", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseSendPacket is a log parse operation binding the contract event 0x2a89ca0e962a61b8115575da63f54bb249cf0137947fc9ab016ac9df88aa347e. +// +// Solidity: event SendPacket(uint64 sequence, string sourcePort, string sourceChannel, (uint64,uint64) timeoutHeight, uint64 timeoutTimestamp, bytes data) +func (_Ibchandler *IbchandlerFilterer) ParseSendPacket(log types.Log) (*IbchandlerSendPacket, error) { + event := new(IbchandlerSendPacket) + if err := _Ibchandler.contract.UnpackLog(event, "SendPacket", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// IbchandlerTimeoutPacketIterator is returned from FilterTimeoutPacket and is used to iterate over the raw logs and unpacked data for TimeoutPacket events raised by the Ibchandler contract. +type IbchandlerTimeoutPacketIterator struct { + Event *IbchandlerTimeoutPacket // Event containing the contract specifics and raw log + contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -2209,7 +3174,7 @@ func (it *IbchandlerTimeoutPacketIterator) Close() error { // IbchandlerTimeoutPacket represents a TimeoutPacket event raised by the Ibchandler contract. type IbchandlerTimeoutPacket struct { - Packet PacketData + Packet Packet Raw types.Log // Blockchain specific contextual infos } @@ -2410,3 +3375,140 @@ func (_Ibchandler *IbchandlerFilterer) ParseWriteAcknowledgement(log types.Log) event.Raw = log return event, nil } + +// IbchandlerWriteErrorReceiptIterator is returned from FilterWriteErrorReceipt and is used to iterate over the raw logs and unpacked data for WriteErrorReceipt events raised by the Ibchandler contract. +type IbchandlerWriteErrorReceiptIterator struct { + Event *IbchandlerWriteErrorReceipt // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *IbchandlerWriteErrorReceiptIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(IbchandlerWriteErrorReceipt) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(IbchandlerWriteErrorReceipt) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *IbchandlerWriteErrorReceiptIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *IbchandlerWriteErrorReceiptIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// IbchandlerWriteErrorReceipt represents a WriteErrorReceipt event raised by the Ibchandler contract. +type IbchandlerWriteErrorReceipt struct { + PortId string + ChannelId string + UpgradeSequence uint64 + Message string + Raw types.Log // Blockchain specific contextual infos +} + +// FilterWriteErrorReceipt is a free log retrieval operation binding the contract event 0xef7ecb538ba766888f61a77318bf9fe298813d0ea1c94781985411946e1daa34. +// +// Solidity: event WriteErrorReceipt(string portId, string channelId, uint64 upgradeSequence, string message) +func (_Ibchandler *IbchandlerFilterer) FilterWriteErrorReceipt(opts *bind.FilterOpts) (*IbchandlerWriteErrorReceiptIterator, error) { + + logs, sub, err := _Ibchandler.contract.FilterLogs(opts, "WriteErrorReceipt") + if err != nil { + return nil, err + } + return &IbchandlerWriteErrorReceiptIterator{contract: _Ibchandler.contract, event: "WriteErrorReceipt", logs: logs, sub: sub}, nil +} + +// WatchWriteErrorReceipt is a free log subscription operation binding the contract event 0xef7ecb538ba766888f61a77318bf9fe298813d0ea1c94781985411946e1daa34. +// +// Solidity: event WriteErrorReceipt(string portId, string channelId, uint64 upgradeSequence, string message) +func (_Ibchandler *IbchandlerFilterer) WatchWriteErrorReceipt(opts *bind.WatchOpts, sink chan<- *IbchandlerWriteErrorReceipt) (event.Subscription, error) { + + logs, sub, err := _Ibchandler.contract.WatchLogs(opts, "WriteErrorReceipt") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(IbchandlerWriteErrorReceipt) + if err := _Ibchandler.contract.UnpackLog(event, "WriteErrorReceipt", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseWriteErrorReceipt is a log parse operation binding the contract event 0xef7ecb538ba766888f61a77318bf9fe298813d0ea1c94781985411946e1daa34. +// +// Solidity: event WriteErrorReceipt(string portId, string channelId, uint64 upgradeSequence, string message) +func (_Ibchandler *IbchandlerFilterer) ParseWriteErrorReceipt(log types.Log) (*IbchandlerWriteErrorReceipt, error) { + event := new(IbchandlerWriteErrorReceipt) + if err := _Ibchandler.contract.UnpackLog(event, "WriteErrorReceipt", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/pkg/relay/ethereum/msg.go b/pkg/relay/ethereum/msg.go index 0a5de8b..54b98d8 100644 --- a/pkg/relay/ethereum/msg.go +++ b/pkg/relay/ethereum/msg.go @@ -72,19 +72,19 @@ func (c *Chain) parseMsgEventLogs(logs []*types.Log) ([]core.MsgEventLog, error) if err != nil { return nil, fmt.Errorf("failed to parse GeneratedClientIdentifier event: logIndex=%d, log=%v", i, log) } - event = &core.EventGenerateClientIdentifier{ID: ev.Arg0} + event = &core.EventGenerateClientIdentifier{ID: ev.ClientId} case abiGeneratedConnectionIdentifier.ID: ev, err := c.ibcHandler.ParseGeneratedConnectionIdentifier(*log) if err != nil { return nil, fmt.Errorf("failed to parse GeneratedConnectionIdentifier event: logIndex=%d, log=%v", i, log) } - event = &core.EventGenerateConnectionIdentifier{ID: ev.Arg0} + event = &core.EventGenerateConnectionIdentifier{ID: ev.ConnectionId} case abiGeneratedChannelIdentifier.ID: ev, err := c.ibcHandler.ParseGeneratedChannelIdentifier(*log) if err != nil { return nil, fmt.Errorf("failed to parse GeneratedChannelIdentifier event: logIndex=%d, log=%v", i, log) } - event = &core.EventGenerateChannelIdentifier{ID: ev.Arg0} + event = &core.EventGenerateChannelIdentifier{ID: ev.ChannelId} case abiSendPacket.ID: ev, err := c.ibcHandler.ParseSendPacket(*log) if err != nil { diff --git a/pkg/relay/ethereum/tx.go b/pkg/relay/ethereum/tx.go index a641887..0e67ceb 100644 --- a/pkg/relay/ethereum/tx.go +++ b/pkg/relay/ethereum/tx.go @@ -291,7 +291,7 @@ func (c *Chain) TxChannelOpenConfirm(opts *bind.TransactOpts, msg *chantypes.Msg func (c *Chain) TxRecvPacket(opts *bind.TransactOpts, msg *chantypes.MsgRecvPacket) (*gethtypes.Transaction, error) { return c.ibcHandler.RecvPacket(opts, ibchandler.IIBCChannelRecvPacketMsgPacketRecv{ - Packet: ibchandler.PacketData{ + Packet: ibchandler.Packet{ Sequence: msg.Packet.Sequence, SourcePort: msg.Packet.SourcePort, SourceChannel: msg.Packet.SourceChannel, @@ -308,7 +308,7 @@ func (c *Chain) TxRecvPacket(opts *bind.TransactOpts, msg *chantypes.MsgRecvPack func (c *Chain) TxAcknowledgement(opts *bind.TransactOpts, msg *chantypes.MsgAcknowledgement) (*gethtypes.Transaction, error) { return c.ibcHandler.AcknowledgePacket(opts, ibchandler.IIBCChannelAcknowledgePacketMsgPacketAcknowledgement{ - Packet: ibchandler.PacketData{ + Packet: ibchandler.Packet{ Sequence: msg.Packet.Sequence, SourcePort: msg.Packet.SourcePort, SourceChannel: msg.Packet.SourceChannel, diff --git a/yui-ibc-solidity b/yui-ibc-solidity index 7e108d9..3ccaf71 160000 --- a/yui-ibc-solidity +++ b/yui-ibc-solidity @@ -1 +1 @@ -Subproject commit 7e108d9d4830bae46f2a219b52b83569ec3c8750 +Subproject commit 3ccaf71d63dc9fd54bd629a3800d74c0fcea1237