Skip to content

Releases: srdtrk/cw-ica-controller

v0.5.0

05 Feb 18:52
bc30f22
Compare
Choose a tag to compare

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

28 Jan 12:19
ed62894
Compare
Choose a tag to compare

Description

This release add inline docs to the enum variant injected by the proc macro introduced in v0.4.1. This is because external contracts using the macro will experience compiler errors if they have #![deny(missing_docs)]. (#66)

v0.4.1

27 Jan 15:25
ef7cd26
Compare
Choose a tag to compare

Description

This release only concerns external importers of the contract.
Added a new proc macro helper that injects the callback msg to the ExecuteMsg of the external contract. (#61)

Inspired by dao-dao-macros.

v0.4.0

26 Jan 23:49
7318eba
Compare
Choose a tag to compare

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's channel_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

30 Dec 10:53
7de3ddd
Compare
Choose a tag to compare

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, CosmosMsgs 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 CosmosMsgs 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

09 Nov 17:53
2fdc401
Compare
Choose a tag to compare

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

28 Oct 16:43
7ece8a6
Compare
Choose a tag to compare

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

25 Oct 07:44
Compare
Choose a tag to compare

This release:

  • Updates some dependencies but preserves compatibility with cosmwasm 1.2.
  • Adds helper methods in helpers.rs for use by external contracts
  • Adds the migrate entry point to the contract

v0.1.1

21 Oct 17:01
Compare
Choose a tag to compare

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.