{"_id":"@diamondslab/diamonds-monitor","_rev":"6-1001e26b5834da750affc36a8bd23bc0","name":"@diamondslab/diamonds-monitor","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@diamondslab/diamonds-monitor","version":"1.0.0","keywords":["ethereum","diamond","proxy","erc-2535","smart-contracts","monitoring","hardhat","hardhat-plugin","management","typescript","blockchain"],"author":"Am0rfu5","license":"MIT","_id":"@diamondslab/diamonds-monitor@1.0.0","maintainers":[{"name":"am0rfu5","email":"am0rfu5@protonmail.com"}],"homepage":"https://github.com/diamondslab/diamonds-monitor#readme","bugs":{"url":"https://github.com/diamondslab/diamonds-monitor/issues"},"dist":{"shasum":"c4069bce0c1129ea655f5da403720abaa374027f","tarball":"https://registry.npmjs.org/@diamondslab/diamonds-monitor/-/diamonds-monitor-1.0.0.tgz","fileCount":33,"integrity":"sha512-Lm3uipv7omrT5ZwA1HyCOtHSZO/9QJ/GJMtmEW42a+DEybtNBtU/29aOusxGZOPIHmTEr8OacTaorAkwBi/4XQ==","signatures":[{"sig":"MEUCIQCBcd4mYRi+M0358+nKT4a9QWhhRm2kh7iqDaBBsS2qWgIgNp9w0ka2Ef0Q7KvRl/AMv+ygXBy7HsA7BF/9NO/KmUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":407234},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","authors":["Am0rfu5"],"engines":{"node":">=18.0.0","yarn":">=4.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./standalone":{"types":"./dist/standalone.d.ts","default":"./dist/standalone.js"}},"gitHead":"b5e41f68aeb0e46e68d6b61d872854dba47cfd9f","scripts":{"dev":"ts-node src/index.ts","lint":"cd ../../ && yarn lint packages/diamonds-monitor/src/**/*.ts","test":"mocha","build":"tsc --build","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,js,json}\"","test:unit":"mocha test/unit/**/*.test.ts","test:watch":"mocha --watch","build:watch":"tsc --build --watch","publish:npm":"npm publish","publish:beta":"npm publish --tag beta","test:coverage":"nyc mocha","prepublishOnly":"yarn clean && yarn build && yarn test && yarn lint","test:integration":"mocha test/integration/**/*.test.ts"},"_npmUser":{"name":"am0rfu5","email":"am0rfu5@protonmail.com"},"repository":{"url":"https://github.com/diamondslab/diamonds-monitor","type":"git"},"description":"Monitoring and management tools for ERC-2535 Diamond Proxy contracts","directories":{},"dependencies":{"ethers":"^6.4.0","winston":"^3.17.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"nyc":"^17.1.0","chai":"^4.3.0","jest":"^29.7.0","chalk":"^4.1.2","mocha":"^10.0.0","eslint":"^8.0.0","rimraf":"^4.0.0","hardhat":"^2.19.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/chai":"^4.3.20","@types/jest":"^29.5.5","@types/node":"^18.19.122","@types/mocha":"^10.0.10","@diamondslab/diamonds":"1.2.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^5.0.0","@nomicfoundation/hardhat-ethers":"^4.0.0","@typescript-eslint/eslint-plugin":"^5.0.0"},"peerDependencies":{"ethers":"^6.0.0","diamonds":"*"},"_npmOperationalInternal":{"tmp":"tmp/diamonds-monitor_1.0.0_1764081884692_0.344697821718436","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@diamondslab/diamonds-monitor","version":"1.0.1","keywords":["ethereum","diamond","proxy","erc-2535","smart-contracts","monitoring","hardhat","hardhat-plugin","management","typescript","blockchain"],"author":"Am0rfu5","license":"MIT","_id":"@diamondslab/diamonds-monitor@1.0.1","maintainers":[{"name":"am0rfu5","email":"am0rfu5@protonmail.com"}],"homepage":"https://github.com/diamondslab/diamonds-monitor#readme","bugs":{"url":"https://github.com/diamondslab/diamonds-monitor/issues"},"dist":{"shasum":"e61ed666f5a9dcd935b26eb91c12d697a39c1ee2","tarball":"https://registry.npmjs.org/@diamondslab/diamonds-monitor/-/diamonds-monitor-1.0.1.tgz","fileCount":149,"integrity":"sha512-41W4yU3OcHsMeO21gye7Ryq2U5Akuc8fcAeKzPajThX1UKy6C3buwz6K86jjkkGaP5/qsm2MtnvU8YMJ9oBV9A==","signatures":[{"sig":"MEUCIQCdW6i7EKCyoR6wAcYU7oJ5ffi5EBpltxmjUabV4vgqbAIgUOOZYlh6Xu4kFeS18V5/+8MpmmlwL5SXlCRY1tKl4ho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1180151},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","authors":["Am0rfu5"],"engines":{"node":">=18.0.0","yarn":">=4.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./standalone":{"types":"./dist/standalone.d.ts","default":"./dist/standalone.js"}},"gitHead":"7baccb1e1c1b52c7e3dc0ada0856467abb2f8adb","scripts":{"dev":"ts-node src/index.ts","lint":"cd ../../ && yarn lint packages/diamonds-monitor/src/**/*.ts","test":"mocha","build":"tsc --build","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,js,json}\"","test:unit":"mocha test/unit/**/*.test.ts","test:watch":"mocha --watch","build:watch":"tsc --build --watch","publish:npm":"npm publish","publish:beta":"npm publish --tag beta","test:coverage":"nyc mocha","prepublishOnly":"yarn clean && yarn build && yarn test && yarn lint","test:integration":"mocha test/integration/**/*.test.ts"},"_npmUser":{"name":"am0rfu5","email":"am0rfu5@protonmail.com"},"repository":{"url":"https://github.com/diamondslab/diamonds-monitor","type":"git"},"description":"Monitoring and management tools for ERC-2535 Diamond Proxy contracts","directories":{},"dependencies":{"ethers":"^6.4.0","winston":"^3.17.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"nyc":"^17.1.0","chai":"^4.3.0","jest":"^29.7.0","chalk":"^4.1.2","mocha":"^10.0.0","eslint":"^8.0.0","rimraf":"^4.0.0","hardhat":"^2.19.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/chai":"^4.3.20","@types/jest":"^29.5.5","@types/node":"^18.19.122","@types/mocha":"^10.0.10","@diamondslab/diamonds":"1.2.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^5.0.0","@nomicfoundation/hardhat-ethers":"^4.0.0","@typescript-eslint/eslint-plugin":"^5.0.0"},"peerDependencies":{"ethers":"^6.0.0","diamonds":"*"},"_npmOperationalInternal":{"tmp":"tmp/diamonds-monitor_1.0.1_1764084580882_0.7861104019730434","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@diamondslab/diamonds-monitor","version":"1.0.2","keywords":["ethereum","diamond","proxy","erc-2535","smart-contracts","monitoring","hardhat","hardhat-plugin","management","typescript","blockchain"],"author":"Am0rfu5","license":"MIT","_id":"@diamondslab/diamonds-monitor@1.0.2","maintainers":[{"name":"am0rfu5","email":"am0rfu5@protonmail.com"}],"homepage":"https://github.com/diamondslab/diamonds-monitor#readme","bugs":{"url":"https://github.com/diamondslab/diamonds-monitor/issues"},"dist":{"shasum":"f2ae675e99e5e64108073db0615d90605fce5c8d","tarball":"https://registry.npmjs.org/@diamondslab/diamonds-monitor/-/diamonds-monitor-1.0.2.tgz","fileCount":149,"integrity":"sha512-oV6EVlqpw0wkAYkD622CaWJeXcjvw8tU+LZcoJETjzbAnIRUFthFKnYYMDZ3zeuTetBPK/vq9Fc+XLhT+24yuA==","signatures":[{"sig":"MEYCIQDG2kmfL7mUTBhKsNgq0j/U/mnP1mL1E+Ws626znyr8pAIhALC0A9ksUAUqtjaqhqPAjrO4xhjXyQYeLYvcb8+D/Ofg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1180151},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","authors":["Am0rfu5"],"engines":{"node":">=18.0.0","yarn":">=4.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./standalone":{"types":"./dist/standalone.d.ts","default":"./dist/standalone.js"}},"gitHead":"d4029b42511558510ff73f3476c22e76465ebe14","scripts":{"dev":"ts-node src/index.ts","lint":"cd ../../ && yarn lint packages/diamonds-monitor/src/**/*.ts","test":"mocha","build":"tsc --build","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,js,json}\"","test:unit":"mocha test/unit/**/*.test.ts","test:watch":"mocha --watch","build:watch":"tsc --build --watch","publish:npm":"npm publish","publish:beta":"npm publish --tag beta","test:coverage":"nyc mocha","prepublishOnly":"yarn clean && yarn build && yarn test && yarn lint","test:integration":"mocha test/integration/**/*.test.ts"},"_npmUser":{"name":"am0rfu5","email":"am0rfu5@protonmail.com"},"repository":{"url":"https://github.com/diamondslab/diamonds-monitor","type":"git"},"description":"Monitoring and management tools for ERC-2535 Diamond Proxy contracts","directories":{},"dependencies":{"ethers":"^6.4.0","winston":"^3.17.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"nyc":"^17.1.0","chai":"^4.3.0","jest":"^29.7.0","chalk":"^4.1.2","mocha":"^10.0.0","eslint":"^8.0.0","rimraf":"^4.0.0","hardhat":"^2.19.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/chai":"^4.3.20","@types/jest":"^29.5.5","@types/node":"^18.19.122","@types/mocha":"^10.0.10","@diamondslab/diamonds":"1.2.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^5.0.0","@nomicfoundation/hardhat-ethers":"^4.0.0","@typescript-eslint/eslint-plugin":"^5.0.0"},"peerDependencies":{"ethers":"^6.0.0","diamonds":"*"},"_npmOperationalInternal":{"tmp":"tmp/diamonds-monitor_1.0.2_1764097897926_0.9501831237157425","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@diamondslab/diamonds-monitor","version":"1.0.3","keywords":["ethereum","diamond","proxy","erc-2535","smart-contracts","monitoring","hardhat","hardhat-plugin","management","typescript","blockchain"],"author":"Am0rfu5","license":"MIT","_id":"@diamondslab/diamonds-monitor@1.0.3","maintainers":[{"name":"am0rfu5","email":"am0rfu5@protonmail.com"}],"homepage":"https://github.com/diamondslab/diamonds-monitor#readme","bugs":{"url":"https://github.com/diamondslab/diamonds-monitor/issues"},"dist":{"shasum":"1ac0591b0c66377f304372927f1f609416897529","tarball":"https://registry.npmjs.org/@diamondslab/diamonds-monitor/-/diamonds-monitor-1.0.3.tgz","fileCount":149,"integrity":"sha512-oTl/5qbDO07PhdmQSAKmX2V8wKbfjhbCdQI9dpya3kFegSjV1jGLVG5fqkFBt4XhE4fRYT8f43e3Zthvzmkydw==","signatures":[{"sig":"MEUCIQDyQ0SKcX7tHt7D5nzS0viHV5HBYObafV4ZRjnPRCxE+QIgEbmlerc/+ealcIzu/qm/SMGY2S528KFbAy3K4f/9sjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1180164},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","authors":["Am0rfu5"],"engines":{"node":">=18.0.0","yarn":">=4.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./standalone":{"types":"./dist/standalone.d.ts","default":"./dist/standalone.js"}},"gitHead":"802d35ef700d09567daba7a12292449167af3424","scripts":{"dev":"ts-node src/index.ts","lint":"cd ../../ && yarn lint packages/diamonds-monitor/src/**/*.ts","test":"mocha","build":"tsc --build","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,js,json}\"","test:unit":"mocha test/unit/**/*.test.ts","test:watch":"mocha --watch","build:watch":"tsc --build --watch","publish:npm":"npm publish","publish:beta":"npm publish --tag beta","test:coverage":"nyc mocha","prepublishOnly":"yarn clean && yarn build && yarn test && yarn lint","test:integration":"mocha test/integration/**/*.test.ts"},"_npmUser":{"name":"am0rfu5","email":"am0rfu5@protonmail.com"},"repository":{"url":"https://github.com/diamondslab/diamonds-monitor","type":"git"},"description":"Monitoring and management tools for ERC-2535 Diamond Proxy contracts","directories":{},"dependencies":{"ethers":"^6.4.0","winston":"^3.17.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"nyc":"^17.1.0","chai":"^4.3.0","jest":"^29.7.0","chalk":"^4.1.2","mocha":"^10.0.0","eslint":"^8.0.0","rimraf":"^4.0.0","hardhat":"^2.19.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/chai":"^4.3.20","@types/jest":"^29.5.5","@types/node":"^18.19.122","@types/mocha":"^10.0.10","@diamondslab/diamonds":"1.2.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^5.0.0","@nomicfoundation/hardhat-ethers":"^4.0.0","@typescript-eslint/eslint-plugin":"^5.0.0"},"peerDependencies":{"ethers":"^6.0.0","@diamondslab/diamonds":"*"},"_npmOperationalInternal":{"tmp":"tmp/diamonds-monitor_1.0.3_1764531760173_0.35904295513811135","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@diamondslab/diamonds-monitor","version":"1.0.4","keywords":["ethereum","diamond","proxy","erc-2535","smart-contracts","monitoring","hardhat","hardhat-plugin","management","typescript","blockchain"],"author":"Am0rfu5","license":"MIT","_id":"@diamondslab/diamonds-monitor@1.0.4","maintainers":[{"name":"am0rfu5","email":"am0rfu5@protonmail.com"}],"homepage":"https://github.com/diamondslab/diamonds-monitor#readme","bugs":{"url":"https://github.com/diamondslab/diamonds-monitor/issues"},"dist":{"shasum":"08dae434f7a40c5d310842854a60d347bb117572","tarball":"https://registry.npmjs.org/@diamondslab/diamonds-monitor/-/diamonds-monitor-1.0.4.tgz","fileCount":149,"integrity":"sha512-7nmfyX/TG7v/jka3vWq7sAHM/V7sJI03517mof7XX9k68DTpbGskk5ruMgUkxVjnS1LbAwQ6x6g0bKM6Sfvhww==","signatures":[{"sig":"MEYCIQCLBiRlCCoVmdJAbOfrNpWlfzKBPotReG/AhTA79m484gIhAJcHeWMjO3M2ea/7ZhDPZGG2cgJEU8JVV1jbxYpj8YI7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1180163},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","authors":["Am0rfu5"],"engines":{"node":">=18.0.0","yarn":">=4.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./standalone":{"types":"./dist/standalone.d.ts","default":"./dist/standalone.js"}},"gitHead":"f34b6d6f04ba4033655e5a3fce392938a26087ba","scripts":{"dev":"ts-node src/index.ts","lint":"cd ../../ && yarn lint packages/diamonds-monitor/src/**/*.ts","test":"mocha","build":"tsc --build","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,js,json}\"","test:unit":"mocha test/unit/**/*.test.ts","test:watch":"mocha --watch","build:watch":"tsc --build --watch","publish:npm":"npm publish","publish:beta":"npm publish --tag beta","test:coverage":"nyc mocha","prepublishOnly":"yarn clean && yarn build && yarn test && yarn lint","test:integration":"mocha test/integration/**/*.test.ts"},"_npmUser":{"name":"am0rfu5","email":"am0rfu5@protonmail.com"},"repository":{"url":"https://github.com/diamondslab/diamonds-monitor","type":"git"},"description":"Monitoring and management tools for ERC-2535 Diamond Proxy contracts","directories":{},"dependencies":{"ethers":"^6.4.0","winston":"^3.17.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"nyc":"^17.1.0","chai":"^4.3.0","jest":"^29.7.0","chalk":"^4.1.2","mocha":"^10.0.0","eslint":"^8.0.0","rimraf":"^4.0.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/chai":"^4.3.20","@types/jest":"^29.5.5","@types/node":"^18.19.122","@types/mocha":"^10.0.10","@diamondslab/diamonds":"1.2.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^5.0.0","@nomicfoundation/hardhat-ethers":"^4.0.0","@typescript-eslint/eslint-plugin":"^5.0.0"},"peerDependencies":{"ethers":"^6.0.0","hardhat":"^2.0.0","@diamondslab/diamonds":"*"},"_npmOperationalInternal":{"tmp":"tmp/diamonds-monitor_1.0.4_1765890380900_0.36373703839644667","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@diamondslab/diamonds-monitor","version":"1.1.0","description":"Monitoring and management tools for ERC-2535 Diamond Proxy contracts","module":"dist/index.js","authors":["Am0rfu5"],"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./standalone":{"types":"./dist/standalone.d.ts","default":"./dist/standalone.js"},"./dist/*":{"types":"./dist/*.d.ts","default":"./dist/*.js"},"./package.json":"./package.json"},"scripts":{"build":"tsc --build","build:watch":"tsc --build --watch","dev":"ts-node src/index.ts","test":"mocha","test:watch":"mocha --watch","test:coverage":"nyc mocha","test:unit":"mocha test/unit/**/*.test.ts","test:integration":"mocha test/integration/**/*.test.ts","lint":"eslint src","format":"prettier --write \"src/**/*.{ts,js,json}\"","clean":"rm -rf dist coverage .nyc_output tsconfig.tsbuildinfo","prepublishOnly":"yarn clean && yarn build && yarn test && yarn lint","publish:npm":"npm publish","publish:beta":"npm publish --tag beta","lint:fix":"eslint src --fix"},"keywords":["ethereum","diamond","proxy","erc-2535","smart-contracts","monitoring","hardhat","hardhat-plugin","management","typescript","blockchain"],"author":{"name":"Am0rfu5"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DiamondsLab/diamonds-monitor.git"},"bugs":{"url":"https://github.com/DiamondsLab/diamonds-monitor/issues"},"homepage":"https://github.com/DiamondsLab/diamonds-monitor#readme","dependencies":{"ethers":"^6.0.0","winston":"^3.17.0"},"devDependencies":{"@diamondslab/diamonds":"^1.4.0","@eslint/eslintrc":"^3.0.0","@eslint/js":"^9.0.0","@nomicfoundation/hardhat-ethers":"^4.0.0","@types/chai":"^4.3.20","@types/jest":"^29.5.5","@types/mocha":"^10.0.10","@types/node":"^18.19.122","@types/sinon":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","chai":"^4.3.0","chalk":"^4.1.2","eslint":"^8.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","globals":"^15.0.0","hardhat":"2.28.0","jest":"^29.7.0","mocha":"^10.0.0","nyc":"^17.1.0","prettier":"^3.0.3","rimraf":"^4.0.0","sinon":"^19.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2"},"peerDependencies":{"@diamondslab/diamonds":"^1.4.0","ethers":"^6.0.0","hardhat":"^2.0.0"},"engines":{"node":">=18.0.0","yarn":">=4.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"packageManager":"yarn@4.10.3","gitHead":"cb910f6f5221a9b528dd1fddf67f242c32c430fa","_id":"@diamondslab/diamonds-monitor@1.1.0","_nodeVersion":"20.20.2","_npmVersion":"11.18.0","dist":{"integrity":"sha512-NGDzWz+78/bLVlRSpvvBTHDad05JR8MBMlWrzFY4FnZz2isHbv23wTD9x0LR1026sTv3Ry4/vE+Xifp92rXtzw==","shasum":"22616b38f878206b37f9417bb6da76a0b6b27c96","tarball":"https://registry.npmjs.org/@diamondslab/diamonds-monitor/-/diamonds-monitor-1.1.0.tgz","fileCount":62,"unpackedSize":472563,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@diamondslab%2fdiamonds-monitor@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG5KnN2RwHSvxfi50a39xrAHmj4+Yrn1k9u2vXg6ywVYAiEAnwNBKMYg/+MHmhw9Uj46FfwsvkaofFWLVUTX7qO0mjw="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9550a7c3-aed9-4ffe-9bc0-b23c11c1be57"}},"directories":{},"maintainers":[{"name":"am0rfu5","email":"am0rfu5@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/diamonds-monitor_1.1.0_1783381943385_0.3215010204946869"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-25T14:44:44.609Z","modified":"2026-07-06T23:52:23.793Z","1.0.0":"2025-11-25T14:44:44.887Z","1.0.1":"2025-11-25T15:29:41.100Z","1.0.2":"2025-11-25T19:11:38.192Z","1.0.3":"2025-11-30T19:42:40.410Z","1.0.4":"2025-12-16T13:06:21.075Z","1.1.0":"2026-07-06T23:52:23.527Z"},"bugs":{"url":"https://github.com/DiamondsLab/diamonds-monitor/issues"},"author":{"name":"Am0rfu5"},"license":"MIT","homepage":"https://github.com/DiamondsLab/diamonds-monitor#readme","keywords":["ethereum","diamond","proxy","erc-2535","smart-contracts","monitoring","hardhat","hardhat-plugin","management","typescript","blockchain"],"repository":{"type":"git","url":"git+https://github.com/DiamondsLab/diamonds-monitor.git"},"description":"Monitoring and management tools for ERC-2535 Diamond Proxy contracts","maintainers":[{"name":"am0rfu5","email":"am0rfu5@protonmail.com"}],"readme":"# Diamonds Monitor\n\nProfessional monitoring and reporting tools for ERC-2535 Diamond Proxy contracts that utilize the Diamonds module. \n\n## Features\n\n- 💎 **Diamond Contract Monitoring**: Real-time monitoring of diamond proxy contracts\n- 📊 **Health Checks**: Automated health monitoring and diagnostics\n- 🚨 **Event Monitoring**: Track diamond cut events and contract changes\n- 🛠️ **Developer Tools**: Utilities for diamond development and debugging\n- 📈 **Analytics**: Performance metrics and usage analytics\n- 🔧 **Dual Usage**: Works as a Hardhat plugin or standalone library\n\n## Prerequisites\n\n- **Node.js** ≥ 18\n- **Yarn** ≥ 4 (workspace protocol support)\n\n## Installation\n\n### For External Projects\n\n```bash\nnpm install @diamondslab/diamonds-monitor\n# or\nyarn add @diamondslab/diamonds-monitor\n```\n\n### Within Monorepo\n\nThis package is part of the Diamonds Dev Env monorepo and is automatically available to other workspace packages.\n\n## Entry points\n\nThe package exposes the following subpaths via its `exports` map:\n\n| Import specifier                          | Purpose                                                                 |\n| ----------------------------------------- | ----------------------------------------------------------------------- |\n| `@diamondslab/diamonds-monitor`           | Main entry (`.`) — Hardhat plugin registration plus a re-export of the standalone API. |\n| `@diamondslab/diamonds-monitor/standalone`| Standalone API (`DiamondMonitor`, `FacetManager`, diamond utilities) with no Hardhat dependency. |\n| `@diamondslab/diamonds-monitor/dist/*`    | Deep back-compat access to any built module (types + JS resolve together). |\n| `@diamondslab/diamonds-monitor/package.json` | The package manifest.                                                |\n\n## Usage\n\n### Standalone API (Direct Diamond Integration)\n\nUse this approach when you have a `Diamond` instance from the diamonds module:\n\n```typescript\nimport { DiamondMonitor, FacetManager } from '@diamondslab/diamonds-monitor/standalone';\nimport { Diamond } from '@diamondslab/diamonds';\nimport { ethers } from 'ethers';\n\n// Assuming you have a Diamond instance from the diamonds module\nconst diamond = new Diamond(config, repository);\nconst provider = new ethers.JsonRpcProvider('YOUR_RPC_URL');\n\n// Create monitor instance\nconst monitor = new DiamondMonitor(diamond, provider, {\n  pollingInterval: 30000,\n  enableEventLogging: true,\n  enableHealthChecks: true\n});\n\n// Start monitoring\nawait monitor.startMonitoring();\n\n// Get diamond information\nconst info = await monitor.getDiamondInfo();\nconsole.log(`Diamond at ${info.address} has ${info.facets.length} facets`);\n\n// Perform health check\nconst health = await monitor.getHealthStatus();\nif (health.isHealthy) {\n  console.log('Diamond is healthy ✅');\n} else {\n  console.error('Diamond has issues:', health.checks.filter(c => c.status === 'failed'));\n}\n\n// Track events\nawait monitor.trackEvents((event) => {\n  console.log('DiamondCut event detected:', event);\n});\n\n// Use FacetManager for facet operations\nconst facetManager = new FacetManager(diamond, provider);\n\n// List all facets\nconst facets = await facetManager.listFacets();\nconsole.log('Facets:', facets);\n\n// Analyze facets\nconst analysis = await facetManager.analyzeFacets();\nconsole.log(`Analysis: ${analysis.totalFacets} facets, ${analysis.totalSelectors} selectors`);\n\n// Validate selectors\nconst validation = await facetManager.validateSelectors();\nif (!validation.isValid) {\n  console.warn('Selector conflicts detected:', validation.conflicts);\n}\n\n// Create diamond cuts\nconst addCut = facetManager.createAddFacetCut(\n  '0x1234567890123456789012345678901234567890',\n  ['0x12345678', '0x87654321']\n);\n\nconst validation = await facetManager.validateDiamondCut([addCut]);\nif (validation.isValid) {\n  console.log('Diamond cut is valid');\n} else {\n  console.error('Diamond cut errors:', validation.errors);\n}\n```\n\n### Hardhat Plugin API\n\nUse this approach when working within a Hardhat environment:\n\n```typescript\nimport { HardhatUserConfig } from 'hardhat/config';\nimport '@diamondslab/diamonds-monitor';\n\n// Your Hardhat config\nconst config: HardhatUserConfig = {\n  // ... other config\n};\n\n// In your Hardhat scripts/tasks\nasync function main() {\n  // Monitor a deployed diamond\n  const report = await hre.diamondMonitor.monitorDiamond({\n    diamondAddress: '0x...',\n    network: 'localhost',\n    modules: ['function-selectors', 'diamond-structure']\n  });\n  \n  console.log('Monitoring report:', report);\n  \n  // List available monitoring modules\n  const modules = hre.diamondMonitor.listModules();\n  console.log('Available modules:', modules);\n}\n```\n\n## API Reference\n\n### DiamondMonitor\n\nMain class for monitoring diamond contracts.\n\n#### Constructor\n\n```typescript\nconstructor(config: MonitorConfig)\n```\n\n#### Methods\n\n- `getDiamondInfo(): Promise<DiamondInfo>` - Get comprehensive diamond information\n- `healthCheck(): Promise<HealthCheckResult>` - Perform health diagnostics\n- `monitorEvents(fromBlock?: number): Promise<DiamondEvent[]>` - Monitor diamond events\n- `getFacetBySelector(selector: string): Promise<string>` - Get facet for a function selector\n- `getFacetSelectors(facetAddress: string): Promise<string[]>` - Get selectors for a facet\n- `getFacetAddresses(): Promise<string[]>` - Get all facet addresses\n\n### FacetManager\n\nTools for managing diamond facets.\n\n#### Methods\n\n- `analyzeFacets(facets: FacetInfo[]): Promise<AnalysisResult>` - Analyze facet conflicts and dependencies\n- `createAddFacetCut(facetAddress: string, selectors: string[]): DiamondCut` - Create cut for adding facet\n- `createReplaceFacetCut(facetAddress: string, selectors: string[]): DiamondCut` - Create cut for replacing facet\n- `createRemoveFacetCut(selectors: string[]): DiamondCut` - Create cut for removing selectors\n- `validateDiamondCut(cuts: DiamondCut[], currentFacets: FacetInfo[]): ValidationResult` - Validate cuts\n\n### Utilities\n\nHelpful utility functions for diamond development.\n\n- `getSelector(signature: string): string` - Convert function signature to selector\n- `getSelectors(signatures: string[]): string[]` - Convert multiple signatures to selectors\n- `formatAddress(address: string, length?: number): string` - Format address for display\n- `isValidAddress(address: string): boolean` - Validate Ethereum address\n- `compareSelectors(old: string[], new: string[]): ComparisonResult` - Compare selector arrays\n\n## Types\n\n### MonitorConfig\n\n```typescript\ninterface MonitorConfig {\n  provider: Provider;\n  diamondAddress: string;\n  polling?: boolean;\n  pollingInterval?: number;\n  enableEvents?: boolean;\n  enableMetrics?: boolean;\n}\n```\n\n### DiamondInfo\n\n```typescript\ninterface DiamondInfo {\n  address: string;\n  facets: FacetInfo[];\n  selectors: string[];\n  chainId: number;\n  block: number;\n}\n```\n\n### HealthCheckResult\n\n```typescript\ninterface HealthCheckResult {\n  isHealthy: boolean;\n  facetCount: number;\n  selectorCount: number;\n  lastActivity: number;\n  errors: string[];\n  warnings: string[];\n}\n```\n\n## Development\n\nThis package is part of the diamonds-monitor development environment. To contribute:\n\n1. Clone the development repository\n2. Install dependencies: `yarn install`\n3. Build the package: `yarn monitor:build`\n4. Run tests: `yarn monitor:test`\n5. Run linting: `yarn monitor:lint`\n\n## License\n\nMIT © DiamondsLab\n\n## Support\n\n- 🐛 [Report Issues](https://github.com/DiamondsLab/diamonds-monitor/issues)\n- 📖 [Documentation](https://github.com/DiamondsLab/diamonds-monitor#readme)\n- 💬 [Discussions](https://github.com/DiamondsLab/diamonds-monitor/discussions)\n","readmeFilename":"README.md"}