Skip to content

Commit

Permalink
Merge pull request #35 from AbstractSDK/v0.17
Browse files Browse the repository at this point in the history
Merge 0.17 into main
  • Loading branch information
adairrr committed Aug 9, 2023
2 parents 60ecfbd + f109db2 commit 7c9c262
Show file tree
Hide file tree
Showing 146 changed files with 1,486 additions and 6,720 deletions.
14 changes: 7 additions & 7 deletions app-template/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,19 @@ thiserror = { version = "1.0" }
schemars = "0.8"
cw-asset = { version = "3.0" }

abstract-core = { version = "0.17.1" }
abstract-app = { version = "0.17.1" }
abstract-sdk = { version = "0.17.1" }
abstract-core = { version = "0.18.0" }
abstract-app = { version = "0.18.0" }
abstract-sdk = { version = "0.18.0" }

# Dependencies for interface
abstract-interface = { version = "0.17.1", optional = true }
abstract-interface = { version = "0.18.0", optional = true }
cw-orch = { version = "0.13", optional = true }

[dev-dependencies]
app = { path = ".", features = ["interface"] }
abstract-interface = { version = "0.17.1", features = ["daemon"] }
abstract-testing = { version = "0.17.1" }
abstract-sdk = { version = "0.17.1", features = ["test-utils"] }
abstract-interface = { version = "0.18.0", features = ["daemon"] }
abstract-testing = { version = "0.18.0" }
abstract-sdk = { version = "0.18.0", features = ["test-utils"] }
speculoos = "0.11.0"
semver = "1.0"
dotenv = "0.15.0"
Expand Down
Binary file modified app-template/artifacts/app-aarch64.wasm
Binary file not shown.
3 changes: 1 addition & 2 deletions app-template/artifacts/checksums.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
5a87447f57b28066ce1994e19e4a3ba291f972426668bc5503b87da2de301744 app-aarch64.wasm
1608ddd5db7d8c0015ac499e14bc7d8a181f837dbd9e43fa1d7eb2fe428d1f4b template_app-aarch64.wasm
fc5a524bdf18125e2ae4fb781b3e08a1492dc095b64fbf50714a583b91827341 app-aarch64.wasm
3 changes: 1 addition & 2 deletions app-template/artifacts/checksums_intermediate.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
50eec2a6334e6c75a0abe6a65d603be34f39a6567f2735ee3add9835d8eca405 ./target/wasm32-unknown-unknown/release/app.wasm
49d0c96f981da786c389ba5e8aaae7109714069c2ffc956de1ed4e1b8ca7b267 ./target/wasm32-unknown-unknown/release/template_app.wasm
f890d41ddd32b5e274da6153cd55b9b4a00f8777a015dc33d4fb0303940f4ec8 ./target/wasm32-unknown-unknown/release/app.wasm
Binary file removed app-template/artifacts/template_app-aarch64.wasm
Binary file not shown.
11 changes: 11 additions & 0 deletions framework/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

### Added

### Changed
- Updated fetch_data arguments of CwStakingCommand

### Fixed
- Partially fixed cw-staking for Osmosis

## [0.17.2] - 2023-07-27

### Added
- Neutron + Archway to registry

### Changed

### Fixed
Expand Down
21 changes: 12 additions & 9 deletions framework/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ members = ["packages/*", "contracts/native/*", "contracts/account/*", "scripts"]
resolver = "2"

[workspace.package]
version = "0.17.1"
version = "0.18.0"
authors = [
"CyberHoward <cyberhoward@protonmail.com>",
"Riada <riada@abstract.money>",
Expand Down Expand Up @@ -52,8 +52,8 @@ tokio = { version = "1.4", features = ["full"] }

## crates in order of publishing ## see docs/Publishing.md

abstract-adapter = { version = "0.17.1", path = "packages/abstract-adapter" }
abstract-app = { version = "0.17.1", path = "packages/abstract-app" }
abstract-adapter = { version = "0.18.0", path = "packages/abstract-adapter" }
abstract-app = { version = "0.18.0", path = "packages/abstract-app" }

# Keep these as path, creates cirular dependency otherwise
# Only need to re-publish all contracts if a re-publish of abstract-interface is required
Expand All @@ -65,15 +65,15 @@ version-control = { package = "abstract-version-control", path = "contracts/nati
proxy = { package = "abstract-proxy", path = "contracts/account/proxy" }
manager = { package = "abstract-manager", path = "contracts/account/manager" }

abstract-sdk = { version = "0.17.1", path = "packages/abstract-sdk" }
abstract-testing = { version = "0.17.1", path = "packages/abstract-testing" }
abstract-core = { version = "0.17.1", path = "packages/abstract-core" }
abstract-sdk = { version = "0.18.0", path = "packages/abstract-sdk" }
abstract-testing = { version = "0.18.0", path = "packages/abstract-testing" }
abstract-core = { version = "0.18.0", path = "packages/abstract-core" }

# These should remain fixed and don't need to be re-published (unless changes are made)
abstract-macros = { version = "0.17.1", path = "packages/abstract-macros" }
abstract-ica = { version = "0.17.1", path = "packages/abstract-ica" }
abstract-macros = { version = "0.18.0", path = "packages/abstract-macros" }
abstract-ica = { version = "0.18.0", path = "packages/abstract-ica" }

abstract-adapter-utils = { version = "0.17.1", path = "packages/utils" }
abstract-adapter-utils = { version = "0.18.0", path = "packages/utils" }
abstract-dex-adapter-traits = { path = "packages/dex" }
abstract-staking-adapter-traits = { path = "packages/staking" }

Expand All @@ -83,6 +83,9 @@ rstest = "0.17.0"
speculoos = "0.11.0"
anyhow = "1"

[patch.crates-io]
cw-orch = { git = "https://github.com/AbstractSDK/cw-orchestrator.git" }

# Backup release profile, will result in warnings during optimization
[profile.release]
rpath = false
Expand Down
Binary file modified framework/artifacts/abstract_account_factory-aarch64.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_ans_host-aarch64.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_ibc_client-aarch64.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_manager-aarch64.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_module_factory-aarch64.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_proxy-aarch64.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_version_control-aarch64.wasm
Binary file not shown.
14 changes: 7 additions & 7 deletions framework/artifacts/checksums.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
9637c56a4767adb503b84db05cf4d1bbd5f1b547756d00fd6f050dd77b82b943 abstract_account_factory-aarch64.wasm
fd165bfb529eddc17526e760643c9e05b38c3b9a6202a92ccc176818c0eea03e abstract_ans_host-aarch64.wasm
83ecdae543cf0f0ad76ecd3429ce26084a53f7f3e917f82565b7607aaef2f946 abstract_ibc_client-aarch64.wasm
72abc5e46753f246b66585c4556395b645d294b6b8c5bda59437b90d243a531f abstract_manager-aarch64.wasm
c30319bed4b189624417ae6c6787562f0a005a84bccfe90f29fc5778ec072d4e abstract_module_factory-aarch64.wasm
84d0defd6f37e4c8e9cda99eb48ce945a00f487549819a8f247665f2c4e8483e abstract_proxy-aarch64.wasm
0a31374b64f91c4397dd5d55280bba155df3a3840ffaa66ae0d63bc2ca797ed9 abstract_version_control-aarch64.wasm
79d71feccd4ea2c20f34f3ccb0119eebdacefe989ebdbb37c6d6da9c655c9f7d abstract_account_factory-aarch64.wasm
7c9544b2613e77b976c79ae6dc90ee4614d74f0a5d712309133d8b6cc6560042 abstract_ans_host-aarch64.wasm
7e7c963fedcce5c266235b7f025661eae94f860a2a2dbb90527d57823aaf265c abstract_ibc_client-aarch64.wasm
7b6e4b4d8241bb83e9374abea9cd62e0e47b4a74027828b1fed0a9a79b84e474 abstract_manager-aarch64.wasm
9385a30e06d9b56081de62f0e2557519795c4e8d1efc28a2ae26618634e3b93d abstract_module_factory-aarch64.wasm
f9d37a7da31aff191c21482ec1fc11e33a84304b9a5f40342cfc47ff34baa844 abstract_proxy-aarch64.wasm
1d99d687065cca36504f6a1c7908ddee7eb18fefd7f86b4aa8238277f6769a3a abstract_version_control-aarch64.wasm
14 changes: 7 additions & 7 deletions framework/artifacts/checksums_intermediate.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
9270f5a25845a3f874cc190d8a19e8a00c19c34b56e91c8c28b8202b3e5e8af0 target/wasm32-unknown-unknown/release/abstract_account_factory.wasm
64899b7c7939771eb0e7522a2b7e77e41ab9d34ad8dfbe70e78f9224eaab9fe0 target/wasm32-unknown-unknown/release/abstract_ans_host.wasm
f3f7cb1949ab62943a297f594db03be08d98d93b302e40936731d66ae7639f4b target/wasm32-unknown-unknown/release/abstract_ibc_client.wasm
ee180ab8d9905577fea959fd0a45064ad5c632077d767b691caf2fcfd1c6001c target/wasm32-unknown-unknown/release/abstract_manager.wasm
788ff6fa2e7a0095979f5601a915c46826b37867ad0daaeffb47a1b5b46e430f target/wasm32-unknown-unknown/release/abstract_module_factory.wasm
72c79321bae4456899cbb4a4843c75f5e324d924e61c936a20968fe0b7a19da4 target/wasm32-unknown-unknown/release/abstract_proxy.wasm
0fa954f1146e100c581a0875ac71efb11eca2bcaa464cb588926ea5bd6cd86b0 target/wasm32-unknown-unknown/release/abstract_version_control.wasm
84525d6bce6276dd33bb637cfb1889b7c2d53e4309715e17b5598552aabc5af0 target/wasm32-unknown-unknown/release/abstract_account_factory.wasm
63909e95657722161ebb248d49689b32f3e4bfbbf3fe16513c3e751cd3d8fc52 target/wasm32-unknown-unknown/release/abstract_ans_host.wasm
01bf9022d2228734b2d8ba32bdd4a43c39df62d51c205e55385274281f24b664 target/wasm32-unknown-unknown/release/abstract_ibc_client.wasm
97c51969e9be165628645994c8e8f9091969f1bc56bcb85feea7ca4b1c7bbb75 target/wasm32-unknown-unknown/release/abstract_manager.wasm
69c67f96ee78bf5f336577d2444029917b8e574405b59113af450c9e42e3b9e7 target/wasm32-unknown-unknown/release/abstract_module_factory.wasm
c305a7fbbf3bf79ae00bf8dbcea11182b5a9a92c1febf0b517ce27563990c964 target/wasm32-unknown-unknown/release/abstract_proxy.wasm
08b558ac0bd7b820094a66897ab87cc6dafd401eee6f07b7fe61d45bd4c040dd target/wasm32-unknown-unknown/release/abstract_version_control.wasm
2 changes: 2 additions & 0 deletions framework/development/Publishing.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,5 @@ Now we have all the
Now you should proceed with deploying the contracts to the different chains. The resulting data (addresses, code-ids) is used when publishing the abstract-interface.
5. `abstract-interface`
6. `abstract-adapter`, `abstract-app` and `abstract-ibc-host`

7. When our customers take a git dependency on our abstract-wyndex-adapter, for example, we must ensure that
2 changes: 1 addition & 1 deletion framework/justfile
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ migrate +CHAINS:
just run-script migrate {{CHAINS}}

publish-schemas version:
SCHEMA_OUT_DIR=$(cd ../schemas && echo "$PWD") \
SCHEMA_OUT_DIR=$(cd ../../schemas && echo "$PWD") \
VERSION={{version}} \
cargo ws exec --no-bail bash -lc 'cargo schema && { outdir="$SCHEMA_OUT_DIR/abstract/${PWD##*/}/$VERSION"; mkdir -p "$outdir"; rm -rf "schema/raw"; cp -a "schema/." "$outdir"; }'

Expand Down
4 changes: 2 additions & 2 deletions framework/packages/abstract-adapter/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "abstract-adapter"
version = "0.17.1"
version = "0.18.0"
authors = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
Expand Down Expand Up @@ -30,7 +30,7 @@ abstract-core = { workspace = true }
abstract-testing = { workspace = true, optional = true }
cw-orch = { workspace = true, optional = true }
# Keep this as a version and update when publishing new versions
abstract-interface = { path = "../../packages/abstract-interface", version = "0.17.1", optional = true }
abstract-interface = { path = "../../packages/abstract-interface", version = "0.18.0", optional = true }

[dev-dependencies]
speculoos = { workspace = true }
Expand Down
4 changes: 2 additions & 2 deletions framework/packages/abstract-app/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "abstract-app"
version = "0.17.1"
version = "0.18.0"
edition = { workspace = true }
license = { workspace = true }
description = "base app contract implementation"
Expand Down Expand Up @@ -30,7 +30,7 @@ abstract-core = { workspace = true }
abstract-testing = { workspace = true, optional = true }
cw-orch = { workspace = true, optional = true }
# Keep this as a version and update when publishing new versions
abstract-interface = { path = "../../packages/abstract-interface", version = "0.17.1", optional = true }
abstract-interface = { path = "../../packages/abstract-interface", version = "0.18.0", optional = true }

[dev-dependencies]
cosmwasm-schema = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion framework/packages/abstract-core/src/registry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pub const OSMOSIS: &[&str] = &["osmosis", "osmo", "osmo-test"];
pub const TERRA: &[&str] = &["phoenix", "pisco"];
pub const KUJIRA: &[&str] = &["kaiyo", "harpoon"];
pub const NEUTRON: &[&str] = &["pion", "neutron"];
pub const ARCHWAY: &[&str] = &["constantine"];
pub const ARCHWAY: &[&str] = &["constantine", "archway"];
pub const LOCAL_CHAIN: &[&str] = &["cosmos-testnet"];
/// Useful when deploying version control
#[allow(unused)]
Expand Down
14 changes: 7 additions & 7 deletions framework/packages/abstract-interface/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "abstract-interface"
version = "0.17.1"
version = "0.18.0"
edition = { workspace = true }
license = { workspace = true }
description = "Abstract deployment helpers with cw-orchestrator"
Expand Down Expand Up @@ -30,12 +30,12 @@ serde_json = "1.0.79"
speculoos = { workspace = true }

# Keep these here
module-factory = { package = "abstract-module-factory", path = "../../contracts/native/module-factory", default-features = false, version = "0.17.1" }
account-factory = { package = "abstract-account-factory", path = "../../contracts/native/account-factory", default-features = false, version = "0.17.1" }
ans-host = { package = "abstract-ans-host", path = "../../contracts/native/ans-host", default-features = false, version = "0.17.1" }
version-control = { package = "abstract-version-control", path = "../../contracts/native/version-control", default-features = false, version = "0.17.1" }
proxy = { package = "abstract-proxy", path = "../../contracts/account/proxy", default-features = false, version = "0.17.1" }
manager = { package = "abstract-manager", path = "../../contracts/account/manager", default-features = false, version = "0.17.1" }
module-factory = { package = "abstract-module-factory", path = "../../contracts/native/module-factory", default-features = false, version = "0.18.0" }
account-factory = { package = "abstract-account-factory", path = "../../contracts/native/account-factory", default-features = false, version = "0.18.0" }
ans-host = { package = "abstract-ans-host", path = "../../contracts/native/ans-host", default-features = false, version = "0.18.0" }
version-control = { package = "abstract-version-control", path = "../../contracts/native/version-control", default-features = false, version = "0.18.0" }
proxy = { package = "abstract-proxy", path = "../../contracts/account/proxy", default-features = false, version = "0.18.0" }
manager = { package = "abstract-manager", path = "../../contracts/account/manager", default-features = false, version = "0.18.0" }

[build-dependencies]
serde_json = "1.0.79"
Expand Down
2 changes: 2 additions & 0 deletions framework/packages/staking/src/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ pub trait CwStakingCommand<E: Error = CwStakingError>: Identify {
&mut self,
deps: Deps,
env: Env,
info: Option<cosmwasm_std::MessageInfo>,
ans_host: &AnsHost,
abstract_registry: Addr,
staking_asset: AssetEntry,
) -> AbstractSdkResult<()>;

Expand Down
44 changes: 43 additions & 1 deletion framework/packages/staking/src/msg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,51 @@ pub enum StakingQueryMsg {
},
}

/// Possible staking targets to support staking on cosmwasm contract or cosmos Lockup module
#[cosmwasm_schema::cw_serde]
#[non_exhaustive]
pub enum StakingTarget {
Contract(Addr),
Id(u64),
}

impl StakingTarget {
/// Extract contract address
pub fn expect_contract(self) -> abstract_core::AbstractResult<Addr> {
match self {
StakingTarget::Contract(addr) => Ok(addr),
_ => Err(abstract_core::AbstractError::Assert(
"Staking target is not a contract address.".into(),
)),
}
}

/// Extract pool id
pub fn expect_id(self) -> abstract_core::AbstractResult<u64> {
match self {
StakingTarget::Id(id) => Ok(id),
_ => Err(abstract_core::AbstractError::Assert(
"Staking target is not an pool ID.".into(),
)),
}
}
}

impl From<u64> for StakingTarget {
fn from(value: u64) -> Self {
Self::Id(value)
}
}

impl From<Addr> for StakingTarget {
fn from(value: Addr) -> Self {
Self::Contract(value)
}
}

#[cosmwasm_schema::cw_serde]
pub struct StakingInfoResponse {
pub staking_contract_address: Addr,
pub staking_target: StakingTarget,
pub staking_token: AssetInfo,
pub unbonding_periods: Option<Vec<Duration>>,
pub max_claims: Option<u32>,
Expand Down
13 changes: 10 additions & 3 deletions framework/publish/contracts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ fi
# these are imported by other packages
BASE_PACKAGES="abstract-ica abstract-macros"
UTILS_PACKAGES="abstract-core abstract-testing abstract-sdk"
CORE_CONTRACTS="proxy manager"
CORE_CONTRACTS="manager proxy"
NATIVE_CONTRACTS="ans-host account-factory module-factory version-control"

for pack in $BASE_PACKAGES; do
Expand All @@ -35,19 +35,26 @@ for pack in $UTILS_PACKAGES; do
)
done

read -p "Please comment out abstract-adapter and abstract-app in manager/Cargo.toml#dev-dependencies and type 'yes' to continue: " input
if [ "$input" != "yes" ]
then
echo "The script will terminate now. Please run it again after updating the version."
exit 1
fi

for con in $CORE_CONTRACTS; do
(
cd "contracts/account/$con"
echo "Publishing account base $con"
cargo publish
cargo publish --allow-dirty
)
done

for con in $NATIVE_CONTRACTS; do
(
cd "contracts/native/$con"
echo "Publishing native $con"
cargo publish
cargo publish --allow-dirty
)
done

Expand Down
25 changes: 23 additions & 2 deletions framework/publish/packages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ then
exit 1
fi

ALL_PACKAGES="abstract-interface abstract-adapter abstract-app abstract-ibc-host"
ALL_PACKAGES="abstract-interface abstract-adapter abstract-app abstract-ibc-host utils"
# These need to update the dependency of abstract-interface to use the version
OTHER_PACKAGES="dex staking"

for pack in $ALL_PACKAGES; do
(
Expand All @@ -23,7 +25,26 @@ for pack in $ALL_PACKAGES; do
)
done

echo "Everything is published!"
echo "Packages are published!"

read -p "Please update the version of 'abstract-interface' (deps & dev-deps) in the dex and stakingto the published version and type 'yes' to continue: " input
if [ "$input" != "yes" ]
then
echo "The script will terminate now. Please run it again after updating the version."
exit 1
fi

echo "Continuing with the publication of other packages..."

for pack in $OTHER_PACKAGES; do
(
cd "packages/$pack"
echo "Publishing $pack"
cargo publish --allow-dirty
)
done

echo "All packages have been published!"

# VERSION=$(grep -A1 "\[workspace.package\]" Cargo.toml | awk -F'"' '/version/ {print $2}');
# git tag v"$VERSION"
Expand Down
Loading

0 comments on commit 7c9c262

Please sign in to comment.