Address Space Extension with bridge contracts

This is an alternative proposal building on top of the Address Space Extension with Translation Map idea. See this for open questions.

One of the major issues identified is the inability to distinguish short (legacy) addresses from compressed addresses, and the resulting complexity of automatic translation.

In order to avoid this problem, we introduce a special contract type, called bridge contract, which announces itself being capable of interacting with the new address space, but is actually placed in the legacy address space (and has a short address). Other contracts in the legacy space can not interact with the new address space.

For the complete text see ASE with bridge-contracts - HackMD

Hi, FunctionTypes in Ethereum currently use 20+4 bytes where 4 bytes is for function identifier in an external contract (for example). So it is only possible to use 28 bytes instead of 32 bytes for the address, otherwise FunctionTypes will break.

Any solution around this?