From 703b7a896ebc8b2237840a1b795add652cab1768 Mon Sep 17 00:00:00 2001 From: Irfianto Date: Fri, 3 Sep 2021 22:27:52 +0700 Subject: [PATCH] refactor: logging with price for nft_buy --- paras-nft-contract/src/lib.rs | 45 ++++++++++++++++++++++++----------- tests/simulation_tests.rs | 5 ++-- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/paras-nft-contract/src/lib.rs b/paras-nft-contract/src/lib.rs index a1dcb71..86b9520 100644 --- a/paras-nft-contract/src/lib.rs +++ b/paras-nft-contract/src/lib.rs @@ -230,7 +230,7 @@ impl Contract { "Paras: attached deposit is less than price : {}", price ); - let token_id: TokenId = self._nft_mint_series(token_series_id, receiver_id); + let token_id: TokenId = self._nft_mint_series(token_series_id, receiver_id.clone()); let for_treasury = price as u128 * TREASURY_FEE / 10_000u128; let price_deducted = price - for_treasury; @@ -238,6 +238,21 @@ impl Contract { Promise::new(self.treasury_id.clone()).transfer(for_treasury); refund_deposit(env::storage_usage() - initial_storage_usage, price); + + env::log( + json!({ + "type": "nft_transfer", + "params": { + "token_id": token_id, + "sender_id": "", + "receiver_id": receiver_id, + "price": price.to_string(), + } + }) + .to_string() + .as_bytes(), + ); + token_id } @@ -251,9 +266,23 @@ impl Contract { let token_series = self.token_series_by_id.get(&token_series_id).expect("Paras: Token series not exist"); assert_eq!(env::predecessor_account_id(), token_series.creator_id, "Paras: not creator"); - let token_id: TokenId = self._nft_mint_series(token_series_id, receiver_id); + let token_id: TokenId = self._nft_mint_series(token_series_id, receiver_id.clone()); refund_deposit(env::storage_usage() - initial_storage_usage, 0); + + env::log( + json!({ + "type": "nft_transfer", + "params": { + "token_id": token_id, + "sender_id": "", + "receiver_id": receiver_id, + } + }) + .to_string() + .as_bytes(), + ); + token_id } @@ -318,18 +347,6 @@ impl Contract { tokens_per_owner.insert(&owner_id, &token_ids); } - env::log( - json!({ - "type": "nft_transfer", - "params": { - "token_id": token_id, - "sender_id": "", - "receiver_id": owner_id, - } - }) - .to_string() - .as_bytes(), - ); token_id } diff --git a/tests/simulation_tests.rs b/tests/simulation_tests.rs index 952a1c8..7ba8dc0 100644 --- a/tests/simulation_tests.rs +++ b/tests/simulation_tests.rs @@ -156,6 +156,7 @@ fn simulate_mint() { fn simulate_approve() { let (root, nft, _) = init(); + let trst = root.create_user("trst".repeat(16), to_yocto("100")); root.call( nft.account_id(), "nft_create_series", @@ -179,7 +180,7 @@ fn simulate_approve() { nft.account_id(), "nft_buy", &json!({ - "token_series_id": u128::MAX.to_string(), + "token_series_id": "1", "receiver_id": root.account_id(), }).to_string().into_bytes(), DEFAULT_GAS, @@ -194,7 +195,7 @@ fn simulate_approve() { "nft_approve", &json!({ "token_id": format!("1:1"), - "account_id": "test".repeat(16), + "account_id": trst.account_id(), "msg": "{\"price\":\"3000000000000000000000000\",\"ft_token_id\":\"near\"}", }).to_string().into_bytes(), DEFAULT_GAS,