Skip to content

v0.23.0

Compare
Choose a tag to compare
@Buckram123 Buckram123 released this 16 Jul 09:36
· 273 commits to main since this release

Added

  • Abstract Client: Added a claim_namespace function to facilitate claiming a namespace after account creation
  • Version Control interface: approve_all_modules_for_namespace to approve any pending modules by given "namespace"
  • IBC module to module queries and API.
  • Abstract Interface: Added helpers to create abstract IBC connections (with open-sourced cw-orch-interchain)
  • Ability to send multiple query messages through IBC simultaneously
  • New module type abstract-standalone for standalone contracts.
  • Abstract Client: added execute_on_manager helper method
  • Abstract Client: Exposed IbcClient object under AbstractClient::ibc_client()
  • Abstract Client(feature "interchain"): ibc_connection_with to create abstract IBC connections
  • Abstract Client(feature "interchain"): RemoteApplication and RemoteAccount objects that replicate Application and Account functionality in interchain environment
  • Abstract Account: Added an upgrade helper to upgrade an account step by step (going through all necessary versions)
  • IBC Client: Apps and Adapters checks that IBC Client is dependency of the module inside ibc_callback and module_ibc handlers
  • Ibc Client: Module to module actions now checks if app have ibc_client installed to ensure account can receive ibc callback
  • Helpers to simply connecting Abstract instances through IBC and reduce the setup boilerplate
  • register_in_version_control added to the abstract_interface::Abstract for registering new versions of native contracts in Version Control
  • Registration migrated native contracts to Version Control in abstract_interface::Abstract::migrate_if_version_changed method
  • New governance type NFT which allows an account to be owned by an NFT.

Changed

  • Manager will try to check dependencies on standalone modules.
  • Accounts with local sequence 2147483648..u32::MAX are allowed to be claimed in any order
  • IBC Callback and IBC module to module endpoints now have decomposed variables (sender, msg and callback)
  • IBC Callback messages are now mandatory and renamed to callback
  • Removed IBC callback IDs
  • Renamed CallbackInfo to Callback
  • Ibc API: Where applicable - accept ChainName instead of String to add clarity for the user
  • Standalones and IBC Client no longer added to proxy whitelist
  • IBC client and host now migrated only if version is not breaking and deployed otherwise
  • cw-ownable got replaced with cw-gov-ownable for manager contract
  • Renamed ChainName to TruncatedChainId
  • IBC Client: send_funds accepts optional memo field for every Coin attached
  • Bump cw-orch to 0.24.0

Removed

  • Accounts with local sequence 0..2147483648 cannot be predicted
  • Ibc Callback handler no longer includes MessageInfo as sender is always ibc_client and funds are empty
  • Account Factory no longer stores ibc-host, instead it queries VersionControl to assert caller matches stored to the one in version control
  • governance_details from manager::AccountInfo
  • Removed update_factory_binary_msgs endpoint from module factory
  • Removed propose_ownership method on manager, everything done through update_ownership instead

Fixed

  • Abstract Client: Fixed contract address collision for same apps that are on different accounts
  • abstract_interface deploy methods: Fixed a bug where it was not possible to propose uploaded contract(saved in cw-orch state)
  • abstract_interface deploy methods: Checks both registered and pending modules instead of only registered