@metamask/snaps-utils
Version:
A collection of utilities for MetaMask Snaps
20 lines • 839 B
JavaScript
import { getSnapChecksum } from "../../snaps.mjs";
import { NpmSnapFileNames } from "../../types.mjs";
/**
* Check if the checksum in manifest matches computed value.
*/
export const checksum = {
severity: 'error',
async semanticCheck(files, context) {
const fetchedFiles = files;
const gotChecksum = files.manifest.result.source.shasum;
const expectedChecksum = await getSnapChecksum(fetchedFiles);
if (gotChecksum !== expectedChecksum) {
context.report(`"${NpmSnapFileNames.Manifest}" "shasum" field does not match computed shasum. Got "${gotChecksum}", expected "${expectedChecksum}".`, async ({ manifest }) => {
manifest.source.shasum = expectedChecksum;
return { manifest };
});
}
},
};
//# sourceMappingURL=checksum.mjs.map