Просмотр исходного кода

contract/money: Remove pow-reward test

This is now to be done through the integration test.
parazyd 2 лет назад
Родитель
Сommit
f007d1a732
2 измененных файлов с 2 добавлено и 203 удалено
  1. 2 8
      src/contract/money/Makefile
  2. 0 195
      src/contract/money/tests/pow_reward.rs

+ 2 - 8
src/contract/money/Makefile

@@ -62,19 +62,13 @@ test-genesis-mint: all
 		--features=no-entrypoint,client \
 		--features=no-entrypoint,client \
 		--test genesis_mint
 		--test genesis_mint
 
 
-test-pow-reward: all
-	RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) test --target=$(RUST_TARGET) \
-		--release --package $(PKGNAME) \
-		--features=no-entrypoint,client \
-		--test pow_reward
-
 test-token-mint: all
 test-token-mint: all
 	RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) test --target=$(RUST_TARGET) \
 	RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) test --target=$(RUST_TARGET) \
 		--release --package $(PKGNAME) \
 		--release --package $(PKGNAME) \
 		--features=no-entrypoint,client \
 		--features=no-entrypoint,client \
 		--test token_mint
 		--test token_mint
 
 
-test: test-integration test-mint-pay-swap test-genesis-mint test-pow-reward test-token-mint
+test: test-integration test-mint-pay-swap test-genesis-mint test-token-mint
 
 
 clippy: all
 clippy: all
 	RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clippy --target=$(WASM_TARGET) \
 	RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clippy --target=$(WASM_TARGET) \
@@ -90,4 +84,4 @@ clean:
 		--release --package $(PKGNAME)
 		--release --package $(PKGNAME)
 	rm -f $(PROOFS_BIN) $(WASM_BIN)
 	rm -f $(PROOFS_BIN) $(WASM_BIN)
 
 
-.PHONY: all test-integration test-mint-pay-swap test-genesis-mint test-pow-reward test clippy clean
+.PHONY: all test-integration test-mint-pay-swap test-genesis-mint test clippy clean

+ 0 - 195
src/contract/money/tests/pow_reward.rs

@@ -1,195 +0,0 @@
-/* This file is part of DarkFi (https://dark.fi)
- *
- * Copyright (C) 2020-2024 Dyne.org foundation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-
-//! Test for PoW reward transaction verification correctness.
-//!
-//! We first reward Alice some native tokens, and then she send some of them to Bob.
-//!
-//! With this test, we want to confirm the PoW reward transactions execution works
-//! and generated tokens can be processed as usual between multiple parties,
-//! with detection of erroneous transactions.
-
-use darkfi::Result;
-use darkfi_contract_test_harness::{init_logger, Holder, TestHarness};
-use darkfi_money_contract::model::DARK_TOKEN_ID;
-use darkfi_sdk::blockchain::expected_reward;
-use log::info;
-
-#[test]
-fn pow_reward() -> Result<()> {
-    smol::block_on(async {
-        init_logger();
-
-        // Holders this test will use
-        const HOLDERS: [Holder; 2] = [Holder::Alice, Holder::Bob];
-
-        // Block height to verify against
-        let mut current_block_height = 0;
-
-        // Initialize harness
-        let mut th = TestHarness::new(&HOLDERS, false).await?;
-
-        // We are going to generate some erroneous transactions to
-        // test some malicious cases.
-        info!(target: "money", "[Malicious] ========================================");
-        info!(target: "money", "[Malicious] Building PoW reward tx for genesis block");
-        info!(target: "money", "[Malicious] ========================================");
-        let (pow_reward_tx, pow_reward_params) =
-            th.pow_reward(&Holder::Alice, None, Some(0)).await?;
-
-        info!(target: "money", "[Malicious] ========================================");
-        info!(target: "money", "[Malicious] Checking PoW reward tx for genesis block");
-        info!(target: "money", "[Malicious] ========================================");
-        assert!(th
-            .execute_pow_reward_tx(
-                &Holder::Alice,
-                &pow_reward_tx,
-                &pow_reward_params,
-                current_block_height,
-            )
-            .await
-            .is_err());
-
-        current_block_height += 1;
-
-        let alice_reward = expected_reward(current_block_height);
-        info!(target: "money", "[Malicious] ================================");
-        info!(target: "money", "[Malicious] Building erroneous PoW reward tx");
-        info!(target: "money", "[Malicious] ================================");
-        let (pow_reward_tx, pow_reward_params) =
-            th.pow_reward(&Holder::Alice, None, Some(alice_reward + 1)).await?;
-
-        info!(target: "money", "[Malicious] =======================================");
-        info!(target: "money", "[Malicious] Checking erroneous amount PoW reward tx");
-        info!(target: "money", "[Malicious] =======================================");
-        assert!(th
-            .execute_pow_reward_tx(
-                &Holder::Alice,
-                &pow_reward_tx,
-                &pow_reward_params,
-                current_block_height,
-            )
-            .await
-            .is_err());
-
-        info!(target: "money", "[Alice] ======================");
-        info!(target: "money", "[Alice] Building PoW reward tx");
-        info!(target: "money", "[Alice] ======================");
-        //let (pow_reward_tx, pow_reward_params) = th.pow_reward(&Holder::Alice, None, None).await?;
-
-        /*
-        for holder in &HOLDERS {
-            info!(target: "money", "[{holder:?}] =============================");
-            info!(target: "money", "[{holder:?}] Executing Alice PoW reward tx");
-            info!(target: "money", "[{holder:?}] =============================");
-            th.execute_pow_reward_tx(
-                holder,
-                &pow_reward_tx,
-                &pow_reward_params,
-                current_block_height,
-            )
-            .await?;
-        }
-
-        th.assert_trees(&HOLDERS);
-
-        // Alice gathers her new owncoin
-        let alice_oc =
-            th.gather_owncoin_from_output(&Holder::Alice, &pow_reward_params.output, None)?;
-        alice_owncoins.push(alice_oc);
-
-        // Now Alice can send a little bit of funds to Bob
-        let alice_send = alice_reward / 2;
-        info!(target: "money", "[Alice] ====================================================");
-        info!(target: "money", "[Alice] Building Money::Transfer params for a payment to Bob");
-        info!(target: "money", "[Alice] ====================================================");
-        let (transfer_tx, transfer_params, spent_coins) =
-            th.transfer(alice_send, &Holder::Alice, &Holder::Bob, &alice_owncoins, *DARK_TOKEN_ID)?;
-
-        // Validating transfer params
-        assert!(transfer_params.inputs.len() == 1);
-        assert!(transfer_params.outputs.len() == 2);
-        assert!(spent_coins.len() == 1);
-        alice_owncoins.retain(|x| x != &spent_coins[0]);
-        assert!(alice_owncoins.is_empty());
-
-        for holder in &HOLDERS {
-            info!(target: "money", "[{holder:?}] ==============================");
-            info!(target: "money", "[{holder:?}] Executing Alice2Bob payment tx");
-            info!(target: "money", "[{holder:?}] ==============================");
-            th.execute_transfer_tx(
-                holder,
-                &transfer_tx,
-                &transfer_params,
-                current_block_height,
-                true,
-            )
-            .await?;
-        }
-
-        th.assert_trees(&HOLDERS);
-
-        // Bob should have this new OwnCoin.
-        let bob_oc =
-            th.gather_owncoin_from_output(&Holder::Bob, &transfer_params.outputs[0], None)?;
-        bob_owncoins.push(bob_oc);
-
-        // Alice should now have one OwnCoin with the change from the above transaction.
-        let alice_oc =
-            th.gather_owncoin_from_output(&Holder::Alice, &transfer_params.outputs[1], None)?;
-        alice_owncoins.push(alice_oc);
-
-        // Alice can also send her PoW reward directly to bob
-        info!(target: "money", "[Alice] ==============================");
-        info!(target: "money", "[Alice] Building PoW reward tx for Bob");
-        info!(target: "money", "[Alice] ==============================");
-        let (pow_reward_tx, pow_reward_params) =
-            th.pow_reward(&Holder::Alice, Some(&Holder::Bob), current_block_height, None)?;
-
-        for holder in &HOLDERS {
-            info!(target: "money", "[{holder:?}] =====================================");
-            info!(target: "money", "[{holder:?}] Executing Alice PoW reward tx for Bob");
-            info!(target: "money", "[{holder:?}] =====================================");
-            th.execute_pow_reward_tx(
-                holder,
-                &pow_reward_tx,
-                &pow_reward_params,
-                current_block_height,
-            )
-            .await?;
-        }
-
-        th.assert_trees(&HOLDERS);
-
-        // Bob gathers his new owncoin
-        let bob_oc =
-            th.gather_owncoin_from_output(&Holder::Bob, &pow_reward_params.output, None)?;
-        bob_owncoins.push(bob_oc);
-
-        // Validating transaction outcomes
-        assert!(alice_owncoins.len() == 1);
-        assert!(bob_owncoins.len() == 2);
-        assert!(alice_owncoins[0].note.value == alice_reward - alice_send);
-        assert!(bob_owncoins[0].note.value == alice_send);
-        assert!(bob_owncoins[1].note.value == alice_reward);
-        */
-
-        // Thanks for reading
-        Ok(())
-    })
-}