You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added PfmMemoBuilder API for building middleware forwarding memo
Added HookMemoBuilder API for building wasm ibc hook memo
execute_with_funds to Executor to attach funds to execution.
stargate feature for abstract-app, abstract-standalone and abstract-adapter packages.
New module type: Service, behaves the same as Native, but can be registered by any namespace.
AbstractClient: service to get api of Service module
CustomExecuteHandler To improve support for fully custom execute messages on Apps or Adapters
balance method for AnsHost to query balance of AssetEntry
AbstractInterchainClient to simplify Abstract deployments across multiple chains
Changed
**Merged proxy and manager contracts into account.
Deployments now use pre-determined addresses. These addresses are hardcoded in the contracts.
Ibc related renaming to add more consistency in namings
Account action on executor takes impl IntoIter<Item = impl Into<AccountAction>> instead of Vec<AccountAction>
Native contracts now have pre-compiled addresses. This removes the need for storing addresses in an on-chain state.
Removed UpdateConfig endpoints from most native contracts and App/Native bases.
Minified the storage namespaces and made them available via constants
Version Control renamed to registry
registry::QueryMsg::Account was changed to registry::QueryMsg::Accounts for simultaneous queries
Added registry::QueryMsg::AccountList for paginated account queries
Simplified the implementations of KeyDeserialize, PrimaryKey and Prefixer traits for AssetEntry, DexAssetPairing, ModuleInfo, ModuleVersion. Used the base tuple implementation instead
Removed install_on_sub_account for client, replaced with explicit sub_account creation
Abstract Client
with_modules method for Account Builder to add list of modules to install (ModuleInstallConfig)
query_module method for Account to query given module on account without retrieving Application object
module_installed method for Account that returns true if module installed on account
module_version_installed method for Account that returns true if module of this version installed on account
address method for Account to get address of account. Result of this method is the same as calling proxy
enable_ibc added to Account builder.
module_status on AbstractClient that returns current status of the module.
install_on_sub_account now defaults to false in Account Builder
Publisher will check if dependencies of the module is registered in version control to the chain before publishing.
Removed
Receive endpoints from abstract Modules
Value calculation logic from proxy contract.
cw-semver dependency removed
Manager no longer able to migrate pre 0.19 abstract adapters
Account Factory contract
Unused DepositManager and PagedMap objects from abstract-std
Fixed
Abstract Client: If Account Builder retrieves account now it will install missing modules from the builder instead of ignoring them
[0.23.0] - 2024-07-16
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"
Abstract Client: Exposed IbcClient object under AbstractClient::ibc_client()
Abstract Client(feature "interchain"): connect_to 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
[0.22.1] - 2024-05-08
Added
state.json now included in binary in release mode, allowing using binaries on a different environment than it's been built.
module_instantiate2_address_raw for AbstractClient, allowing to install a different version than the dependency version.
Added helper functions assert_registered and is_registered to the ANS client API.
Added method module_info for querying and verifying wether an address is a module to the ModuleRegistry API.
Added default IBC-Client installation on remote modules inside Client and Account interfaces
Send multiple message simultaneously through IBC
Changed
Renamed account_id to expected_account_id for abstract_client::AccountBuilder for clarity
Namespace claiming on mainnet is now permissioned.
Renamed version_control::Config::allow_direct_module_registration_and_updates field to security_disabled.
Renamed request to execute in adapter and apps APIs
Updated to cw-orch 0.22 and cw-orch-core stabilization to 1.0.0
Removed
unused custom_swap of DexCommand
Send multiple messages to multiple IBC connected chains in one manager message.
interface feature from all of the packages
Fixed
[0.21.0] - 2024-02-20
Added
Added a .execute method on the AuthZ API to execute CosmosMsg types on behalf of a granter.
Add IBC helpers to account client.
Abstract Client builder: register dexes on ANS
.sub_accounts method on Account for getting Abstract Client Sub Accounts
Publish adapter method of Abstract Client Publisher now returns Adapter object
Added a .account_from method on the AbstractClient for retrieving Accounts.
Creating Sub Account from AbstractClient Account builder.
Installing apps and adapters for AbstractClient Account builder
Attaching funds to account creation on AbstractClient Account builder
Added unchecked_account_id method on version control.
Ability to provide expected local AccountId
Reinstallation of the same version of an app is now disabled
.authorize_on_adapters method on Application for authorizing application on adapters
Added method to assign expected .account_id for Abstract Client Account builder
.next_local_account_id for AbstractClient to query next local account sequence
.module_instantiate2_address for AbstractClient to get predicted address
Changed
Updated UsageFee api to use Address, instead of Api + unchecked address
Tests now use MockBech32 due to use of instantiate2.
Removed
Fixed
Added a validation on account_id method on version control.
Creating sub-account from account factory is restricted. Use Create Sub Account method of the manager instead
[0.20.0] - 2024-01-24
Added
AppDeployer and AdapterDeployer now take a DeployStrategy field.
Astrovault integrated into dex and cw-staking adapters
AuthZ API added
Interchain Abstract Accounts can now be created!
Added snapshot tests
Method query_account_owner() for Apps Admin object
Query registered_dexes for AbstractNameServiceClient
Query top_level_owner for manager and apps(as base query)
Support of ConcentratedLiquidity pool type for swaps. Stake/unstake currently not supported
Account namespace is unclaimed after Renounce
Resolve trait for cw-orchAnsHost interface
Changed
is_module_installed moved from Manager to Account.
account_id() method of AccountRegistry is now exposed.
Allow module-id to be passed in as a valid authorized address when allowing new addresses on adapter contracts.
BaseInstantiateMsg is now removed from install app API, now only ModuleMsg should be provided.
Modules, Manager and Proxy are now instantiated via instantiate2 message.
FeeGrant API updated.
Bump cw-orch to v0.18.
Top level account owner now has admin privileges on the apps and adapters
Multiple AbstractAccounts now don't overlap
Top level account owner can now claim pending sub-accounts directly
Clearable helper type was added to the messages where clearing optional state could be useful
Only incremental version migration of modules allowed (0.10 -> 0.11 is allowed but 0.10 -> 0.12 not because it skips 0.11)
Module tag_response and custom_tag_response no longer require Response as an argument as well as renamed to response and custom_response respectively.
Having sub accounts will prevent you from Renounce
Version Control Namespace query now doesn't return an error when namespace is unclaimed
NamespaceResponse type updated to be able to represent claimed and unclaimed namespace