diff --git a/Cargo.lock b/Cargo.lock index 738bbb5..6796bbb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2591,7 +2591,7 @@ checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" [[package]] name = "swap-contract" -version = "1.1.0" +version = "1.1.1" dependencies = [ "cosmwasm-schema", "cosmwasm-std", diff --git a/contracts/swap/Cargo.toml b/contracts/swap/Cargo.toml index 2cf9965..7a7aa3a 100644 --- a/contracts/swap/Cargo.toml +++ b/contracts/swap/Cargo.toml @@ -2,7 +2,7 @@ authors = [ "Markus Waas " ] edition = "2021" name = "swap-contract" -version = "1.1.0" +version = "1.1.1" exclude = [ # Those files are rust-optimizer artifacts. You might want to commit them for convenience but they should not be part of the source code publication. diff --git a/contracts/swap/src/contract.rs b/contracts/swap/src/contract.rs index 88d9f23..6295e79 100644 --- a/contracts/swap/src/contract.rs +++ b/contracts/swap/src/contract.rs @@ -119,9 +119,9 @@ pub fn migrate(deps: DepsMut, _env: Env, _msg: MigrateMsg let contract_version = get_contract_version(deps.storage)?; match contract_version.contract.as_ref() { - "crates.io:swap-contract" => match contract_version.version.as_ref() { + "swap-contract" => match contract_version.version.as_ref() { "1.0.1" => { - set_contract_version(deps.storage, format!("crates.io:{CONTRACT_NAME}"), CONTRACT_VERSION)?; + set_contract_version(deps.storage, CONTRACT_NAME.to_string(), CONTRACT_VERSION)?; } _ => return Err(ContractError::MigrationError {}), }, @@ -131,6 +131,6 @@ pub fn migrate(deps: DepsMut, _env: Env, _msg: MigrateMsg Ok(Response::new() .add_attribute("previous_contract_name", &contract_version.contract) .add_attribute("previous_contract_version", &contract_version.version) - .add_attribute("new_contract_name", format!("crates.io:{CONTRACT_NAME}")) + .add_attribute("new_contract_name", CONTRACT_NAME.to_string()) .add_attribute("new_contract_version", CONTRACT_VERSION)) } diff --git a/contracts/swap/src/queries.rs b/contracts/swap/src/queries.rs index fa1ce87..62120ff 100644 --- a/contracts/swap/src/queries.rs +++ b/contracts/swap/src/queries.rs @@ -173,7 +173,7 @@ fn estimate_execution_buy_from_source( let funds_for_margin = match is_simulation { false => funds_in_contract, // in execution mode funds_in_contract already contain user funds so we don't want to count them double - true => funds_in_contract + available_swap_quote_funds, + true => funds_in_contract + input_quote_quantity, }; if required_funds > funds_for_margin { diff --git a/contracts/swap/src/swap.rs b/contracts/swap/src/swap.rs index dc66891..60e40c1 100644 --- a/contracts/swap/src/swap.rs +++ b/contracts/swap/src/swap.rs @@ -83,7 +83,7 @@ pub fn start_swap_flow( denom: source_denom.to_owned(), }; - FPDecimal::from(coin_provided.amount) - estimation.result_quantity + FPDecimal::from(coin_provided.amount) - required_input } else { FPDecimal::ZERO }; diff --git a/contracts/swap/src/testing/integration_realistic_tests_exact_quantity.rs b/contracts/swap/src/testing/integration_realistic_tests_exact_quantity.rs index 7ed102d..2a5a916 100644 --- a/contracts/swap/src/testing/integration_realistic_tests_exact_quantity.rs +++ b/contracts/swap/src/testing/integration_realistic_tests_exact_quantity.rs @@ -798,9 +798,9 @@ fn it_correctly_swaps_between_markets_using_different_quote_assets_self_relaying let from_balance_after = query_bank_balance(&bank, USDT, swapper.address().as_str()); let to_balance_after = query_bank_balance(&bank, NINJA, swapper.address().as_str()); - // from 100000 USDT -> 96201.062128 USDT = 3798.937872 USDT + // from 100000 USDT -> 96201.062127 USDT = 3798.937872 USDT let expected_from_balance_before = human_to_dec("100000", Decimals::Six); - let expected_from_balance_after = human_to_dec("96201.062128", Decimals::Six); + let expected_from_balance_after = human_to_dec("96201.062127", Decimals::Six); // from 0 NINJA to 501000 NINJA let expected_to_balance_before = human_to_dec("0", Decimals::Six); diff --git a/contracts/swap/src/testing/migration_test.rs b/contracts/swap/src/testing/migration_test.rs index 07177bc..2784b9a 100644 --- a/contracts/swap/src/testing/migration_test.rs +++ b/contracts/swap/src/testing/migration_test.rs @@ -14,12 +14,11 @@ use injective_testing::test_tube::utils::store_code; type V101InstantiateMsg = InstantiateMsg; #[test] -#[cfg_attr(not(feature = "integration"), ignore)] fn test_migration() { let app = InjectiveTestApp::new(); let wasm = Wasm::new(&app); - let wasm_byte_code = std::fs::read("../../contracts/swap/src/testing/test_artifacts/swap-contract-v101.wasm").unwrap(); + let wasm_byte_code = std::fs::read("../../contracts/swap/src/testing/test_artifacts/swap_contract-v101.wasm").unwrap(); let validator = app.get_first_validator_signing_account(INJ.to_string(), 1.2f64).unwrap(); let owner = must_init_account_with_funds_and_setting_denoms( @@ -66,14 +65,14 @@ fn test_migration() { assert_eq!(contract_info.creator, owner.address()); assert_eq!(contract_info.label, "swap-contract"); - let swap_v110_code_id = store_code(&wasm, &owner, "swap_contract".to_string()); + let swap_v111_code_id = store_code(&wasm, &owner, "swap_contract".to_string()); let _res: ExecuteResponse = app .execute( MsgMigrateContract { sender: owner.address(), contract: swap_v101_address.clone(), - code_id: swap_v110_code_id, + code_id: swap_v111_code_id, msg: serde_json_wasm::to_vec(&MigrateMsg {}).unwrap(), }, "/cosmwasm.wasm.v1.MsgMigrateContract", @@ -93,7 +92,7 @@ fn test_migration() { let contract_info = res.contract_info.unwrap(); assert_eq!(res.address, swap_v101_address); - assert_eq!(contract_info.code_id, swap_v110_code_id); + assert_eq!(contract_info.code_id, swap_v111_code_id); assert_eq!(contract_info.creator, owner.address()); assert_eq!(contract_info.label, "swap-contract"); diff --git a/contracts/swap/src/testing/test_artifacts/swap_contract-v101.wasm b/contracts/swap/src/testing/test_artifacts/swap_contract-v101.wasm index 59d7e8a..4fad2fb 100644 Binary files a/contracts/swap/src/testing/test_artifacts/swap_contract-v101.wasm and b/contracts/swap/src/testing/test_artifacts/swap_contract-v101.wasm differ