Кстати говоря, работает эта штука элементарно, любой желающий может воспроизвести что-то подобное. Они читают артефакт, смотрят ABI
const storage =
artifactJsonABI.data.output?.contracts?.[sourceName]?.[contractName]
?.storageLayout?.storage;
А потом просто тащат отткуда stateVariables https://github.com/aurora-is-near/hardhat-storage-layout/blob/main/src/storageLayout.ts#L63