Please read this issue before to get context: https://github.com/seraphis-migration/wallet3/issues/7
Here I propose a way to solve this issue by using a "facade" class that will include a way to use the functionality of both of the transaction classes. When creating the instance the user will have to select the type of class he would like to use, then he will be able to use only the functionality that is related to the transaction class type.
Please read this issue before to get context: https://github.com/seraphis-migration/wallet3/issues/7 Here I propose a way to solve this issue by using a "facade" class that will include a way to use the functionality of both of the transaction classes. When creating the instance the user will have to select the type of class he would like to use, then he will be able to use only the functionality that is related to the transaction class type.
Here is the implementation of my proposed solution: https://gist.github.com/ShalitMonero/3b40a5478f448f0d7efae9a5a7fe4a8e