From d4c128cdd4b3cabab1e2ee976010f2e17271d2e4 Mon Sep 17 00:00:00 2001
From: Kaloyan Gangov <gangov1@gmail.com>
Date: Tue, 14 Nov 2023 00:19:13 +0200
Subject: [PATCH] Multihop, Pool: testing the resource usage of the contracts

---
 contracts/multihop/src/contract.rs   | 24 ++++++++++++------------
 contracts/multihop/src/tests/swap.rs | 12 ++++++++++++
 2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/contracts/multihop/src/contract.rs b/contracts/multihop/src/contract.rs
index 99a6703b0..2e65b94eb 100644
--- a/contracts/multihop/src/contract.rs
+++ b/contracts/multihop/src/contract.rs
@@ -73,10 +73,10 @@ impl MultihopTrait for Multihop {
         if operations.is_empty() {
             panic!("Multihop: Swap: operations is empty!");
         }
-        std::println!("{}", "verify operations");
-        env.budget().reset_default();
+        // std::println!("{}", "verify operations");
+        // env.budget().reset_default();
         verify_swap(&operations);
-        env.budget().print();
+        // env.budget().print();
 
         recipient.require_auth();
 
@@ -84,20 +84,20 @@ impl MultihopTrait for Multihop {
         // subsequent are the results of the previous swap
         let mut next_offer_amount: i128 = amount;
 
-        std::println!("{}", "make factory client");
-        env.budget().reset_default();
+        // std::println!("{}", "make factory client");
+        // env.budget().reset_default();
         let factory_client = factory_contract::Client::new(&env, &get_factory(&env));
-        env.budget().print();
+        // env.budget().print();
 
         operations.iter().for_each(|op| {
-            std::println!("{}", "factory query for lp");
-            env.budget().reset_default();
+            // std::println!("{}", "factory query for lp");
+            // env.budget().reset_default();
             let liquidity_pool_addr: Address = factory_client
                 .query_for_pool_by_token_pair(&op.clone().offer_asset, &op.ask_asset.clone());
-            env.budget().print();
+            // env.budget().print();
 
-            std::println!("{}", "lp contract call for swap");
-            env.budget().reset_default();
+            // std::println!("{}", "lp contract call for swap");
+            // env.budget().reset_default();
             let lp_client = lp_contract::Client::new(&env, &liquidity_pool_addr);
             if let Some(referral) = referral.clone() {
                 next_offer_amount = lp_client.swap(
@@ -118,7 +118,7 @@ impl MultihopTrait for Multihop {
                     &max_spread_bps,
                 );
             }
-            env.budget().print();
+            // env.budget().print();
         });
     }
 
diff --git a/contracts/multihop/src/tests/swap.rs b/contracts/multihop/src/tests/swap.rs
index baef0c545..c33941c07 100644
--- a/contracts/multihop/src/tests/swap.rs
+++ b/contracts/multihop/src/tests/swap.rs
@@ -85,7 +85,9 @@ fn swap_three_equal_pools_no_fees() {
 
     let operations = vec![&env, swap1, swap2, swap3];
 
+    // env.budget().reset_default();
     multihop.swap(&recipient, &None, &operations, &None, &None, &50i128);
+    // env.budget().print();
 
     // 5. check if it goes according to plan
     assert_eq!(token1.balance(&recipient), 0i128);
@@ -167,6 +169,7 @@ fn swap_three_equal_pools_no_fees_referral_fee() {
         fee: 1_000,
     };
 
+    // env.budget().reset_default();
     multihop.swap(
         &recipient,
         &Some(referral),
@@ -176,6 +179,7 @@ fn swap_three_equal_pools_no_fees_referral_fee() {
         &50i128,
     );
 
+    // env.budget().print();
     // 5. check if it goes according to plan
     assert_eq!(token1.balance(&recipient), 0i128);
     assert_eq!(token4.balance(&recipient), 37i128);
@@ -226,7 +230,9 @@ fn swap_single_pool_no_fees() {
 
     let operations = vec![&env, swap1];
 
+    env.budget().reset_default();
     multihop.swap(&recipient, &None, &operations, &None, &None, &1_000);
+    env.budget().print();
 
     // 5. check if it goes according to plan
     assert_eq!(token1.balance(&recipient), 4_000i128); // -1_000 token0
@@ -312,7 +318,9 @@ fn swap_single_pool_with_fees() {
 
     let operations = vec![&env, swap1];
 
+    // env.budget().reset_default();
     multihop.swap(&recipient, &None, &operations, &None, &None, &300i128);
+    // env.budget().print();
 
     // 5. check if it goes according to plan
     // 1000 tokens initially
@@ -393,7 +401,9 @@ fn swap_three_different_pools_no_fees() {
 
     let operations = vec![&env, swap1, swap2, swap3];
 
+    // env.budget().reset_default();
     multihop.swap(&recipient, &None, &operations, &None, &None, &5_000i128);
+    // env.budget().print();
 
     // 5. check if it goes according to plan
     assert_eq!(token1.balance(&recipient), 0i128);
@@ -473,7 +483,9 @@ fn swap_three_different_pools_with_fees() {
 
     let operations = vec![&env, swap1, swap2, swap3];
 
+    env.budget().reset_default();
     multihop.swap(&recipient, &None, &operations, &None, &None, &10_000i128);
+    env.budget().print();
 
     // we start swapping 10_000 tokens