feat: add pallets/foreign-assets endpoint (#1314)
* feat: add pallets/foreign-assets endpoint - add controller, service & reponse type for foreign assets - update chain-config - update docs * fix: remove `asset-info` from endpoint & fix docs - In /pallets/foreign-assets/ endpoint removed `asset-info` since it is not necessary. - In the docs removed the array notation from the `200` response of multiple endpoints (including foreign assets) since there is no outer array in the result. * add name & symbol in human readable format - Added in the response the asset's name & symbol in human readable format. * Refactored the code that retrieves the metadata of the foreign asset - Retrieved metadata based on MultiLocation key obtained by asset info entries - Changed types in IForeignAssetInfo * test: added test & mock data - Added a test (tinkernet) for foreign asset - Added metadata & registry for Asset Hub Kusama * Update src/services/pallets/PalletsForeignAssetsService.ts Co-authored-by: Tarik Gul <[email protected]> * Update src/services/pallets/PalletsForeignAssetsService.ts Co-authored-by: Tarik Gul <[email protected]> * Update src/services/pallets/PalletsForeignAssetsService.ts Co-authored-by: Tarik Gul <[email protected]> * Update src/services/pallets/PalletsForeignAssetsService.ts Co-authored-by: Tarik Gul <[email protected]> * Update src/services/pallets/PalletsForeignAssetsService.ts Co-authored-by: Tarik Gul <[email protected]> * replaced type anyjson with codec * changed types in assetInfo & assetMetadata & copyright - Replaced types to avoid type casts based on Tarik's suggestion - Added the copyright in some files that was missing - Updated the copyright year in some of the files * removed storageKeyMultilocation & changed storageKey - Changed the copyright year in the files related to this PR * fix: changes to support a list of multiple foreign assets * Updated test to work with multiple foreign assets - Added the DOT asset in the test file (.spec) - Added the AssetInfo and AssetMetadata for the DOT asset in the mock data (metadata currently have empty & zero values because those are the values in Asset Hub right now - to be changed) - Added again the storageKeyMultilocation in TypeFactory since indexType is not included in InterfaceTypes (as defined in storageKey) * Changes types of foreignAssetInfo and foreignAssetMetadata - Replaced PalletAssetsAssetMetadata with AssetMetadata - Removed also Option from assetMetadata * fix typing on queried values, and return values * fix test * removed an unnecessary console.log --------- Co-authored-by: Tarik Gul <[email protected]> Co-authored-by: tarikgul <[email protected]>