Releases: srdtrk/cw-ica-controller
v0.5.0
Description
In this release;
- I added support for UNORDERED ICA channels which is supported if the counterparty chain is using
ibc-go v8.1+
. - A added a
ExecuteMsg::CloseChannel
which is supported in all versions. - The channel can now be reopened with different parameters such as ordering using
ExecuteMsg::CreateChannel
. (This means you can upgrade your ordered channel to unordered by simply closing the channel and then creating a new channel.)
v0.4.2
v0.4.1
v0.4.0
Description
In this release, I've focused on solidifying the API and maintenance. Underlying chain's CosmWasm requirement is raised to v1.3+
since v1.2
has reached end of life. This means I've added support for a CosmWasm v1.3 specific CosmosMsg
which is DistributionMsg::FundCommunityPool
in ExecuteMsg::SendCosmosMsgs
.
Other notable changes include:
InstantiateMsg
'schannel_open_init_options
field is now required. (#53)CallbackCounter
is removed. (#44)- Relayers cannot initiate opening channels anymore. (It must be initiated by the contract upon instantiation and by
ExecuteMsg:CreateChannel
) (#53)
See CHANGELOG.md
for a full list of changes.
v0.3.0
Description
In this release, I've added support for sending an array of cosmwasm_std::CosmosMsg
to the contract for it to be converted to an ICA transaction. In CosmWasm contracts, CosmosMsg
s are used to execute transactions on the chain that the contract is deployed on. In this contract, we use CosmosMsgs to execute transactions on the counterparty chain. This is done by converting the CosmosMsg
s to an ICA tx based on the encoding of the channel. The ICA tx is then sent to the host chain.
Applications
As a sidenote, I've submitted an application to the Injective hackathon that uses this project as a dependency. My build is an NFT collection where each NFT controls an account on the counterparty chain, this is the demo video. Please upvote the build if you can (you can login to dorahacks through github)
Other Changes
This admin management of this contract is now using cw-ownable
from cw-plus-plus.
v0.2.0
Description
In this release, this contract became usable in production since all the logic needed for testing was moved to a secondary testing contract. This is not to say that this contract should be used in production since it is not yet audited.
Changes:
- External contract callbacks were added: Now contracts can be registered during instantiation to receive callbacks upon channel creation and packet lifecycle events.
- Removed the predefined action execute message: This was for testing and is now moved to our new testing ica-owner contract.
- Library feature was removed: Now, external contracts that want to use this contract as a library don't need to import it with the library feature. They just need to disable the default features.
v0.1.3
This release gives the contract the ability to initiate the channel creation itself, instead of giving this responsibility to the relayer. The channel creation now begins automatically with InstantiateMsg
if the required optional parameters are provided.
In case the channel creation handshake which started from InstantiateMsg
cannot be completed, or the channel times out. You can retry creating a channel with the ExecuteMsg::CreateChannel
. See README.md
for more details.
Thanks to @CyberHoward for this idea.
v0.1.2
v0.1.1
Initial release of cw-ica-controller
. This is not meant to be used in production. There will be API breaking changes and improvements without a stable release policy until v1.0.0
. This contract has not been audited and will not be audited until v1.0.0
.
For now, you may use this contract as an inspiration for your own designs.