As a bridge allow to transfer an asset from a foreign chain to a home chain. Often, the home chain is a PoA chain and the bridge validators are also a PoA. Often, to simplify the set up, PoA identities of the chain are set similar to the PoA bridge. I was thinking of an entreprise use case. ( consortium case ) where this PoA bridge does not want to serve all public ethereum address, but only a subset of addresses defined for his consortium. Allowed addresses will be defined by the PoA(chain and bridge) authority. Nevertheless, this consortium wants to use and bridge an asset coming from a public foreign chain to make business logic between them on their home chain. A sort of whitelisting will be needed for the bridge. Is there a manner to simulate this behaviour with the current bridge code or does this will need some change to configure this behaviour?
The bridge will have to watch only a subset of address for deposit and withdraw between chains.
As erc20 transfer cannot be refused, for those not part of this whitelisting, the asset will be stuck on the foreign bridge contract side. Ideally, it should be possible to those external address to withdraw this asset or to claim it if they transfer an asset to the bridge by error and it is stuck on the foreign chain. Adding and removing address in the whitelist must be watched carefully to not generate bugs or attacks. Or maybe to simplify, not allowed with an immutable whitelist list in smart contract.
Do you think this kind of behaviour support will be interested in your poa-network code base or it is better to fork and implement it?