Skip to content

Commit

Permalink
Merge pull request #193 from Phoenix-Protocol-Group/update-soroban-v2…
Browse files Browse the repository at this point in the history
…0-1-0

Update soroban v20.0.3 -> v20.1.0
  • Loading branch information
ueco-jb authored Jan 17, 2024
2 parents 3d723fe + 5e439b2 commit 9b4584d
Show file tree
Hide file tree
Showing 21 changed files with 237 additions and 810 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ and this project adheres to

## [Unreleased]

## Changed

- Update soroban-sdk version from v20.0.3 to v20.1.0 ([#193])

## [0.8.0] - 2024-01-17

## Changed
Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ curve = { path = "./packages/curve"}
decimal = { path = "./packages/decimal"}
phoenix = { path = "./packages/phoenix"}
num-integer = { version = "0.1.45", default-features = false, features = ["i128"] }
soroban-sdk = "20.0.3"
soroban-token-sdk = "20.0.3"
soroban-sdk = "20.1.0"
soroban-token-sdk = "20.1.0"
test-case = "3.1"
pretty_assertions = "1.4.0"

Expand Down
106 changes: 25 additions & 81 deletions contracts/factory/src/tests/queries.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ use super::setup::{
};
use phoenix::utils::{LiquidityPoolInitInfo, StakeInitInfo, TokenInitInfo};

use soroban_sdk::{contracttype, testutils::arbitrary::std, Address, Env, String, Symbol, Vec};
use soroban_sdk::{
contracttype,
testutils::{arbitrary::std, Address as _},
Address, Env, Symbol, Vec,
};

#[contracttype]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
Expand Down Expand Up @@ -33,39 +37,15 @@ pub struct LiquidityPoolConfig {
#[test]
fn test_deploy_multiple_liquidity_pools() {
let env = Env::default();
let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let user = Address::from_string(&String::from_str(
&env,
"CDUK25UHLE7LUDQZ4UTTNWMXABJHW76Q74SKOK6BMWGKDHIJ6MIBOK6N",
));

let mut token1 = Address::from_string(&String::from_str(
&env,
"GCHM6Y4BYTUJZQ4KABLTC73IWDZNFBZ2NML5W4AQG7XAJEOMLF5I774H",
));
let mut token2 = Address::from_string(&String::from_str(
&env,
"CBGJMPOZ573XUTIRRFWGWTGSIAOGKJRVMIKBTFYEWTEIU7AEDWKDYMUX",
));
let mut token3 = Address::from_string(&String::from_str(
&env,
"CDWLHFNUQ2CM5WJKIFGEMY5LMXPARVKHD5FJONZTCPXKEYPCUT5PW2L2",
));
let mut token4 = Address::from_string(&String::from_str(
&env,
"CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
));
let mut token5 = Address::from_string(&String::from_str(
&env,
"CC4W4EIZMCCUG2R5FHQGQDSBZY6S2V2CIIJQZ5XBXCKUVVSBR7HC6267",
));
let mut token6 = Address::from_string(&String::from_str(
&env,
"CCIEUAD63OGWJ3FKBI5SZG7HZ34PPYF4RCPWVB5SOP6G7FBBNAVPYHKW",
));
let admin = Address::generate(&env);
let user = Address::generate(&env);

let mut token1 = Address::generate(&env);
let mut token2 = Address::generate(&env);
let mut token3 = Address::generate(&env);
let mut token4 = Address::generate(&env);
let mut token5 = Address::generate(&env);
let mut token6 = Address::generate(&env);

env.mock_all_auths();
env.budget().reset_unlimited();
Expand Down Expand Up @@ -253,39 +233,15 @@ fn test_deploy_multiple_liquidity_pools() {
#[test]
fn test_queries_by_tuple() {
let env = Env::default();
let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let user = Address::from_string(&String::from_str(
&env,
"CDUK25UHLE7LUDQZ4UTTNWMXABJHW76Q74SKOK6BMWGKDHIJ6MIBOK6N",
));

let mut token1 = Address::from_string(&String::from_str(
&env,
"GCHM6Y4BYTUJZQ4KABLTC73IWDZNFBZ2NML5W4AQG7XAJEOMLF5I774H",
));
let mut token2 = Address::from_string(&String::from_str(
&env,
"CBGJMPOZ573XUTIRRFWGWTGSIAOGKJRVMIKBTFYEWTEIU7AEDWKDYMUX",
));
let mut token3 = Address::from_string(&String::from_str(
&env,
"CDWLHFNUQ2CM5WJKIFGEMY5LMXPARVKHD5FJONZTCPXKEYPCUT5PW2L2",
));
let mut token4 = Address::from_string(&String::from_str(
&env,
"CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
));
let mut token5 = Address::from_string(&String::from_str(
&env,
"CC4W4EIZMCCUG2R5FHQGQDSBZY6S2V2CIIJQZ5XBXCKUVVSBR7HC6267",
));
let mut token6 = Address::from_string(&String::from_str(
&env,
"CCIEUAD63OGWJ3FKBI5SZG7HZ34PPYF4RCPWVB5SOP6G7FBBNAVPYHKW",
));
let admin = Address::generate(&env);
let user = Address::generate(&env);

let mut token1 = Address::generate(&env);
let mut token2 = Address::generate(&env);
let mut token3 = Address::generate(&env);
let mut token4 = Address::generate(&env);
let mut token5 = Address::generate(&env);
let mut token6 = Address::generate(&env);

env.mock_all_auths();
env.budget().reset_unlimited();
Expand Down Expand Up @@ -429,20 +385,8 @@ fn test_queries_by_tuple() {
#[should_panic(expected = "Factory: query_for_pool_by_token_pair failed: No liquidity pool found")]
fn test_queries_by_tuple_errors() {
let env = Env::default();
let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let admin = Address::generate(&env);
let factory = deploy_factory_contract(&env, Some(admin.clone()));

factory.query_for_pool_by_token_pair(
&Address::from_string(&String::from_str(
&env,
"CDUK25UHLE7LUDQZ4UTTNWMXABJHW76Q74SKOK6BMWGKDHIJ6MIBOK6N",
)),
&Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
)),
);
factory.query_for_pool_by_token_pair(&Address::generate(&env), &Address::generate(&env));
}
9 changes: 2 additions & 7 deletions contracts/factory/src/tests/setup.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::contract::{Factory, FactoryClient};

use soroban_sdk::{Address, BytesN, Env, String};
use soroban_sdk::{testutils::Address as _, Address, BytesN, Env};

#[allow(clippy::too_many_arguments)]
pub mod lp_contract {
Expand Down Expand Up @@ -38,12 +38,7 @@ pub fn deploy_factory_contract<'a>(
env: &Env,
admin: impl Into<Option<Address>>,
) -> FactoryClient<'a> {
let admin = admin
.into()
.unwrap_or(Address::from_string(&String::from_str(
env,
"CDALIOEQHREN5DJANC3O6WN3KF2MVRXAYAWCKF3XJIBQJTFVXJHI6HWE",
)));
let admin = admin.into().unwrap_or(Address::generate(env));
let factory = FactoryClient::new(env, &env.register_contract(None, Factory {}));
let multihop_wasm_hash = install_multihop_wasm(env);

Expand Down
7 changes: 2 additions & 5 deletions contracts/multihop/src/tests.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::contract::{Multihop, MultihopClient};
use crate::tests::setup::deploy_factory_contract;
use soroban_sdk::{Address, Env, String};
use soroban_sdk::{testutils::Address as _, Address, Env};

mod query;
mod setup;
Expand All @@ -13,10 +13,7 @@ fn test_deploy_multihop_twice_should_fail() {
env.mock_all_auths();
env.budget().reset_unlimited();

let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let admin = Address::generate(&env);

let multihop = MultihopClient::new(&env, &env.register_contract(None, Multihop {}));
let factory = deploy_factory_contract(&env, admin.clone());
Expand Down
59 changes: 12 additions & 47 deletions contracts/multihop/src/tests/query.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,15 @@ use crate::tests::setup::{
deploy_multihop_contract, deploy_token_contract,
};

use soroban_sdk::{vec, Address, Env, String};
use soroban_sdk::{testutils::Address as _, vec, Address, Env};

#[test]
fn simulate_swap_single_pool_no_fees() {
let env = Env::default();
env.mock_all_auths();
env.budget().reset_unlimited();

let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let admin = Address::generate(&env);

let token1 = deploy_and_mint_tokens(&env, &admin, 100_000_000i128);
let token2 = deploy_and_mint_tokens(&env, &admin, 200_000_000i128);
Expand Down Expand Up @@ -65,10 +62,7 @@ fn simulate_swap_three_equal_pools_no_fees() {
env.mock_all_auths();
env.budget().reset_unlimited();

let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let admin = Address::generate(&env);

let token1 = deploy_and_mint_tokens(&env, &admin, 10_000_000i128);
let token2 = deploy_and_mint_tokens(&env, &admin, 10_000_000i128);
Expand Down Expand Up @@ -171,10 +165,7 @@ fn simulate_swap_single_pool_with_fees() {
env.mock_all_auths();
env.budget().reset_unlimited();

let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let admin = Address::generate(&env);

let token1 = deploy_and_mint_tokens(&env, &admin, 1_001_000i128);
let token2 = deploy_and_mint_tokens(&env, &admin, 1_001_000i128);
Expand Down Expand Up @@ -226,10 +217,7 @@ fn simulate_swap_three_different_pools_no_fees() {
env.mock_all_auths();
env.budget().reset_unlimited();

let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let admin = Address::generate(&env);

let token1 = deploy_and_mint_tokens(&env, &admin, 10_000_000i128);
let token2 = deploy_and_mint_tokens(&env, &admin, 10_000_000i128);
Expand Down Expand Up @@ -332,10 +320,7 @@ fn simulate_swap_three_different_pools_with_fees() {
env.mock_all_auths();
env.budget().reset_unlimited();

let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let admin = Address::generate(&env);

let token1 = deploy_and_mint_tokens(&env, &admin, 10_000_000i128);
let token2 = deploy_and_mint_tokens(&env, &admin, 10_000_000i128);
Expand Down Expand Up @@ -462,19 +447,9 @@ fn simulate_swap_three_different_pools_with_fees() {
fn query_simulate_swap_panics_with_no_operations() {
let env = Env::default();
env.mock_all_auths();
let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let factory = Address::from_string(&String::from_str(
&env,
"CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
));

let recipient = Address::from_string(&String::from_str(
&env,
"CCDS5FMXB4M7HP7E6SCYAQASHLL2SG4OPZL3BNORDXVYMOCVG2WRYYZX",
));
let admin = Address::generate(&env);
let factory = Address::generate(&env);
let recipient = Address::generate(&env);

let token = deploy_token_contract(&env, &admin);
token.mint(&recipient, &50i128);
Expand All @@ -491,19 +466,9 @@ fn query_simulate_swap_panics_with_no_operations() {
fn query_simulate_reverse_swap_panics_with_no_operations() {
let env = Env::default();
env.mock_all_auths();
let admin = Address::from_string(&String::from_str(
&env,
"CBT4WEAHQ72AYRD7WZFNYE6HGZEIX25754NG37LBLXTTRMWKQNKIUR6O",
));
let factory = Address::from_string(&String::from_str(
&env,
"CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
));

let recipient = Address::from_string(&String::from_str(
&env,
"CCDS5FMXB4M7HP7E6SCYAQASHLL2SG4OPZL3BNORDXVYMOCVG2WRYYZX",
));
let admin = Address::generate(&env);
let factory = Address::generate(&env);
let recipient = Address::generate(&env);

let token = deploy_token_contract(&env, &admin);
token.mint(&recipient, &50i128);
Expand Down
13 changes: 5 additions & 8 deletions contracts/multihop/src/tests/setup.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
use crate::contract::{Multihop, MultihopClient};
use crate::tests::setup::factory::{LiquidityPoolInitInfo, StakeInitInfo, TokenInitInfo};

use soroban_sdk::testutils::arbitrary::std;
use soroban_sdk::{Address, Bytes, BytesN, Env, String};
use soroban_sdk::{
testutils::{arbitrary::std, Address as _},
Address, Bytes, BytesN, Env,
};

pub mod factory {
soroban_sdk::contractimport!(
Expand Down Expand Up @@ -65,12 +67,7 @@ pub fn deploy_multihop_contract<'a>(
admin: impl Into<Option<Address>>,
factory: &Address,
) -> MultihopClient<'a> {
let admin = admin
.into()
.unwrap_or(Address::from_string(&String::from_str(
env,
"CDALIOEQHREN5DJANC3O6WN3KF2MVRXAYAWCKF3XJIBQJTFVXJHI6HWE",
)));
let admin = admin.into().unwrap_or(Address::generate(env));

let multihop = MultihopClient::new(env, &env.register_contract(None, Multihop {}));

Expand Down
Loading

0 comments on commit 9b4584d

Please sign in to comment.