From 1b6d8c7d2ad9d0f8b737b3d9ce41fc820ebb96ba Mon Sep 17 00:00:00 2001 From: Markus Waas Date: Sat, 24 Feb 2024 16:33:52 -0600 Subject: [PATCH 1/7] fix: round to `min_quantity_tick_size` when estimating from target buy * required for intermediate steps in multi-hop buys --- contracts/swap/src/queries.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/contracts/swap/src/queries.rs b/contracts/swap/src/queries.rs index 1a2873f..dbce82d 100644 --- a/contracts/swap/src/queries.rs +++ b/contracts/swap/src/queries.rs @@ -230,22 +230,19 @@ fn estimate_execution_buy_from_target( fee_percent: FPDecimal, is_simulation: bool, ) -> StdResult { - if !(target_base_output_quantity.num % market.min_quantity_tick_size.num).is_zero() { - return Err(StdError::generic_err( - "Target quantity must be a multiple of min_quantity_tick_size", - )); - } + let rounded_target_base_output_quantity = + round_up_to_min_tick(target_base_output_quantity, market.min_quantity_tick_size); let orders = querier.query_spot_market_orderbook( &market.market_id, OrderSide::Sell, - Some(target_base_output_quantity), + Some(rounded_target_base_output_quantity), None, )?; let top_orders = get_minimum_liquidity_levels( deps, &orders.sells_price_level, - target_base_output_quantity, + rounded_target_base_output_quantity, |l| l.q, market.min_quantity_tick_size, )?; @@ -255,12 +252,13 @@ fn estimate_execution_buy_from_target( get_average_price_from_orders(&top_orders, market.min_price_tick_size, true); let worst_price = get_worst_price_from_orders(&top_orders); - let expected_exchange_quote_quantity = target_base_output_quantity * average_price; + let expected_exchange_quote_quantity = rounded_target_base_output_quantity * average_price; let fee_estimate = expected_exchange_quote_quantity * fee_percent; let required_input_quote_quantity = expected_exchange_quote_quantity + fee_estimate; // check if user funds + contract funds are enough to create order - let required_funds = worst_price * target_base_output_quantity * (FPDecimal::ONE + fee_percent); + let required_funds = + worst_price * rounded_target_base_output_quantity * (FPDecimal::ONE + fee_percent); let funds_in_contract = deps .querier From d7bf832aac36f2159d660b76a81dcbc176053d26 Mon Sep 17 00:00:00 2001 From: Markus Waas Date: Sat, 24 Feb 2024 16:34:07 -0600 Subject: [PATCH 2/7] chore: add some maintenance tasks --- Changelog.md | 47 +++++++++++++++++++++++++++++++++++++++++++++ rust-toolchain.toml | 5 +++++ rustfmt.toml | 9 ++++----- 3 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 Changelog.md create mode 100644 rust-toolchain.toml diff --git a/Changelog.md b/Changelog.md new file mode 100644 index 0000000..431d467 --- /dev/null +++ b/Changelog.md @@ -0,0 +1,47 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [Unreleased] + +### Added + +- + +### Changed + +- + +### Fixed + +- + +## [Version v1.1.0] - 2024-02-24 + +### Added + +- This Changelog file +- `rust-toolchain` file +- Contract migration templates and migrate function + +### Changed + +- + +### Fixed + +- Correctly round to `min_quantity_tick_size` in intermediate steps for multi-hop buys + +## [Version v1.0.0] - 2024-02-16 + +### Added + +- Versioning into contract + +### Changed + +- Updated to latest CosmWasm version + +### Fixed + +- diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..f49bdba --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,5 @@ +[toolchain] +channel = "1.73.0" +components = [ "rustfmt" ] +profile = "minimal" +targets = [ "wasm32-unknown-unknown" ] diff --git a/rustfmt.toml b/rustfmt.toml index 351fd5f..845635a 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,5 +1,4 @@ -# stable -newline_style = "unix" -hard_tabs = false -tab_spaces = 4 -max_width = 150 \ No newline at end of file +hard_tabs = false +max_width = 150 +newline_style = "Unix" +tab_spaces = 4 From f7f84e5cb32c5615c87f3ab0848b23c063e3961f Mon Sep 17 00:00:00 2001 From: Markus Waas Date: Sat, 24 Feb 2024 16:35:05 -0600 Subject: [PATCH 3/7] test: add test for multi-hop buys --- ...egration_realistic_tests_exact_quantity.rs | 122 +++++++++++++++++- contracts/swap/src/testing/test_utils.rs | 60 ++++++++- 2 files changed, 172 insertions(+), 10 deletions(-) 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 53e129f..c3c3f7b 100644 --- a/contracts/swap/src/testing/integration_realistic_tests_exact_quantity.rs +++ b/contracts/swap/src/testing/integration_realistic_tests_exact_quantity.rs @@ -7,16 +7,18 @@ use injective_math::FPDecimal; use crate::msg::{ExecuteMsg, QueryMsg}; use crate::testing::test_utils::{ are_fpdecimals_approximately_equal, assert_fee_is_as_expected, - create_realistic_atom_usdt_sell_orders_from_spreadsheet, + create_ninja_inj_both_side_orders, create_realistic_atom_usdt_sell_orders_from_spreadsheet, create_realistic_eth_usdt_buy_orders_from_spreadsheet, create_realistic_eth_usdt_sell_orders_from_spreadsheet, - create_realistic_inj_usdt_buy_orders_from_spreadsheet, create_realistic_limit_order, + create_realistic_inj_usdt_buy_orders_from_spreadsheet, + create_realistic_inj_usdt_sell_orders_from_spreadsheet, create_realistic_limit_order, create_realistic_usdt_usdc_both_side_orders, human_to_dec, init_rich_account, init_self_relaying_contract_and_get_address, launch_realistic_atom_usdt_spot_market, - launch_realistic_inj_usdt_spot_market, launch_realistic_usdt_usdc_spot_market, - launch_realistic_weth_usdt_spot_market, must_init_account_with_funds, query_all_bank_balances, - query_bank_balance, set_route_and_assert_success, str_coin, Decimals, OrderSide, ATOM, ETH, - INJ, INJ_2, USDC, USDT, + launch_realistic_inj_usdt_spot_market, launch_realistic_ninja_inj_spot_market, + launch_realistic_usdt_usdc_spot_market, launch_realistic_weth_usdt_spot_market, + must_init_account_with_funds, query_all_bank_balances, query_bank_balance, + set_route_and_assert_success, str_coin, Decimals, OrderSide, ATOM, ETH, INJ, INJ_2, NINJA, + USDC, USDT, }; use crate::types::{FPCoin, SwapEstimationResult}; @@ -894,6 +896,114 @@ fn it_correctly_swaps_between_markets_using_different_quote_assets_self_relaying ); } +#[test] +fn it_correctly_swaps_between_markets_using_different_quote_assets_self_relaying_ninja() { + let app = InjectiveTestApp::new(); + let wasm = Wasm::new(&app); + let exchange = Exchange::new(&app); + let bank = Bank::new(&app); + + let _signer = must_init_account_with_funds(&app, &[str_coin("1", INJ, Decimals::Eighteen)]); + let _validator = app + .get_first_validator_signing_account(INJ.to_string(), 1.2f64) + .unwrap(); + + let owner = must_init_account_with_funds( + &app, + &[ + str_coin("1_000", USDT, Decimals::Six), + str_coin("1_000", USDC, Decimals::Six), + str_coin("1_000", NINJA, Decimals::Six), + str_coin("10_000", INJ, Decimals::Eighteen), + str_coin("101", INJ_2, Decimals::Eighteen), + ], + ); + + let spot_market_1_id = launch_realistic_inj_usdt_spot_market(&exchange, &owner); + let spot_market_2_id = launch_realistic_ninja_inj_spot_market(&exchange, &owner); + + let contr_addr = init_self_relaying_contract_and_get_address( + &wasm, + &owner, + &[ + str_coin("100", INJ_2, Decimals::Eighteen), + str_coin("10", USDC, Decimals::Six), + str_coin("500", USDT, Decimals::Six), + ], + ); + set_route_and_assert_success( + &wasm, + &owner, + &contr_addr, + USDT, + NINJA, + vec![ + spot_market_1_id.as_str().into(), + spot_market_2_id.as_str().into(), + ], + ); + + let trader1 = init_rich_account(&app); + + create_realistic_inj_usdt_sell_orders_from_spreadsheet(&app, &spot_market_1_id, &trader1); + create_ninja_inj_both_side_orders(&app, &spot_market_2_id, &trader1); + + app.increase_time(1); + + let swapper = must_init_account_with_funds( + &app, + &[ + str_coin("1", INJ, Decimals::Eighteen), + str_coin("100000", USDT, Decimals::Six), + ], + ); + + let usdt_to_swap = "100000"; + let to_output_quantity = human_to_dec("501000", Decimals::Six); + + let from_balance_before = query_bank_balance(&bank, USDT, swapper.address().as_str()); + let to_balance_before = query_bank_balance(&bank, NINJA, swapper.address().as_str()); + + wasm.execute( + &contr_addr, + &ExecuteMsg::SwapExactOutput { + target_denom: NINJA.to_string(), + target_output_quantity: to_output_quantity, + }, + &[str_coin(usdt_to_swap, USDT, Decimals::Six)], + &swapper, + ) + .unwrap(); + + 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 + let expected_from_balance_before = human_to_dec("100000", Decimals::Six); + let expected_from_balance_after = human_to_dec("96201.062128", Decimals::Six); + + // from 0 NINJA to 501000 NINJA + let expected_to_balance_before = human_to_dec("0", Decimals::Six); + let expected_to_balance_after = human_to_dec("501000", Decimals::Six); + + assert_eq!( + from_balance_before, expected_from_balance_before, + "incorrect original amount was left after swap" + ); + assert_eq!( + to_balance_before, expected_to_balance_before, + "incorrect target amount after swap" + ); + assert_eq!( + from_balance_after, expected_from_balance_after, + "incorrect original amount was left after swap" + ); + assert_eq!( + to_balance_after, expected_to_balance_after, + "incorrect target amount after swap" + ); +} + #[test] fn it_doesnt_lose_buffer_if_exact_swap_of_eth_to_atom_is_executed_multiple_times() { let app = InjectiveTestApp::new(); diff --git a/contracts/swap/src/testing/test_utils.rs b/contracts/swap/src/testing/test_utils.rs index 6c1aac2..1195e33 100644 --- a/contracts/swap/src/testing/test_utils.rs +++ b/contracts/swap/src/testing/test_utils.rs @@ -45,6 +45,7 @@ pub const USDT: &str = "usdt"; pub const USDC: &str = "usdc"; pub const INJ: &str = "inj"; pub const INJ_2: &str = "inj_2"; +pub const NINJA: &str = "ninja"; pub const DEFAULT_TAKER_FEE: f64 = 0.001; pub const DEFAULT_ATOMIC_MULTIPLIER: f64 = 2.5; @@ -445,6 +446,20 @@ pub fn launch_realistic_usdt_usdc_spot_market( ) } +pub fn launch_realistic_ninja_inj_spot_market( + exchange: &Exchange, + signer: &SigningAccount, +) -> String { + launch_custom_spot_market( + exchange, + signer, + NINJA, + INJ_2, + dec_to_proto(FPDecimal::must_from_str("1000000")).as_str(), + dec_to_proto(FPDecimal::must_from_str("10000000")).as_str(), + ) +} + pub fn create_realistic_eth_usdt_buy_orders_from_spreadsheet( app: &InjectiveTestApp, market_id: &str, @@ -577,6 +592,23 @@ pub fn create_realistic_inj_usdt_buy_orders_from_spreadsheet( ); } +pub fn create_realistic_inj_usdt_sell_orders_from_spreadsheet( + app: &InjectiveTestApp, + market_id: &str, + trader1: &SigningAccount, +) { + create_realistic_limit_order( + app, + trader1, + market_id, + OrderSide::Sell, + "36", + "2821.001", + Decimals::Eighteen, + Decimals::Six, + ); +} + pub fn create_realistic_atom_usdt_sell_orders_from_spreadsheet( app: &InjectiveTestApp, market_id: &str, @@ -657,6 +689,24 @@ pub fn create_realistic_usdt_usdc_both_side_orders( ); } +// not really realistic yet +pub fn create_ninja_inj_both_side_orders( + app: &InjectiveTestApp, + market_id: &str, + trader1: &SigningAccount, +) { + create_realistic_limit_order( + app, + trader1, + market_id, + OrderSide::Sell, + "0.00021", + "1001000", + Decimals::Six, + Decimals::Eighteen, + ); +} + #[derive(PartialEq)] pub enum OrderSide { Buy, @@ -949,6 +999,8 @@ pub fn init_rich_account(app: &InjectiveTestApp) -> SigningAccount { str_coin("100_000_000", USDT, Decimals::Six), str_coin("100_000_000", USDC, Decimals::Six), str_coin("100_000", INJ, Decimals::Eighteen), + str_coin("100_000", INJ_2, Decimals::Eighteen), + str_coin("100_000_000_000_000_000", NINJA, Decimals::Six), ], ) } @@ -1239,7 +1291,7 @@ mod tests { } #[test] - fn it_scales_integer_values_correctly_for_inj_udst() { + fn it_scales_integer_values_correctly_for_inj_usdt() { let price = "1"; let quantity = "1"; @@ -1259,7 +1311,7 @@ mod tests { } #[test] - fn it_scales_decimal_values_correctly_for_inj_udst() { + fn it_scales_decimal_values_correctly_for_inj_usdt() { let price = "8.782"; let quantity = "1.12"; @@ -1278,7 +1330,7 @@ mod tests { } #[test] - fn it_scales_integer_values_correctly_for_atom_udst() { + fn it_scales_integer_values_correctly_for_atom_usdt() { let price = "1"; let quantity = "1"; @@ -1301,7 +1353,7 @@ mod tests { } #[test] - fn it_scales_decimal_values_correctly_for_atom_udst() { + fn it_scales_decimal_values_correctly_for_atom_usdt() { let price = "1.129"; let quantity = "1.62"; From 61a2c0711a3b761318577b60cb1319718fea2627 Mon Sep 17 00:00:00 2001 From: Markus Waas Date: Sat, 24 Feb 2024 16:36:29 -0600 Subject: [PATCH 4/7] feat: add contract migration system --- Cargo.lock | 51 ++++++++++++++++--------------- contracts/swap/Cargo.toml | 5 +-- contracts/swap/src/admin.rs | 2 ++ contracts/swap/src/contract.rs | 56 ++++++++++++++++++++++++++++++++-- contracts/swap/src/error.rs | 5 ++- contracts/swap/src/helpers.rs | 27 ++++++++++++++-- contracts/swap/src/msg.rs | 3 ++ contracts/swap/src/state.rs | 6 ++++ 8 files changed, 122 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fdbec18..5946dff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1311,31 +1311,6 @@ dependencies = [ "hashbrown", ] -[[package]] -name = "injective-converter" -version = "1.0.0" -dependencies = [ - "cosmwasm-schema", - "cosmwasm-std", - "cosmwasm-storage", - "cw-multi-test", - "cw-storage-plus 0.14.0", - "cw-utils 0.14.0", - "cw2 0.14.0", - "injective-cosmwasm", - "injective-math", - "injective-protobuf", - "injective-std", - "injective-test-tube", - "num-traits", - "prost 0.11.9", - "protobuf", - "schemars", - "serde", - "serde-json-wasm", - "thiserror", -] - [[package]] name = "injective-cosmwasm" version = "0.2.18" @@ -2389,6 +2364,32 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" +[[package]] +name = "swap-contract" +version = "1.1.0" +dependencies = [ + "cosmos-sdk-proto", + "cosmwasm-schema", + "cosmwasm-std", + "cosmwasm-storage", + "cw-multi-test", + "cw-storage-plus 0.14.0", + "cw-utils 0.14.0", + "cw2 0.14.0", + "injective-cosmwasm", + "injective-math", + "injective-protobuf", + "injective-std", + "injective-test-tube", + "num-traits", + "prost 0.11.9", + "protobuf", + "schemars", + "serde", + "serde-json-wasm", + "thiserror", +] + [[package]] name = "syn" version = "1.0.109" diff --git a/contracts/swap/Cargo.toml b/contracts/swap/Cargo.toml index d9d0327..9e01aaf 100644 --- a/contracts/swap/Cargo.toml +++ b/contracts/swap/Cargo.toml @@ -1,8 +1,8 @@ [package] authors = [ "Markus Waas " ] edition = "2021" -name = "injective-converter" -version = "1.0.0" +name = "swap-contract" +version = "1.1.0" 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. @@ -45,6 +45,7 @@ serde-json-wasm = "0.5.1" thiserror = { version = "1.0.31" } [dev-dependencies] +cosmos-sdk-proto = { version = "0.19.0", default-features = false } cosmwasm-schema = "1.5.0" cw-multi-test = "0.16.2" injective-std = { version = "0.1.5" } diff --git a/contracts/swap/src/admin.rs b/contracts/swap/src/admin.rs index 79f8a98..1289aa6 100644 --- a/contracts/swap/src/admin.rs +++ b/contracts/swap/src/admin.rs @@ -24,6 +24,8 @@ pub fn save_config( fee_recipient, admin, }; + config.to_owned().validate()?; + CONFIG.save(deps.storage, &config) } diff --git a/contracts/swap/src/contract.rs b/contracts/swap/src/contract.rs index 6592215..aa54ca8 100644 --- a/contracts/swap/src/contract.rs +++ b/contracts/swap/src/contract.rs @@ -6,18 +6,18 @@ use cosmwasm_std::{ use cw2::{get_contract_version, set_contract_version}; use crate::admin::{delete_route, save_config, set_route, update_config, withdraw_support_funds}; +use crate::helpers::handle_config_migration; use crate::types::{ConfigResponse, SwapQuantityMode}; use injective_cosmwasm::{InjectiveMsgWrapper, InjectiveQueryWrapper}; use crate::error::ContractError; -use crate::msg::{ExecuteMsg, InstantiateMsg, QueryMsg}; +use crate::msg::{ExecuteMsg, InstantiateMsg, MigrateMsg, QueryMsg}; use crate::queries::{estimate_swap_result, SwapQuantity}; use crate::state::{get_all_swap_routes, get_config, read_swap_route}; use crate::swap::{handle_atomic_order_reply, start_swap_flow}; -// version info for migration info -pub const CONTRACT_NAME: &str = "crates.io:atomic-order-example"; +pub const CONTRACT_NAME: &str = env!("CARGO_PKG_NAME"); pub const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION"); pub const ATOMIC_ORDER_REPLY_ID: u64 = 1u64; @@ -32,6 +32,7 @@ pub fn instantiate( ) -> Result, ContractError> { set_contract_version(deps.storage, CONTRACT_NAME, CONTRACT_VERSION)?; save_config(deps, env, msg.admin, msg.fee_recipient)?; + Ok(Response::new() .add_attribute("method", "instantiate") .add_attribute("owner", info.sender)) @@ -98,6 +99,55 @@ pub fn reply( } } +#[cfg_attr(not(feature = "library"), entry_point)] +pub fn migrate( + deps: DepsMut, + _env: Env, + _msg: MigrateMsg, +) -> Result { + let contract_version = get_contract_version(deps.storage)?; + + match contract_version.contract.as_ref() { + // old contract name + "crates.io:atomic-order-example" => match contract_version.version.as_ref() { + "0.1.0" => { + unimplemented!( + "Migration from version {} is no longer supported", + contract_version.version + ); + } + "1.0.0" => { + deps.api.debug("BBB"); + + set_contract_version( + deps.storage, + format!("crates.io:{CONTRACT_NAME}"), + CONTRACT_VERSION, + )?; + + handle_config_migration(deps)?; + } + _ => return Err(ContractError::MigrationError {}), + }, + "crates.io:swap-contract" => match contract_version.version.as_ref() { + "1.0.1" => { + unimplemented!( + "Migration from version {} is no yet supported", + contract_version.version + ); + } + _ => return Err(ContractError::MigrationError {}), + }, + _ => return Err(ContractError::MigrationError {}), + } + + 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_version", CONTRACT_VERSION)) +} + #[cfg_attr(not(feature = "library"), entry_point)] pub fn query(deps: Deps, env: Env, msg: QueryMsg) -> StdResult { match msg { diff --git a/contracts/swap/src/error.rs b/contracts/swap/src/error.rs index f9b18cf..a0037db 100644 --- a/contracts/swap/src/error.rs +++ b/contracts/swap/src/error.rs @@ -16,7 +16,7 @@ pub enum ContractError { #[error("Failure response from submsg: {0}")] SubMsgFailure(String), - #[error("Unrecognised reply id: {0}")] + #[error("Unrecognized reply id: {0}")] UnrecognizedReply(u64), #[error("Invalid reply from sub-message {id}, {err}")] @@ -27,4 +27,7 @@ pub enum ContractError { #[error("Provided amount of {0} is below required amount of {1}")] InsufficientFundsProvided(FPDecimal, FPDecimal), + + #[error("Contract can't be migrated")] + MigrationError {}, } diff --git a/contracts/swap/src/helpers.rs b/contracts/swap/src/helpers.rs index 27d8f17..498bedc 100644 --- a/contracts/swap/src/helpers.rs +++ b/contracts/swap/src/helpers.rs @@ -1,8 +1,11 @@ -use cosmwasm_std::{CosmosMsg, SubMsg}; +use cosmwasm_std::{CosmosMsg, DepsMut, Response, SubMsg}; -use injective_cosmwasm::InjectiveMsgWrapper; +use cw_storage_plus::Item; +use injective_cosmwasm::{InjectiveMsgWrapper, InjectiveQueryWrapper}; use injective_math::FPDecimal; +use crate::{state::CONFIG, types::Config, ContractError}; + pub fn i32_to_dec(source: i32) -> FPDecimal { FPDecimal::from(i128::from(source)) } @@ -49,6 +52,26 @@ pub fn dec_scale_factor() -> FPDecimal { FPDecimal::ONE.scaled(18) } +type V100Config = Config; +const V100CONFIG: Item = Item::new("config"); + +pub fn handle_config_migration( + deps: DepsMut, +) -> Result { + let v100_config = V100CONFIG.load(deps.storage)?; + + let config = Config { + fee_recipient: v100_config.fee_recipient, + admin: v100_config.admin, + }; + + CONFIG.save(deps.storage, &config)?; + + config.validate()?; + + Ok(Response::default()) +} + #[cfg(test)] mod tests { use super::*; diff --git a/contracts/swap/src/msg.rs b/contracts/swap/src/msg.rs index f0c841e..37590b7 100644 --- a/contracts/swap/src/msg.rs +++ b/contracts/swap/src/msg.rs @@ -18,6 +18,9 @@ pub struct InstantiateMsg { pub admin: Addr, } +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] +pub struct MigrateMsg {} + #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { diff --git a/contracts/swap/src/state.rs b/contracts/swap/src/state.rs index bc90154..bcc85a2 100644 --- a/contracts/swap/src/state.rs +++ b/contracts/swap/src/state.rs @@ -9,6 +9,12 @@ pub const STEP_STATE: Item = Item::new("current_step_cache"); pub const SWAP_RESULTS: Item> = Item::new("swap_results"); pub const CONFIG: Item = Item::new("config"); +impl Config { + pub fn validate(self) -> StdResult<()> { + Ok(()) + } +} + pub fn store_swap_route(storage: &mut dyn Storage, route: &SwapRoute) -> StdResult<()> { let key = route_key(&route.source_denom, &route.target_denom); SWAP_ROUTES.save(storage, key, route) From a6e968bc0d39f7383cc0e4ddb190fa667235ebe5 Mon Sep 17 00:00:00 2001 From: Markus Waas Date: Sat, 24 Feb 2024 16:36:38 -0600 Subject: [PATCH 5/7] test: add tests for contract migrations --- ...ntegration_realistic_tests_min_quantity.rs | 57 +++++---- contracts/swap/src/testing/migration_test.rs | 109 ++++++++++++++++++ contracts/swap/src/testing/mod.rs | 1 + .../test_artifacts/swap-contract-v100.wasm | Bin 0 -> 549994 bytes 4 files changed, 143 insertions(+), 24 deletions(-) create mode 100644 contracts/swap/src/testing/migration_test.rs create mode 100644 contracts/swap/src/testing/test_artifacts/swap-contract-v100.wasm diff --git a/contracts/swap/src/testing/integration_realistic_tests_min_quantity.rs b/contracts/swap/src/testing/integration_realistic_tests_min_quantity.rs index ed4d64a..6213738 100644 --- a/contracts/swap/src/testing/integration_realistic_tests_min_quantity.rs +++ b/contracts/swap/src/testing/integration_realistic_tests_min_quantity.rs @@ -1,4 +1,6 @@ -use injective_test_tube::{Account, Bank, Exchange, InjectiveTestApp, Module, RunnerResult, Wasm}; +use injective_test_tube::{ + Account, Bank, Exchange, InjectiveTestApp, Module, RunnerResult, SigningAccount, Wasm, +}; use std::ops::Neg; use crate::helpers::Scaled; @@ -35,36 +37,14 @@ use crate::types::{FPCoin, SwapEstimationResult}; In all tests contract is configured to self-relay trades and thus receive a 60% fee discount. */ -#[test] -fn happy_path_two_hops_swap_eth_atom_realistic_values_self_relaying() { - let app = InjectiveTestApp::new(); +pub fn happy_path_two_hops_test(app: InjectiveTestApp, owner: SigningAccount, contr_addr: String) { let wasm = Wasm::new(&app); let exchange = Exchange::new(&app); let bank = Bank::new(&app); - let _signer = must_init_account_with_funds(&app, &[str_coin("1", INJ, Decimals::Eighteen)]); - - let _validator = app - .get_first_validator_signing_account(INJ.to_string(), 1.2f64) - .unwrap(); - let owner = must_init_account_with_funds( - &app, - &[ - str_coin("1", ETH, Decimals::Eighteen), - str_coin("1", ATOM, Decimals::Six), - str_coin("1_000", USDT, Decimals::Six), - str_coin("10_000", INJ, Decimals::Eighteen), - ], - ); - let spot_market_1_id = launch_realistic_weth_usdt_spot_market(&exchange, &owner); let spot_market_2_id = launch_realistic_atom_usdt_spot_market(&exchange, &owner); - let contr_addr = init_self_relaying_contract_and_get_address( - &wasm, - &owner, - &[str_coin("1_000", USDT, Decimals::Six)], - ); set_route_and_assert_success( &wasm, &owner, @@ -227,6 +207,35 @@ fn happy_path_two_hops_swap_eth_atom_realistic_values_self_relaying() { ); } +#[test] +fn happy_path_two_hops_swap_eth_atom_realistic_values_self_relaying() { + let app = InjectiveTestApp::new(); + let wasm = Wasm::new(&app); + + let _signer = must_init_account_with_funds(&app, &[str_coin("1", INJ, Decimals::Eighteen)]); + + let _validator = app + .get_first_validator_signing_account(INJ.to_string(), 1.2f64) + .unwrap(); + let owner = must_init_account_with_funds( + &app, + &[ + str_coin("1", ETH, Decimals::Eighteen), + str_coin("1", ATOM, Decimals::Six), + str_coin("1_000", USDT, Decimals::Six), + str_coin("10_000", INJ, Decimals::Eighteen), + ], + ); + + let contr_addr = init_self_relaying_contract_and_get_address( + &wasm, + &owner, + &[str_coin("1_000", USDT, Decimals::Six)], + ); + + happy_path_two_hops_test(app, owner, contr_addr); +} + #[test] fn happy_path_two_hops_swap_inj_eth_realistic_values_self_relaying() { let app = InjectiveTestApp::new(); diff --git a/contracts/swap/src/testing/migration_test.rs b/contracts/swap/src/testing/migration_test.rs new file mode 100644 index 0000000..73dc413 --- /dev/null +++ b/contracts/swap/src/testing/migration_test.rs @@ -0,0 +1,109 @@ +use crate::{ + msg::{FeeRecipient, InstantiateMsg, MigrateMsg}, + testing::{ + integration_realistic_tests_min_quantity::happy_path_two_hops_test, + test_utils::{ + must_init_account_with_funds, store_code, str_coin, Decimals, ATOM, ETH, INJ, USDT, + }, + }, +}; + +use cosmos_sdk_proto::cosmwasm::wasm::v1::{ + MsgMigrateContract, MsgMigrateContractResponse, QueryContractInfoRequest, + QueryContractInfoResponse, +}; +use cosmwasm_std::Addr; +use injective_test_tube::{Account, ExecuteResponse, InjectiveTestApp, Module, Runner, Wasm}; + +type V100InstantiateMsg = InstantiateMsg; + +#[test] +#[cfg_attr(not(feature = "integration"), ignore)] +fn test_migration_v100_to_v101() { + let app = InjectiveTestApp::new(); + let wasm = Wasm::new(&app); + + let wasm_byte_code = + std::fs::read("../../contracts/swap/src/testing/test_artifacts/swap-contract-v100.wasm") + .unwrap(); + + let owner = must_init_account_with_funds( + &app, + &[ + str_coin("1", ETH, Decimals::Eighteen), + str_coin("1", ATOM, Decimals::Six), + str_coin("1_000", USDT, Decimals::Six), + str_coin("10_000", INJ, Decimals::Eighteen), + ], + ); + + let swap_v100_code_id = wasm + .store_code(&wasm_byte_code, None, &owner) + .unwrap() + .data + .code_id; + + let swap_v100_address: String = wasm + .instantiate( + swap_v100_code_id, + &V100InstantiateMsg { + admin: Addr::unchecked(owner.address()), + fee_recipient: FeeRecipient::SwapContract, + }, + Some(&owner.address()), + Some("swap-contract"), + &[str_coin("1_000", USDT, Decimals::Six)], + &owner, + ) + .unwrap() + .data + .address; + + let res: QueryContractInfoResponse = app + .query( + "/cosmwasm.wasm.v1.Query/ContractInfo", + &QueryContractInfoRequest { + address: swap_v100_address.clone(), + }, + ) + .unwrap(); + let contract_info = res.contract_info.unwrap(); + + assert_eq!(res.address, swap_v100_address); + assert_eq!(contract_info.code_id, swap_v100_code_id); + 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 _res: ExecuteResponse = app + .execute( + MsgMigrateContract { + sender: owner.address(), + contract: swap_v100_address.clone(), + code_id: swap_v110_code_id, + msg: serde_json_wasm::to_vec(&MigrateMsg {}).unwrap(), + }, + "/cosmwasm.wasm.v1.MsgMigrateContract", + &owner, + ) + .unwrap(); + + let res: QueryContractInfoResponse = app + .query( + "/cosmwasm.wasm.v1.Query/ContractInfo", + &QueryContractInfoRequest { + address: swap_v100_address.clone(), + }, + ) + .unwrap(); + + let contract_info = res.contract_info.unwrap(); + + assert_eq!(res.address, swap_v100_address); + assert_eq!(contract_info.code_id, swap_v110_code_id); + assert_eq!(contract_info.creator, owner.address()); + assert_eq!(contract_info.label, "swap-contract"); + + happy_path_two_hops_test(app, owner, swap_v100_address); +} diff --git a/contracts/swap/src/testing/mod.rs b/contracts/swap/src/testing/mod.rs index 91e596c..ed9f565 100644 --- a/contracts/swap/src/testing/mod.rs +++ b/contracts/swap/src/testing/mod.rs @@ -2,6 +2,7 @@ mod config_tests; mod integration_logic_tests; mod integration_realistic_tests_exact_quantity; mod integration_realistic_tests_min_quantity; +mod migration_test; mod queries_tests; mod storage_tests; mod swap_tests; diff --git a/contracts/swap/src/testing/test_artifacts/swap-contract-v100.wasm b/contracts/swap/src/testing/test_artifacts/swap-contract-v100.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4bdd560712328985009c10daa7f9da0f9c609fc0 GIT binary patch literal 549994 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%0Dfxrn*-Gd5Z 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 A(f|Me literal 0 HcmV?d00001 From 9a0b6246fe7d6513ade771597554ad7ecefcc5bc Mon Sep 17 00:00:00 2001 From: Markus Waas Date: Sat, 24 Feb 2024 16:59:16 -0600 Subject: [PATCH 6/7] chore: rename injective-converter -> swap-contract --- .github/workflows/rust.yaml | 2 +- contracts/swap/src/testing/test_utils.rs | 4 ++-- copy_to_devnet_setup.sh | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml index cc202e1..e9a8a28 100644 --- a/.github/workflows/rust.yaml +++ b/.github/workflows/rust.yaml @@ -65,7 +65,7 @@ jobs: toolchain: 1.74.0 args: --locked --tests env: - LLVM_PROFILE_FILE: "swap-converter-%p-%m.profraw" + LLVM_PROFILE_FILE: "swap-contract-%p-%m.profraw" RUSTFLAGS: "-Cinstrument-coverage" RUST_BACKTRACE: 1 diff --git a/contracts/swap/src/testing/test_utils.rs b/contracts/swap/src/testing/test_utils.rs index 1195e33..ccee9a3 100644 --- a/contracts/swap/src/testing/test_utils.rs +++ b/contracts/swap/src/testing/test_utils.rs @@ -817,7 +817,7 @@ pub fn init_self_relaying_contract_and_get_address( owner: &SigningAccount, initial_balance: &[Coin], ) -> String { - let code_id = store_code(wasm, owner, "injective_converter".to_string()); + let code_id = store_code(wasm, owner, "swap_contract".to_string()); wasm.instantiate( code_id, &InstantiateMsg { @@ -840,7 +840,7 @@ pub fn init_contract_with_fee_recipient_and_get_address( initial_balance: &[Coin], fee_recipient: &SigningAccount, ) -> String { - let code_id = store_code(wasm, owner, "injective_converter".to_string()); + let code_id = store_code(wasm, owner, "swap_contract".to_string()); wasm.instantiate( code_id, &InstantiateMsg { diff --git a/copy_to_devnet_setup.sh b/copy_to_devnet_setup.sh index 38cdad4..2b34097 100755 --- a/copy_to_devnet_setup.sh +++ b/copy_to_devnet_setup.sh @@ -7,7 +7,7 @@ fi COMMIT_HASH=$(git rev-parse --short HEAD) -rm -f ../devnet-setup/wasm-contracts/swap_converter* -cp artifacts/injective_converter$ARCH.wasm ../devnet-setup/wasm-contracts/swap_converter_${COMMIT_HASH}.wasm +rm -f ../devnet-setup/wasm-contracts/swap_contract* +cp artifacts/swap_contract$ARCH.wasm ../devnet-setup/wasm-contracts/swap_contract_${COMMIT_HASH}.wasm -echo "SWAP_CONVERTER_COMMIT_HASH=$COMMIT_HASH" > "../devnet-setup/wasm-contracts/swap_converter.version" \ No newline at end of file +echo "SWAP_CONVERTER_COMMIT_HASH=$COMMIT_HASH" > "../devnet-setup/wasm-contracts/swap_contract.version" \ No newline at end of file From c827e7f30b48acf8222948b05c7dd64fffbeeba2 Mon Sep 17 00:00:00 2001 From: Markus Waas Date: Sun, 25 Feb 2024 07:33:53 -0600 Subject: [PATCH 7/7] fix: use only patch upgrade version * as suggested by @maxrobot --- Cargo.lock | 2 +- contracts/swap/Cargo.toml | 2 +- contracts/swap/src/contract.rs | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5946dff..6ccb2d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2366,7 +2366,7 @@ checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" [[package]] name = "swap-contract" -version = "1.1.0" +version = "1.0.1" dependencies = [ "cosmos-sdk-proto", "cosmwasm-schema", diff --git a/contracts/swap/Cargo.toml b/contracts/swap/Cargo.toml index 9e01aaf..aa57bc1 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.0.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 aa54ca8..3702ecb 100644 --- a/contracts/swap/src/contract.rs +++ b/contracts/swap/src/contract.rs @@ -117,8 +117,6 @@ pub fn migrate( ); } "1.0.0" => { - deps.api.debug("BBB"); - set_contract_version( deps.storage, format!("crates.io:{CONTRACT_NAME}"),