--- a/pallets/nonfungible/src/lib.rs +++ b/pallets/nonfungible/src/lib.rs @@ -1273,12 +1273,15 @@ Some(from), nesting_budget, )? { - // Pass, token existence is checked in `check_indirectly_owned` + // Pass, token existence and ouroboros checks are done in `check_indirectly_owned` } else if nesting.collection_admin && handle.is_owner_or_admin(&sender) { - ensure!( - >::contains_key((handle.id, under)), - >::TokenNotFound - ); + // token existence and ouroboros checks are done in `get_checked_topmost_owner` + let _ = >::get_checked_topmost_owner( + handle.id, + under, + Some(from), + nesting_budget, + )?.ok_or(>::TokenNotFound)?; } else { fail!(>::UserIsNotAllowedToNest); }