Inter-chain/inter-rollup/etc token transfers

We originally faced this problem with Hop protocol but came up with a pretty simple solution.

We track the total number of tokens entering and exiting each scaling solution and require that the number of tokens that have exited does not exceed the number that have entered. This allows scaling solutions with weaker trust models to be supported while limiting the liability of any given solution to the participants of that solution.

This is possible for Hop because the settlement of all the tokens being minted and burned on each scaling solution happens through layer-1 and the layer-1 smart contract can track the balance of each scaling solution and enforce these rules.