- (apps/transfer) #1907 Blocked module account addresses are no longer allowed to send IBC transfers.
- (modules/light-clients/07-tendermint) #1713 Allow client upgrade proposals to update
TrustingPeriod
. See ADR-026 for context. - (core/02-client) #1570 Emitting an event when handling an upgrade client proposal.
- (app/20-transfer) #1680 Adds migration to correct any malformed trace path information of tokens with denoms that contains slashes. The transfer module consensus version has been bumped to 2.
- (app/20-transfer) #1730 parse the ics20 denomination provided via a packet using the channel identifier format specified by ibc-go. <<<<<<< HEAD =======
- (cleanup) #1335
gofumpt -w -l .
to standardize the code layout more strictly thango fmt ./...
- (middleware) #1022 Add
GetAppVersion
to the ICS4Wrapper interface. This function should be used by IBC applications to obtain their own version since the version set in the channel structure may be wrapped many times by middleware. - (modules/core/04-channel) #1232 Updating params on
NewPacketID
and moving to bottom of file. - (modules/core/04-channel) #1232 Updating params on
NewPacketId
and moving to bottom of file. - (app/29-fee) #1305 Change version string for fee module to
ics29-1
- (app/29-fee) #1341 Check if the fee module is locked and if the fee module is enabled before refunding all fees
- (transfer) #1414 Emitting Sender address from
fungible_token_packet
events inOnRecvPacket
andOnAcknowledgementPacket
. - (testing/simapp) #1397 Adding mock module to maccperms and adding check to ensure mock module is not a blocked account address.
- (modules/light-clients/07-tendermint) #1713 Allow client upgrade proposals to update
TrustingPeriod
. See ADR-026 for context. - (modules/core/02-client) #1188 Routing
MsgSubmitMisbehaviour
toUpdateClient
keeper function. DeprecatingSubmitMisbehaviour
endpoint. - (modules/core/02-client) #1208 Replace
CheckHeaderAndUpdateState
usage in 02-client with calls toVerifyClientMessage
,CheckForMisbehaviour
,UpdateStateOnMisbehaviour
andUpdateState
. - (modules/light-clients/09-localhost) #1187 Removing localhost light client implementation as it is not functional. An upgrade handler is provided in
modules/migrations/v5
to prune09-localhost
clients and consensus states from the store. - #1186 Removing
GetRoot
function from ConsensusState interface in02-client
.GetRoot
is unused by core IBC. - (modules/core/02-client) #1196 Adding VerifyClientMessage to ClientState interface.
- (modules/core/02-client) #1198 Adding UpdateStateOnMisbehaviour to ClientState interface.
- (modules/core/02-client) #1170 Updating
ClientUpdateProposal
to set client state in lightclient implementationsCheckSubstituteAndUpdateState
methods. - (modules/core/02-client) #1197 Adding
CheckForMisbehaviour
toClientState
interface. - (modules/core/02-client) #1195 Removing
CheckHeaderAndUpdateState
fromClientState
interface & associated light client implementations. - (modules/core/02-client) #1189 Removing
CheckMisbehaviourAndUpdateState
fromClientState
interface & associated light client implementations. - (modules/core/exported) #1206 Adding new method
UpdateState
toClientState
interface. - (modules/core/02-client) #1741 Emitting a new
upgrade_chain
event upon setting upgrade consensus state. - (client) #724
IsRevisionFormat
andIsClientIDFormat
have been updated to disallow newlines before the dash used to separate the chainID and revision number, and the client type and client sequence. - (02-client/cli) #897 Remove
GetClientID()
fromMisbehaviour
interface. Submit client misbehaviour cli command requires an explicit client id now.
- #276 Adding the Fee Middleware module v1
- (apps/29-fee) #1229 Adding CLI commands for getting all unrelayed incentivized packets and packet by packet-id.
- (apps/29-fee) #1224 Adding Query/CounterpartyAddress and CLI to ICS29 fee middleware
- (apps/29-fee) #1225 Adding Query/FeeEnabledChannel and Query/FeeEnabledChannels with CLIs to ICS29 fee middleware.
- (modules/apps/29-fee) #1230 Adding CLI command for getting incentivized packets for a specific channel-id.
- (apps/29-fee) #1774 Change non nil relayer assertion to non empty to avoid import/export issues for genesis upgrades.
- (makefile) #1785 Fetch the correct versions of protocol buffers dependencies from tendermint, cosmos-sdk, and ics23.
- (apps/29-fee) #1278 The URI path for the query to get all incentivized packets for a specific channel did not follow the same format as the rest of queries.
- (light-clients/solomachine) #1839 Fixed usage of the new diversifier in validation of changing diversifiers for the solo machine. The current diversifier must sign over the new diversifier.
- (light-clients/07-tendermint) #1674 Submitted ClientState is zeroed out before checking the proof in order to prevent the proposal from containing information governance is not actually voting on.
- (modules/core/02-client)#1676 ClientState must be zeroed out for
UpgradeProposals
to pass validation. This prevents a proposal containing information governance is not actually voting on. - (modules/core/04-channel)#1919 Fixed formatting of sequence for packet "acknowledgement written" logs.
v3.1.1 - 2022-08-02
- #1525 Bump SDK version to v0.45.5
- (core/02-client) #1570 Emitting an event when handling an upgrade client proposal.
897e7eb (fix: "acknowledgement written" logs unsupported type (#1919))
- (core/client) #1740 Add
cosmos_proto.implements_interface
to adhere to guidelines in Cosmos SDK ADR 019 for annotatinggoogle.protobuf.Any
types
v2.3.0 - 2022-04-16
- (transfer) #1342
DenomTrace
grpc now takes in either anibc denom
or ahash
instead of only accepting ahash
. - (modules/core/04-channel) #1160 Improve
uint64 -> string
performance inLogger
. - (modules/core/keeper) #1284 Add sanity check for the keepers passed into
ibckeeper.NewKeeper
.ibckeeper.NewKeeper
now panics if any of the keepers passed in is empty. - (transfer) #1414 Emitting Sender address from
fungible_token_packet
events inOnRecvPacket
andOnAcknowledgementPacket
. - (modules/core/04-channel) #1464 Emit a channel close event when an ordered channel is closed.
- (modules/light-clients/07-tendermint) #1118 Deprecating
AllowUpdateAfterExpiry
andAllowUpdateAfterMisbehaviour
. See ADR-026 for context.
- (modules/core/02-client) #1336 Adding Query/ConsensusStateHeights gRPC for fetching the height of every consensus state associated with a client.
- (modules/apps/transfer) #1416 Adding gRPC endpoint for getting an escrow account for a given port-id and channel-id.
- (modules/core/04-channel) #1130 Call
packet.GetSequence()
rather than passing func inWriteAcknowledgement
log output - (apps/transfer) #1451 Fixing the support for base denoms that contain slashes.
v2.2.1 - 2022-04-16
- (transfer) #1342
DenomTrace
grpc now takes in either anibc denom
or ahash
instead of only accepting ahash
. - (modules/core/04-channel) #1160 Improve
uint64 -> string
performance inLogger
. - (modules/core/keeper) #1284 Add sanity check for the keepers passed into
ibckeeper.NewKeeper
.ibckeeper.NewKeeper
now panics if any of the keepers passed in is empty. - (transfer) #1414 Emitting Sender address from
fungible_token_packet
events inOnRecvPacket
andOnAcknowledgementPacket
. - (modules/core/04-channel) #1464 Emit a channel close event when an ordered channel is closed.
- (modules/core/04-channel) #1130 Call
packet.GetSequence()
rather than passing func inWriteAcknowledgement
log output
v2.2.0 - 2022-03-15
- #851 Bump SDK version to v0.45.1
v2.1.1 - 2022-04-16
- #1268 Bump SDK version to v0.44.8 and Tendermint to version 0.34.19
- (transfer) #1342
DenomTrace
grpc now takes in either anibc denom
or ahash
instead of only accepting ahash
. - (modules/core/keeper) #1284 Add sanity check for the keepers passed into
ibckeeper.NewKeeper
.ibckeeper.NewKeeper
now panics if any of the keepers passed in is empty. - (transfer) #1414 Emitting Sender address from
fungible_token_packet
events inOnRecvPacket
andOnAcknowledgementPacket
. - (modules/core/04-channel) #1464 Emit a channel close event when an ordered channel is closed.
- (modules/core/04-channel) #1130 Call
packet.GetSequence()
rather than passing func inWriteAcknowledgement
log output
v2.1.0 - 2022-03-15
- (transfer) #818 Error acknowledgements returned from Transfer
OnRecvPacket
now include a deterministic ABCI code and error message.
- #679 New CLI command
query ibc-transfer denom-hash <denom trace>
to get the denom hash for a denom trace; this might be useful for debug
- (client) #941 Classify client states without consensus states as expired
- (transfer) #978 Support base denoms with slashes in denom validation
- (channel) #995 Call
packet.GetSequence()
rather than passing func inAcknowledgePacket
log output
v2.0.3 - 2022-02-03
- (channel) #692 Minimize channel logging by only emitting the packet sequence, source port/channel, destination port/channel upon packet receives, acknowledgements and timeouts.
v2.0.2 - 2021-12-15
- #589 Bump SDK version to v0.44.5
- (modules/core) #603 Fix module name emitted as part of
OnChanOpenInit
event. Replacingconnection
module name withchannel
.
v2.0.1 - 2021-12-05
- #567 Bump SDK version to v0.44.4
- (02-client) #568 In IBC
transfer
cli command use local clock time as reference for relative timestamp timeout if greater than the block timestamp queried from the latest consensus state corresponding to the counterparty channel. - #583 Move third_party/proto/confio/proofs.proto to third_party/proto/proofs.proto to enable proto service reflection. Migrate
buf
from v1beta1 to v1.
- (02-client) #500 Fix IBC
update-client proposal
cli command to expect correct number of args.
v2.0.0 - 2021-11-09
- (core) #227 Remove sdk.Result from application callbacks
- (transfer) #350 Change FungibleTokenPacketData to use a string for the Amount field. This enables token transfers with amounts previously restricted by uint64. Up to the maximum uint256 value is supported.
- #384 Added
NegotiateAppVersion
method toIBCModule
interface supported by a gRPC query service in05-port
. This provides routing of requests to the desired application module callback, which in turn performs application version negotiation.
v1.5.0 - 2022-06-14
- (transfer) #1342
DenomTrace
grpc now takes in either anibc denom
or ahash
instead of only accepting ahash
. - (modules/core/04-channel) #1160 Improve
uint64 -> string
performance inLogger
. - (modules/core/keeper) #1284 Add sanity check for the keepers passed into
ibckeeper.NewKeeper
.ibckeeper.NewKeeper
now panics if any of the keepers passed in is empty. - (transfer) #1414 Emitting Sender address from
fungible_token_packet
events inOnRecvPacket
andOnAcknowledgementPacket
. - (modules/core/04-channel) #1464 Emit a channel close event when an ordered channel is closed.
- (modules/light-clients/07-tendermint) #1118 Deprecating
AllowUpdateAfterExpiry
andAllowUpdateAfterMisbehaviour
. See ADR-026 for context.
- (modules/core/02-client) #1336 Adding Query/ConsensusStateHeights gRPC for fetching the height of every consensus state associated with a client.
- (modules/apps/transfer) #1416 Adding gRPC endpoint for getting an escrow account for a given port-id and channel-id.
- (modules/core/04-channel) #1130 Call
packet.GetSequence()
rather than passing func inWriteAcknowledgement
log output - (apps/transfer) #1451 Fixing the support for base denoms that contain slashes.
v1.4.1 - 2022-06-14
- (transfer) #1342
DenomTrace
grpc now takes in either anibc denom
or ahash
instead of only accepting ahash
. - (modules/core/04-channel) #1160 Improve
uint64 -> string
performance inLogger
. - (modules/core/keeper) #1284 Add sanity check for the keepers passed into
ibckeeper.NewKeeper
.ibckeeper.NewKeeper
now panics if any of the keepers passed in is empty. - (transfer) #1414 Emitting Sender address from
fungible_token_packet
events inOnRecvPacket
andOnAcknowledgementPacket
. - (modules/core/04-channel) #1464 Emit a channel close event when an ordered channel is closed.
- (modules/core/04-channel) #1130 Call
packet.GetSequence()
rather than passing func inWriteAcknowledgement
log output
v1.4.0 - 2022-03-15
- #851 Bump SDK version to v0.45.1
v1.3.1 - 2022-06-14
- #1267 Bump SDK version to v0.44.8 and Tendermint to version 0.34.19
- (transfer) #1342
DenomTrace
grpc now takes in either anibc denom
or ahash
instead of only accepting ahash
. - (modules/core/04-channel) #1160 Improve
uint64 -> string
performance inLogger
. - (modules/core/keeper) #1284 Add sanity check for the keepers passed into
ibckeeper.NewKeeper
.ibckeeper.NewKeeper
now panics if any of the keepers passed in is empty. - (transfer) #1414 Emitting Sender address from
fungible_token_packet
events inOnRecvPacket
andOnAcknowledgementPacket
. - (modules/core/04-channel) #1464 Emit a channel close event when an ordered channel is closed.
- (modules/core/04-channel) #1130 Call
packet.GetSequence()
rather than passing func inWriteAcknowledgement
log output
v1.3.0 - 2022-03-15
- (transfer) #818 Error acknowledgements returned from Transfer
OnRecvPacket
now include a deterministic ABCI code and error message.
- #679 New CLI command
query ibc-transfer denom-hash <denom trace>
to get the denom hash for a denom trace; this might be useful for debug
- (client) #941 Classify client states without consensus states as expired
- (transfer) #978 Support base denoms with slashes in denom validation
- (channel) #995 Call
packet.GetSequence()
rather than passing func inAcknowledgePacket
log output
v1.2.6 - 2022-01-25
- (channel) #692 Minimize channel logging by only emitting the packet sequence, source port/channel, destination port/channel upon packet receives, acknowledgements and timeouts.
v1.2.5 - 2021-12-15
- #589 Bump SDK version to v0.44.5
- (modules/core) #603 Fix module name emitted as part of
OnChanOpenInit
event. Replacingconnection
module name withchannel
.
v1.2.4 - 2021-12-05
- #567 Bump SDK version to v0.44.4
- #583 Move third_party/proto/confio/proofs.proto to third_party/proto/proofs.proto to enable proto service reflection. Migrate
buf
from v1beta1 to v1.
v1.2.3 - 2021-11-09
v1.2.2 - 2021-10-15
- #485 Bump SDK version to v0.44.2
v1.2.1 - 2021-10-04
- #455 Bump SDK version to v0.44.1
v1.2.0 - 2021-09-10
- (24-host) #344 Increase port identifier limit to 128 characters.
- #373 Added optional field
PacketCommitmentSequences
toQueryPacketAcknowledgementsRequest
to provide filtering of packet acknowledgements.
- #372 New CLI command
query ibc client status <client id>
to get the current activity status of a client.
- #386 Bump tendermint from v0.34.12 to v0.34.13.
v1.1.6 - 2022-01-25
- (channel) #692 Minimize channel logging by only emitting the packet sequence, source port/channel, destination port/channel upon packet receives, acknowledgements and timeouts.
v1.1.5 - 2021-12-15
- #589 Bump SDK version to v0.44.5
- (modules/core) #603 Fix module name emitted as part of
OnChanOpenInit
event. Replacingconnection
module name withchannel
.
v1.1.4 - 2021-12-05
- #567 Bump SDK version to v0.44.4
- #583 Move third_party/proto/confio/proofs.proto to third_party/proto/proofs.proto to enable proto service reflection. Migrate
buf
from v1beta1 to v1.
v1.1.3 - 2021-11-09
v1.1.2 - 2021-10-15
- #485 Bump SDK version to v0.44.2
v1.1.1 - 2021-10-04
- #455 Bump SDK version to v0.44.1
v1.1.0 - 2021-09-03
- #367 Bump cosmos-sdk from 0.43 to 0.44.
v1.0.1 - 2021-08-25
- #343 Create helper functions for publishing of packet sent and acknowledgement sent events.
v1.0.0 - 2021-08-10
- (07-tendermint) #241 Ensure tendermint client state latest height revision number matches chain id revision number.
- (07-tendermint) #234 Use sentinel value for the consensus state root set during a client upgrade. This prevents genesis validation from failing.
- (modules) #223 Use correct Prometheus format for metric labels.
- (06-solomachine) #214 Disable defensive timestamp check in SendPacket for solo machine clients.
- (07-tendermint) #210 Export all consensus metadata on genesis restarts for tendermint clients.
- (core) #200 Fixes incorrect export of IBC identifier sequences. Previously, the next identifier sequence for clients/connections/channels was not set during genesis export. This resulted in the next identifiers being generated on the new chain to reuse old identifiers (the sequences began again from 0).
- (02-client) #192 Fix IBC
query ibc client header
cli command. Support historical queries for query header/node-state commands. - (modules/light-clients/06-solomachine) #153 Fix solo machine proof height sequence mismatch bug.
- (modules/light-clients/06-solomachine) #122 Fix solo machine merkle prefix casting bug.
- (modules/light-clients/06-solomachine) #120 Fix solo machine handshake verification bug.
- (modules/light-clients/06-solomachine) #153 fix solo machine connection handshake failure at
ConnectionOpenAck
.
- (04-channel) #220 Channel legacy handler functions were removed. Please use the MsgServer functions or directly call the channel keeper's handshake function.
- (modules) #206 Expose
relayer sdk.AccAddress
onOnRecvPacket
,OnAcknowledgementPacket
,OnTimeoutPacket
module callbacks to enable incentivization. - (02-client) #181 Remove 'InitialHeight' from UpdateClient Proposal. Only copy over latest consensus state from substitute client.
- (06-solomachine) #169 Change FrozenSequence to boolean in solomachine ClientState. The solo machine proto package has been bumped from
v1
tov2
. - (module/core/02-client) #165 Remove GetFrozenHeight from the ClientState interface.
- (modules) #166 Remove GetHeight from the misbehaviour interface. The
consensus_height
attribute has been removed from Misbehaviour events. - (modules) #162 Remove deprecated Handler types in core IBC and the ICS 20 transfer module.
- (modules/core) #161 Remove Type(), Route(), GetSignBytes() from 02-client, 03-connection, and 04-channel messages.
- (modules) #140 IsFrozen() client state interface changed to Status(). gRPC
ClientStatus
route added. - (modules/core) #109 Remove connection and channel handshake CLI commands.
- (modules) #107 Modify OnRecvPacket callback to return an acknowledgement which indicates if it is successful or not. Callback state changes are discarded for unsuccessful acknowledgements only.
- (modules) #108 All message constructors take the signer as a string to prevent upstream bugs. The
String()
function for an SDK Acc Address relies on external context. - (transfer) #275 Remove 'ChanCloseInit' function from transfer keeper. ICS20 does not close channels.
- (modules/light-clients/07-tendermint) #99 Enforce maximum chain-id length for tendermint client.
- (modules/light-clients/07-tendermint) #141 Allow a new form of misbehaviour that proves counterparty chain breaks time monotonicity, automatically enforce monotonicity in UpdateClient and freeze client if monotonicity is broken.
- (modules/light-clients/07-tendermint) #141 Freeze the client if there's a conflicting header submitted for an existing consensus state.
- (modules/core/02-client) #8405 Refactor IBC client update governance proposals to use a substitute client to update a frozen or expired client.
- (modules/core/02-client) #8673 IBC upgrade logic moved to 02-client and an IBC UpgradeProposal is added.
- (modules/core/03-connection) #171 Introduces a new parameter
MaxExpectedTimePerBlock
to allow connections to calculate and enforce a block delay that is proportional to time delay set by connection. - (core) #268 Perform a no-op on redundant relay messages. Previous behaviour returned an error. Now no state change will occur and no error will be returned.
- (04-channel) #220 Channel handshake events are now emitted with the channel keeper.
- (core/02-client) #205 Add in-place and genesis migrations from SDK v0.42.0 to ibc-go v1.0.0. Solo machine protobuf defintions are migrated from v1 to v2. All solo machine consensus states are pruned. All expired tendermint consensus states are pruned.
- (modules/core) #184 Improve error messages. Uses unique error codes to indicate already relayed packets.
- (07-tendermint) #182 Remove duplicate checks in upgrade logic.
- (modules/core/04-channel) #7949 Standardized channel
Acknowledgement
moved to its own file. Codec registration redundancy removed. - (modules/core/04-channel) #144 Introduced a
packet_data_hex
attribute to emit the hex-encoded packet data in events. This allows for raw binary (proto-encoded message) to be sent over events and decoded correctly on relayer. Originalpacket_data
is DEPRECATED. All relayers and IBC event consumers are encouraged to switch topacket_data_hex
as soon as possible. - (core/04-channel) #197 Introduced a
packet_ack_hex
attribute to emit the hex-encoded acknowledgement in events. This allows for raw binary (proto-encoded message) to be sent over events and decoded correctly on relayer. Originalpacket_ack
is DEPRECATED. All relayers and IBC event consumers are encouraged to switch topacket_ack_hex
as soon as possible. - (modules/light-clients/07-tendermint) #125 Implement efficient iteration of consensus states and pruning of earliest expired consensus state on UpdateClient.
- (modules/light-clients/07-tendermint) #141 Return early in case there's a duplicate update call to save Gas.
- (modules/core/ante) #235 Introduces a new IBC Antedecorator that will reject transactions that only contain redundant packet messages (and accompany UpdateClient msgs). This will prevent relayers from wasting fees by submitting messages for packets that have already been processed by previous relayer(s). The Antedecorator is only applied on CheckTx and RecheckTx and is therefore optional for each node.
- #198 New CLI command
query ibc-transfer escrow-address <port> <channel id>
to get the escrow address for a channel; can be used to then query balance of escrowed tokens
- (02-client/cli) #196 Rename
node-state
cli command toself-consensus-state
.
The IBC module was originally released in v0.40.0 of the SDK. Please see the Release Notes.
The IBC module is also contained in the releases for v0.41.x and v0.42.x. Please see the Release Notes for v0.41.x and v0.42.x.
The IBC module was removed in the commit hash da064e13d56add466548135739c5860a9f7ed842 on the SDK. The release for SDK v0.43.0 will be the first release without the IBC module.
Backports should be made to the release/v0.42.x branch on the SDK.