{"_id":"@divstake-nestjs/offchain-key-storage-client","_rev":"3-02c97dca22aada6a007236bd7ace3670","name":"@divstake-nestjs/offchain-key-storage-client","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.0-semantic-release":{"name":"@divstake-nestjs/offchain-key-storage-client","version":"0.0.0-semantic-release","keywords":["divstake","divstake-nestjs","divstake-nestjs-modules","skaibaLab","ethereum"],"license":"MIT","_id":"@divstake-nestjs/offchain-key-storage-client@0.0.0-semantic-release","maintainers":[{"name":"skaibalab","email":"skaibalab@gmail.com"}],"homepage":"https://github.com/skaibaLab/divstake-nestjs-modules","bugs":{"url":"https://github.com/skaibaLab/divstake-nestjs-modules/issues"},"dist":{"shasum":"2d3ad2462d0522961f5aa96b911bb9af0912a4cc","tarball":"https://registry.npmjs.org/@divstake-nestjs/offchain-key-storage-client/-/offchain-key-storage-client-0.0.0-semantic-release.tgz","fileCount":25,"integrity":"sha512-paeUKsxIa1msXQvm8vdQn4vbe5knyjo42BLC5/A7WAS637BXqe+Re0A3YJvRlN4iuyzsybcxR3wPFRT28vuFNA==","signatures":[{"sig":"MEUCIQCsRodrDlw+inwoJjCkyF6Gp5OGYBMG/tA3XP2uKl1PiQIgV2TitZ9DIgKaBCH9niWqnXt0hH0zkCfm1n+ba921rBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17266},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"8dd313c39120dfa32d4e8b5adf40619bf2da0ead","_npmUser":{"name":"skaibalab","email":"skaibalab@gmail.com"},"repository":{"url":"git+https://github.com/skaibaLab/divstake-nestjs-modules.git","type":"git","directory":"packages/offchain-key-storage-client"},"_npmVersion":"10.9.3","description":"Library provide interface for storing Node operator's key in IPFS and preparing merkle tree and proofs. Part of [DivStake NestJS Modules](https://github.com/skaibaLab/divstake-nestjs-modules/#readme).","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"ethers":"5.8.0","@divstake-nestjs/ipfs-http-client":"workspace:*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.5.2","@nestjs/core":"^8.2.5","@nestjs/common":"^8.2.5","@nestjs/testing":"^8.2.5","reflect-metadata":"^0.1.13"},"peerDependencies":{"rxjs":"^7.5.2","@nestjs/core":"^8.2.5","@nestjs/common":"^8.2.5","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/offchain-key-storage-client_0.0.0-semantic-release_1759981466731_0.9941421567675723","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@divstake-nestjs/offchain-key-storage-client","version":"0.0.1","keywords":["divstake","divstake-nestjs","divstake-nestjs-modules","skaibaLab","ethereum"],"license":"MIT","_id":"@divstake-nestjs/offchain-key-storage-client@0.0.1","maintainers":[{"name":"skaibalab","email":"skaibalab@gmail.com"}],"homepage":"https://github.com/skaibaLab/divstake-nestjs-modules","bugs":{"url":"https://github.com/skaibaLab/divstake-nestjs-modules/issues"},"dist":{"shasum":"9bbf5237711f7ad18138ddaf68174a596e4e8a6d","tarball":"https://registry.npmjs.org/@divstake-nestjs/offchain-key-storage-client/-/offchain-key-storage-client-0.0.1.tgz","fileCount":24,"integrity":"sha512-zAVez9l1r8N+do54Q+Og7QlL2Vyr2fW3i6tnrpTCEtC25MsIIwfNr8Z1ruoUeprSlnhGsqjqAjvGsqC7R0H+UA==","signatures":[{"sig":"MEYCIQCrfInuR59bDLL7WxO72D+lhETPUcTciihX9pDFMjrLqAIhAM49YEO78TVQCJyfZavQfKvQp0SiwwukLseRS9/bw7rJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15423},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5ee9938ecb765bc4f78ba15194123946b7237641","_npmUser":{"name":"skaibalab","email":"skaibalab@gmail.com"},"repository":{"url":"git+https://github.com/skaibaLab/divstake-nestjs-modules.git","type":"git","directory":"packages/offchain-key-storage-client"},"_npmVersion":"10.9.3","description":"Library provide interface for storing Node operator's key in IPFS and preparing merkle tree and proofs. Part of [DivStake NestJS Modules](https://github.com/skaibaLab/divstake-nestjs-modules/#readme).","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"ethers":"5.8.0","@divstake-nestjs/ipfs-http-client":"workspace:*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.5.2","@nestjs/core":"^8.2.5","@nestjs/common":"^8.2.5","@nestjs/testing":"^8.2.5","reflect-metadata":"^0.1.13"},"peerDependencies":{"rxjs":"^7.5.2","tslib":"^2.3.1","@nestjs/core":"^8.2.5","@nestjs/common":"^8.2.5","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/offchain-key-storage-client_0.0.1_1762582286092_0.5935403858240618","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@divstake-nestjs/offchain-key-storage-client","version":"0.0.2","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","homepage":"https://github.com/skaibaLab/divstake-nestjs-modules","repository":{"type":"git","url":"git+https://github.com/skaibaLab/divstake-nestjs-modules.git","directory":"packages/offchain-key-storage-client"},"bugs":{"url":"https://github.com/skaibaLab/divstake-nestjs-modules/issues"},"sideEffects":false,"keywords":["divstake","divstake-nestjs","divstake-nestjs-modules","skaibaLab","ethereum"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"dependencies":{"@divstake-nestjs/ipfs-http-client":"^0.0.2","ethers":"5.8.0"},"peerDependencies":{"@nestjs/common":"^8.2.5","@nestjs/core":"^8.2.5","reflect-metadata":"^0.1.13","rxjs":"^7.5.2","tslib":"^2.3.1"},"devDependencies":{"@nestjs/common":"^8.2.5","@nestjs/core":"^8.2.5","@nestjs/testing":"^8.2.5","reflect-metadata":"^0.1.13","rxjs":"^7.5.2"},"_id":"@divstake-nestjs/offchain-key-storage-client@0.0.2","gitHead":"bb1942a047092f57ccc3ac0da1f0a1be94150426","description":"Library provide interface for storing Node operator's key in IPFS and preparing merkle tree and proofs. Part of [DivStake NestJS Modules](https://github.com/skaibaLab/divstake-nestjs-modules/#readme).","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-0FBGHiqihGJ1fQZI3GFDpdsYFiNm7HniPmKXMEi/sLXlSTYXnbbVxOSpB2FuNIUqU+LyqizdnuoS+cs/oQDSTQ==","shasum":"00f191e696868257260ac57c56b355b9a6b577d8","tarball":"https://registry.npmjs.org/@divstake-nestjs/offchain-key-storage-client/-/offchain-key-storage-client-0.0.2.tgz","fileCount":24,"unpackedSize":15418,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAhuyIddz9zivewCO7cQ8gbXMfQnmE5rrKRN5lYVDOOBAiAng7AvWlgMlCBMzXLL3/GKBN5c7JT11RIdXU7UokNcig=="}]},"_npmUser":{"name":"skaibalab","email":"skaibalab@gmail.com"},"directories":{},"maintainers":[{"name":"skaibalab","email":"skaibalab@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/offchain-key-storage-client_0.0.2_1777867169486_0.8888841527660973"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-09T03:44:26.659Z","modified":"2026-05-04T03:59:29.743Z","0.0.0-semantic-release":"2025-10-09T03:44:26.926Z","0.0.1":"2025-11-08T06:11:26.303Z","0.0.2":"2026-05-04T03:59:29.640Z"},"bugs":{"url":"https://github.com/skaibaLab/divstake-nestjs-modules/issues"},"license":"MIT","homepage":"https://github.com/skaibaLab/divstake-nestjs-modules","keywords":["divstake","divstake-nestjs","divstake-nestjs-modules","skaibaLab","ethereum"],"repository":{"type":"git","url":"git+https://github.com/skaibaLab/divstake-nestjs-modules.git","directory":"packages/offchain-key-storage-client"},"description":"Library provide interface for storing Node operator's key in IPFS and preparing merkle tree and proofs. Part of [DivStake NestJS Modules](https://github.com/skaibaLab/divstake-nestjs-modules/#readme).","maintainers":[{"name":"skaibalab","email":"skaibalab@gmail.com"}],"readme":"# Library for storing keys in IPFS and creating merkle tree\n\nLibrary provide interface for storing Node operator's key in IPFS and preparing merkle tree and proofs.\nPart of [DivStake NestJS Modules](https://github.com/skaibaLab/divstake-nestjs-modules/#readme).\n\n## Install\n\n```bash\nyarn add @divstake-nestjs/offchain-key-storage-client\n```\n\n## Ipfs\n\n### Usage\n\nThis module depends on `IpfsModule` from `@divstake-nestjs/ipfs-http-client`, so you need to provide it as a global module or import it into `IpfsNopKeysModule`.\n\n### IpfsModule\n\n// global IpfsModule usage\n\n```ts\n@Module({\n  imports: [\n    ConfigModule,\n    // FetchModule.forRoot(),\n    IpfsModule.forRootAsync({\n      imports: [CustomFetchModule],\n      async useFactory(config: ConfigService) {\n        return {\n          url: config.get('URL'),\n          username: config.get('USERNAME'),\n          password: config.get('PASSWORD'),\n        };\n      },\n      inject: [ConfigService],\n    }),\n    IpfsNopKeysModule.forRoot(),\n  ],\n})\nexport class MyModule {}\n```\n\n// IpfsModule as deps of IpfsNopKeysModule\n\n```ts\n@Module({\n  imports: [\n    ConfigModule,\n    // FetchModule.forRoot(),\n    IpfsNopKeysModule.forRoot({\n      imports: [\n        IpfsModule.forRootAsync({\n          imports: [CustomFetchModule],\n          async useFactory(config: ConfigService) {\n            return {\n              url: config.get('URL'),\n              username: config.get('USERNAME'),\n              password: config.get('PASSWORD'),\n            };\n          },\n          inject: [ConfigService],\n        }),\n      ],\n    }),\n  ],\n})\nexport class MyModule {}\n```\n\n### NopMerkleTree\n\n```ts\n// Import\nimport { Module } from '@nestjs/common';\nimport { NopMerkleTreeModule } from '@divstake-nestjs/offchain-key-storage-client';\nimport { MyService } from './my.service';\n\n@Module({\n  imports: [NopMerkleTreeModule],\n  providers: [MyService],\n  exports: [MyService],\n})\nexport class MyModule {}\n\n// Usage\nimport {\n  NopMerkleTreeService,\n  KeySignBuffer,\n} from '@divstake-nestjs/offchain-key-storage-client';\n\nexport class MyService {\n  constructor(private nopMerkleTreeService: NopMerkleTreeService) {}\n\n  myMethod(data: KeySignBuffer[]) {\n    return this.nopMerkleTreeService.createTree(data);\n  }\n}\n```\n\nExample of usage this library https://github.com/lidofinance/lido-offchain-key-lib-test.git\n","readmeFilename":"README.md"}