Skip to content

Commit

Permalink
fix: nft_transfer sender_id not previous owner when using approval
Browse files Browse the repository at this point in the history
  • Loading branch information
emarai committed Oct 12, 2021
1 parent eb4605e commit 069306e
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions paras-nft-contract/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -741,13 +741,13 @@ impl Contract {
) {
let sender_id = env::predecessor_account_id();
let receiver_id_str = receiver_id.to_string();
self.tokens.internal_transfer(&sender_id, &receiver_id_str, &token_id, approval_id, memo);
let (previous_owner_id, _) = self.tokens.internal_transfer(&sender_id, &receiver_id_str, &token_id, approval_id, memo);
env::log(
json!({
"type": "nft_transfer",
"params": {
"token_id": token_id,
"sender_id": sender_id,
"sender_id": previous_owner_id,
"receiver_id": receiver_id_str
}
})
Expand All @@ -764,16 +764,15 @@ impl Contract {
approval_id: Option<u64>,
memo: Option<String>,
) {
let receiver_id_str = receiver_id.to_string();
let sender_id = env::predecessor_account_id();
self.tokens
.nft_transfer(receiver_id, token_id.clone(), approval_id, memo);
let previous_owner_id = self.tokens.owner_by_id.get(&token_id).expect("Token not found");
let receiver_id_str = receiver_id.to_string();
self.tokens.nft_transfer(receiver_id, token_id.clone(), approval_id, memo);
env::log(
json!({
"type": "nft_transfer",
"params": {
"token_id": token_id,
"sender_id": sender_id,
"sender_id": previous_owner_id,
"receiver_id": receiver_id_str
}
})
Expand Down

0 comments on commit 069306e

Please sign in to comment.