Foreign assets use Location as the AssetID. Since the Location does not fit into the 4 bytes, we will need a stateful mapping to index the AssetID. This stateful mapping will be generated upon migration for existing assets and through the pallet CallBackHandle function for newly created assets
Foreign assets will use a StorageMap ForeignAssetsMap = Hash(id: u32) -> Location to resolve the AssetID from the 4 bytes encoded in the address.
we can define an asset with ID Location(a) with the precompile address 0xaaaaaaaa00000000000000000000000002200000 using 0220
Where ForeignAssetsMap[0xaaaaaaaa] = Location(a)