At this moment the bridge contracts are working with pre-defined list of authorities which is passed to the contract constructor during deployment process. There is no possibility to extend the list if new authority is added later or the number of required signatures needs to be changed.
Proposal for changes
Introduce a new contract Authorities
Change HomeBridge and ForeignBridge:
to verify messages sender by using Authorities contract
to verify if necessary number of signatures collected
Introduce the functionality to add and remove authorities, to change number of required signatures
Consider and implement a model to manage authorities list:
it can be done by bridge owners;
or it can be done by authorities voting.
Probably it is a good idea to allow owners of bridge to change address of Authorities contract in order to allow change consensus describing in item 4 above.
At this moment the bridge contracts are working with pre-defined list of authorities which is passed to the contract constructor during deployment process. There is no possibility to extend the list if new authority is added later or the number of required signatures needs to be changed.
Proposal for changes
Authorities
HomeBridge
andForeignBridge
:Authorities
contractAuthorities
contract in order to allow change consensus describing in item 4 above.