I am trying to create a smart contract that holds static data (resembling a paper contract) that is able to be sent around different users (a trade).
The tricky part is that I would like different permissions for different account types such as requiring multiple people to authenticate the transaction (buyer, seller and middle-men).
I am struggling to understand a few basic concepts and overall structure of the smart contracts in solidity.
Do I create a "factory" contract that controls the system and assigns different users a 'role' and based on the role the contract will need to be verified by all the required users of each 'role' before being sent?
Maybe if there is an example I can follow or see or even if someone can sketch a basic diagram on how this would work.
I forgot to mention that as a contract is swapped between users, I am not really interested in any monetary representation to be exchanged.