Masking/shielding transaction

hi there i hope you are doing great i am doing rnd to create a payroll dapp.

my question is that is it possible to mask the amount and addresses involved sender/reciever in a transaction on a network if it is then how?

Hello!
fhEVM allows you to write Solidity code with new encrypted types. These types are encrypted integers, so you can easily encrypt an amount. You can take a look at our EncryptedERC20 for example, where the balances of all users are encrypted https://github.com/zama-ai/fhevm-contracts/blob/main/contracts/token/ERC20/EncryptedERC20.sol

On the other hand, you can’t hide the sender and receiver per say, so if you think about one contract per company, the transaction will reveal who is the company and who are the employees (without disclosing amounts).
If you think about having one contract for all companies/employees, it’s similar to running a mixnet. In this case, you know that someone is using the contract, but you don’t know the amount and the sender. Technically you can have something working with fhEVM, with some limitations. Someone did an implementation, probably outdated, if you want to take a look.