since DepsMut has a lifetime marker, I would assume it contains a mut reference inside, and mut references are linear types in rust. if you want to use it more than once, you must borrow it or (reborrow from it), clone() won't work.
I don't know which part of the code is your own, and which part is from third party dependencies. if you can change the _transfer() function, changing the parameter type to &mut DepsMut<'_> should fix it.
I'm using functions from this cw20 package with some additional lines on top. However, if I change the type to &mut DepsMut<'_>, the functions above no longer work.
since deps has a different type, you must also change every function you call with deps as arguments. in the screenshot, it's the execute_transfer() function.
I'm using the cw20 import, which includes some predefined functions that I'm currently utilizing. Overwriting a single function isn’t feasible because of the interface declarations; to modify just one, I would need to override all the execute_* functions. This would be a large task and time-consuming.
Is there an alternative solution to handle these copies?