diff --git a/packages/examples/packages/browserify-plugin/snap.manifest.json b/packages/examples/packages/browserify-plugin/snap.manifest.json index 9f60f96ea5..bdfc179668 100644 --- a/packages/examples/packages/browserify-plugin/snap.manifest.json +++ b/packages/examples/packages/browserify-plugin/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "GI7+exBM57/V+zc9afQYloOJkf31QC4QQ4J/FCjTkp0=", + "shasum": "h2/tYCy6l8S2zP9EdqxHKc0WSftxxnkP60i8d58vbno=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/browserify/snap.manifest.json b/packages/examples/packages/browserify/snap.manifest.json index 90bd768029..a95a3470f3 100644 --- a/packages/examples/packages/browserify/snap.manifest.json +++ b/packages/examples/packages/browserify/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "kVPM+Ft1gxNWF59oCgW0MRN1DuA7kVyXwIdMbGec3aI=", + "shasum": "5mzSECxLy9lFHEwzmvRpjs0xL2TG0kTR2QXIjjavRTo=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/snaps-controllers/src/snaps/SnapController.ts b/packages/snaps-controllers/src/snaps/SnapController.ts index 7e9cb29c79..af95aaec06 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.ts +++ b/packages/snaps-controllers/src/snaps/SnapController.ts @@ -3689,7 +3689,7 @@ export class SnapController extends BaseController< const { assets: requestedAssets } = requestedParams; const filteredAssets = Object.keys(assets).reduce< - Record + Record >((accumulator, assetType) => { const castAssetType = assetType as CaipAssetType; const isValid = diff --git a/packages/snaps-sdk/src/types/handlers/assets-conversion.ts b/packages/snaps-sdk/src/types/handlers/assets-conversion.ts index 7d5139057f..ca2fda444d 100644 --- a/packages/snaps-sdk/src/types/handlers/assets-conversion.ts +++ b/packages/snaps-sdk/src/types/handlers/assets-conversion.ts @@ -5,6 +5,7 @@ import { string, optional, record, + nullable, } from '@metamask/superstruct'; import { CaipAssetTypeStruct, type CaipAssetType } from '@metamask/utils'; @@ -17,7 +18,7 @@ export const AssetConversionStruct = object({ export const OnAssetsConversionResponseStruct = object({ conversionRates: record( CaipAssetTypeStruct, - record(CaipAssetTypeStruct, AssetConversionStruct), + record(CaipAssetTypeStruct, nullable(AssetConversionStruct)), ), }); @@ -40,11 +41,11 @@ export type OnAssetsConversionHandler = ( /** * The response from the conversion query, containing rates about each requested asset pair. * - * @property conversionRates - A nested object with two CAIP-19 keys that contains a conversion rate between the two keys. + * @property conversionRates - A nested object with two CAIP-19 keys that contains a conversion rate or null between the two keys. */ export type OnAssetsConversionResponse = { conversionRates: Record< CaipAssetType, - Record + Record >; }; diff --git a/packages/snaps-sdk/src/types/handlers/assets-lookup.ts b/packages/snaps-sdk/src/types/handlers/assets-lookup.ts index 62aca05f4b..e372105c21 100644 --- a/packages/snaps-sdk/src/types/handlers/assets-lookup.ts +++ b/packages/snaps-sdk/src/types/handlers/assets-lookup.ts @@ -8,6 +8,7 @@ import { refine, string, record, + nullable, } from '@metamask/superstruct'; import { assert, @@ -46,7 +47,7 @@ export const FungibleAssetMetadataStruct = object({ }); export const OnAssetsLookupResponseStruct = object({ - assets: record(CaipAssetTypeStruct, FungibleAssetMetadataStruct), + assets: record(CaipAssetTypeStruct, nullable(FungibleAssetMetadataStruct)), }); export type FungibleAssetMetadata = Infer; @@ -68,8 +69,8 @@ export type OnAssetsLookupHandler = ( /** * The response from the query, containing metadata about each requested asset. * - * @property assets - An object containing a mapping between the CAIP-19 key and a metadata object. + * @property assets - An object containing a mapping between the CAIP-19 key and a metadata object or null. */ export type OnAssetsLookupResponse = { - assets: Record; + assets: Record; };