@@ -741,7 +741,8 @@ pub mod pallet {
741741 Some ( ( collection_id, nft_id) ) ,
742742 & target_nft_budget,
743743 )
744- . map_err ( Self :: map_unique_err_to_proxy) ?;
744+ . map_err ( Self :: map_unique_err_to_proxy) ?
745+ . ok_or :: < DispatchError > ( <Error < T > >:: NoPermission . into ( ) ) ?;
745746
746747 approval_required = cross_sender != target_nft_owner;
747748
@@ -989,7 +990,8 @@ pub mod pallet {
989990
990991 let nft_owner =
991992 <PalletStructure < T > >:: find_topmost_owner ( collection_id, nft_id, & budget)
992- . map_err ( |_| <Error < T > >:: ResourceDoesntExist ) ?;
993+ . map_err ( |_| <Error < T > >:: ResourceDoesntExist ) ?
994+ . ok_or :: < DispatchError > ( <Error < T > >:: NoPermission . into ( ) ) ?;
993995
994996 Self :: try_mutate_resource_info ( collection_id, nft_id, resource_id, |res| {
995997 ensure ! ( res. pending, <Error <T >>:: ResourceNotPending ) ;
@@ -1044,7 +1046,8 @@ pub mod pallet {
10441046
10451047 let nft_owner =
10461048 <PalletStructure < T > >:: find_topmost_owner ( collection_id, nft_id, & budget)
1047- . map_err ( |_| <Error < T > >:: ResourceDoesntExist ) ?;
1049+ . map_err ( |_| <Error < T > >:: ResourceDoesntExist ) ?
1050+ . ok_or :: < DispatchError > ( <Error < T > >:: NoPermission . into ( ) ) ?;
10481051
10491052 ensure ! ( cross_sender == nft_owner, <Error <T >>:: NoPermission ) ;
10501053
@@ -1666,7 +1669,8 @@ impl<T: Config> Pallet<T> {
16661669 let budget = budget:: Value :: new ( NESTING_BUDGET ) ;
16671670
16681671 let nft_owner = <PalletStructure < T > >:: find_topmost_owner ( collection_id, nft_id, & budget)
1669- . map_err ( Self :: map_unique_err_to_proxy) ?;
1672+ . map_err ( Self :: map_unique_err_to_proxy) ?
1673+ . ok_or :: < DispatchError > ( <Error < T > >:: NoPermission . into ( ) ) ?;
16701674
16711675 let pending = sender != nft_owner;
16721676
@@ -1720,7 +1724,8 @@ impl<T: Config> Pallet<T> {
17201724
17211725 let budget = up_data_structs:: budget:: Value :: new ( NESTING_BUDGET ) ;
17221726 let topmost_owner =
1723- <PalletStructure < T > >:: find_topmost_owner ( collection_id, nft_id, & budget) ?;
1727+ <PalletStructure < T > >:: find_topmost_owner ( collection_id, nft_id, & budget) ?
1728+ . ok_or :: < DispatchError > ( <Error < T > >:: NoPermission . into ( ) ) ?;
17241729
17251730 let sender = T :: CrossAccountId :: from_sub ( sender) ;
17261731 if topmost_owner == sender {
0 commit comments