{"_id":"@otskit/client","_rev":"34-4c91b14b7acbb00a896d02e823e7c199","name":"@otskit/client","dist-tags":{"latest":"0.7.2"},"versions":{"1.0.0":{"name":"@otskit/client","version":"1.0.0","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@1.0.0","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"f3218d94f3fce478ba5987d7248af62779727ae4","tarball":"https://registry.npmjs.org/@otskit/client/-/client-1.0.0.tgz","fileCount":7,"integrity":"sha512-/j6IDVtj0nzCv4rXuBFQ1yc/mclJ+rQrbVgyShdw+f0nI8686hkcUzrQ699xpvdzBmrSP9YClgCxS1eMN2nBjA==","signatures":[{"sig":"MEYCIQCgACYHuSI1pNmrimlAq8x2di5G4oLwcFYYgF8qUat62AIhAI1EgQErmB508gLxDTULCu2kcR/uo8mr7/L/nnJSN/UJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115020},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"292d8dd1e9ac045f4e3064e75266ffd97058b881","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"deprecated":"Published by mistake — use 0.x","repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"10.9.3","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"@otskit/core":"file:../otskit-core"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_1.0.0_1780516715528_0.3430790134280921","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@otskit/client","version":"0.1.0","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.1.0","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"38cdbe0c73ab5132cc4411fa3cca7b890032f003","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.1.0.tgz","fileCount":7,"integrity":"sha512-EcKtGdmlWQYejuJCIbMnlcMVSk+k4C0+euH4lkoVdl2/Ei7Kn6xLlQ2JIyHRcxqdr9PnAEkjaUk0OQANvHDQgg==","signatures":[{"sig":"MEUCIA26YNuPNJgkX5se6q14upfLDIZiOcA+o+Syly93lZm1AiEAmGgl3H1AtPuJXQ/1H5Hc/5aInYhHbz+OPBdvEXvFNrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115020},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"292d8dd1e9ac045f4e3064e75266ffd97058b881","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"10.9.3","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"@otskit/core":"file:../otskit-core"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.1.0_1780516948598_0.28544218165016266","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@otskit/client","version":"0.1.1","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.1.1","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"a68a031eb263046ef103eb562aabd1293b69fced","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.1.1.tgz","fileCount":7,"integrity":"sha512-OkE8VdJfL+iAKcy70BzJgRIwZMC0lYynLYMPTMCdYo3sRs633zorKbVZQTARao+ZHmyRhTqkoi7BeLFWqj8V5g==","signatures":[{"sig":"MEQCIHVLNWQQ+KwZdni8DEDG+sTbkTImz/xT6CLZRTGk3EADAiA/YdQCY1c6uZ+i9a4nf9DAZ8m4BKZ6bW6XA2EVS6FlOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115007},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"292d8dd1e9ac045f4e3064e75266ffd97058b881","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"10.9.3","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"@otskit/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.1.1_1780522995668_0.8024405620405248","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@otskit/client","version":"1.0.1","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@1.0.1","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"1e4c33ab52c2d1d18ea82105753aa86f56cec570","tarball":"https://registry.npmjs.org/@otskit/client/-/client-1.0.1.tgz","fileCount":3,"integrity":"sha512-5rMp/04ngjgDPa0RKf/M+9a4fq3ZGvsjKa472D9NrJPllB7B+cF4gqGx6h6UZbBYd0EQE4ZYqp9heC43i9lXSw==","signatures":[{"sig":"MEQCIBZL7oNlReHxPCgpvBvmSlQvoPA39ldkfTZCn9GnF+kpAiA74azdBYO5/qoosNsbG+P7FRLOAlLOSffbQYl6Bddkzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20802},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"6ade39e475680035913f5b37a24c0ff53a767617","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"deprecated":"Published by mistake — use 0.x","repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@otskit/core":"file:../otskit-core","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_1.0.1_1780526030004_0.6776220998391722","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@otskit/client","version":"1.0.2","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@1.0.2","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"1fc62999685f487be39b6c57c715bffa4b789e1d","tarball":"https://registry.npmjs.org/@otskit/client/-/client-1.0.2.tgz","fileCount":3,"integrity":"sha512-Cb6B3X20YkXo7AukMqNcTRurThbcAYS7URxzjGoPBgzjyeKe/ISHLj+kwwVGpwqlBHyak+4UrVYYP5pJvQ6NLg==","signatures":[{"sig":"MEUCIQDjnPi4sof9yy4i+b7vs/RNBYDtkB26JzP8+jQdDdruPgIgEaSPk5VR35b0kX44ng7MMQd2P715tVWEvxwYmvMPLgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20802},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"6a7ec1dd6707026a6953fbf1ed47ea0b22586ae1","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"deprecated":"Published by mistake — use 0.x","repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@otskit/core":"file:../otskit-core","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_1.0.2_1780526461575_0.22295688527786872","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@otskit/client","version":"1.0.3","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@1.0.3","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"9cf582e39f4ad238117a7bc390a09a0d9933f639","tarball":"https://registry.npmjs.org/@otskit/client/-/client-1.0.3.tgz","fileCount":3,"integrity":"sha512-1FlL+J8PbylY5tmpyGZJk0jNRm3OByqeXR0obv/m+okJICryYoemkg9qYUeb4ZLhT4HXuGfv35lCTOhgkEthUQ==","signatures":[{"sig":"MEYCIQCYCWTRWtt1IBYnUEL6LfnCjFpa0c3cOAjg5ZH0PW0ygQIhAOIe/Ihjr+vLfvV/PsSYBA44ht74vtPTVoJVNfiUYiwz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20802},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"c2e043bf41dbb685045fe0216559d14340b69e94","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"deprecated":"Published by mistake — use 0.x","repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@otskit/core":"file:../otskit-core","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_1.0.3_1780573559557_0.5433670864203484","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@otskit/client","version":"1.0.4","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@1.0.4","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"07d4c0f1ef11c9d9619ce3b2239eab7a04211c11","tarball":"https://registry.npmjs.org/@otskit/client/-/client-1.0.4.tgz","fileCount":3,"integrity":"sha512-yItnkpWme2/9bgtJ41awbeS5flp8RC+Oer5lQT8VeuDWGavomIfs/3TgTeYYUgXbLAp9a3rPKf8NllZscATD5Q==","signatures":[{"sig":"MEUCIQDSfZ9p62xR7XY9SXba3N/VoDa7lzFv80aOwkBZfW9FiQIgec3Gm3XbaR3/LCqaSiD/jCXSLgy1NKeofxlWqaVrJ4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20802},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"bc5357ac3c0400a045f78934233d7f7d0659b5e9","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"deprecated":"Published by mistake — use 0.x","repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@otskit/core":"file:../otskit-core","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_1.0.4_1780574781181_0.7884997505891722","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@otskit/client","version":"0.1.2","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.1.2","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"a2aa46b15ecfe817dfa0d00fc928e2b63af21aff","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.1.2.tgz","fileCount":7,"integrity":"sha512-TMRkyPWbVyrCGo62Da0SkzOEIq2O7FPp1xnsP0R8CDTyXUZBOLkbVtTNHir+t+GZsrSQR5LP/l/EZIHcRXhNVA==","signatures":[{"sig":"MEQCICao/8jrUlERIQ1mCF+sOtFuquea+e2vavpG6QMVH7EmAiALrho3ZRLKAl4dbkT4RYz3WuA+vRUNKslQ4ODuc5gATw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185483},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"b08398a44f55a93d02806ff385d976b2a56ca1da","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"10.9.3","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@otskit/core":"file:../otskit-core","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.1.2_1780578347609_0.5278215872768479","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@otskit/client","version":"0.1.3","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.1.3","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"d83eefa695f6f703cbb45364e77a277cb2b4839d","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.1.3.tgz","fileCount":7,"integrity":"sha512-AC89AvKrrXRllI7B1ek661hSjTchsQuoGUvNsCee1BcZbYtadaSnxsp2OyESRNRTBgtF2/FilIvdG4l+I4o3iQ==","signatures":[{"sig":"MEQCIEXyPqmD86OT1mm04NsIvN5hL7ydXo9WOPUBcHL/PO+NAiAO+c2A0hW+z+KYCrFDD/4oEHjFKqVde9+HzLG//wy5zQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185602},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"90a4c9bcbdeb0e66b410791833255451cc83c6c9","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@otskit/core":"file:../otskit-core","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.1.3_1780635951163_0.09684443568744872","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@otskit/client","version":"0.2.0","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.2.0","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"e5a5dbc32cb52ea79e5bde974f29ccb6a813ec2b","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.2.0.tgz","fileCount":7,"integrity":"sha512-AMIpbidG9x96bxXOeFTngT+glMiouzGWS978XnXNo2qZ/84o+twKJYA/Z51Zdmzp8+xuJXwvcE+mj0CjBsRsHQ==","signatures":[{"sig":"MEYCIQChoDyrdSn+ROBoJYYdIyUpkTpF9OdIYEu738SUq2fu7AIhAO06GG5vGQYmtyTXkMbgbNAdqPzu8SfwT8q9WPFQmou6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186907},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"4607cd3f1e4dab7db44ff41b330747f2f23509ce","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@otskit/core":"file:../otskit-core","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.2.0_1780676786909_0.891558540662249","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@otskit/client","version":"0.3.0","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.3.0","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"c7fc2f4150ed6fe25f5278b86653643046b1c74c","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.3.0.tgz","fileCount":7,"integrity":"sha512-X2rU2Dde8Z9R+W1vIoj3ENPFCzwzKJ8+MrGMsBLRO/QdmU8mk4ItNZgUHkWPT2Rqc8CZvZ1/+IaQADRPcyTvpg==","signatures":[{"sig":"MEUCIQD5qpux3qtmHwZ8+jHuH8Aw/XycCn/yDAJWaMa1IpjsAgIgaF2zd7uwoe+hN9vOQ7pj0kpW9V+ymwHzoJQ1EX51iFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212411},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"8566808c660165a263e6be69965622f9108a93d8","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@otskit/core":"file:../otskit-core","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.3.0_1780841953255_0.49562022422302077","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@otskit/client","version":"0.4.0","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.4.0","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"264854f999fe8ac43ee9ace54c8ef3fde3792870","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.4.0.tgz","fileCount":7,"integrity":"sha512-ViyBqTtruEztkTaUCicSpqhjeah89vgfvicj5rAt2nuSpo2WZtDOLyhJ6I4P2AK/jnn0oAv56/e1Amx4umB8Jg==","signatures":[{"sig":"MEQCIHK3CZX+g9Dog73IjtFIYzva03TZjuIl4JUqlG+LzycpAiB10ueGY4i5K1tlqGvjvRPTd+wM7XogJq25uU+OQYMK4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141991},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"dd0361d3d5d4f8f5a6460fa85a7902c4e34b53fc","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@otskit/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^5.6.3","@types/node":"^25.9.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.4.0_1781073388807_0.6171301318951636","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@otskit/client","version":"0.5.0","keywords":["opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.5.0","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"cd85b3c6f1ba07cc0a855c526118a646482caf10","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.5.0.tgz","fileCount":7,"integrity":"sha512-bKJWG/xzw7aoQq1vSFiPvsSEiLXM0hQVdaGVfOxvDP38/JWxPt5XRphtG2Ncx/jaAkri1gy4gD+h2fJCnlAS9w==","signatures":[{"sig":"MEQCIG9HgDlo0b4749lbFqn5ZKSOC12Uc/UoIUjw/F9tVhNyAiAhrL+TsMtBtegeppDfPgHByWMeMUJkKZ3hG2/O1sluSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149171},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"ba5b99e6263fd17f42bb846540dde9bc6dc1c762","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","lint":"eslint .","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --clean","format":"prettier --write \"src/**/*.ts\"","coverage":"vitest run --coverage","test:watch":"vitest","semantic-release":"semantic-release"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.16.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@otskit/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^6.0.3","@types/node":"^25.9.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.5.0_1781148764775_0.5183351681165969","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@otskit/client","version":"0.6.0","keywords":["otskit","opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.6.0","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"1a4dafe9abb20582b0d16d4b070c8525a7bebaab","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.6.0.tgz","fileCount":9,"integrity":"sha512-G9hrA0WgilJG1SAZeLlfm63BQECN5qGphPJZXcE3y0Uw4/8+Oz7U50NQLvcqLloNgIx58Bz4Cy2k+aOXcgW20g==","signatures":[{"sig":"MEUCIQDMZQH+3mEBbxm2vIxUIwiyEBa15WG6Mb+cuV5NL/9tlgIgFlhCnmy06VqY257n7u8eYWn1dgFgJVJCps0i8KhJifc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177515},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./browser":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}}},"gitHead":"be19c6c48c50139957fb50107f0661dafeed8c1e","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.ts\"","coverage":"vitest run --coverage","test:watch":"vitest","semantic-release":"semantic-release","typecheck:browser":"tsc -p tsconfig.browser.json"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.18.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@otskit/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^6.0.3","@types/node":"^26.1.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^11.0.0","@semantic-release/changelog":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.6.0_1785255131980_0.9195457662968245","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@otskit/client","version":"0.6.1","keywords":["otskit","opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.6.1","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"97ccde3a86924ca197bb75e7d1e023029f7e8d09","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.6.1.tgz","fileCount":9,"integrity":"sha512-npJ39eeljrgKpn0ptMYmaS/4T/Hb3utDZE1VViSOHDUBzDXIObc4tiknq5DBWItJU6LNUECTZH8p8qr3Ro/Xbw==","signatures":[{"sig":"MEUCIQC07ZCu3Ng30jnBZhwwflsHJ94jLkSXPLa4OvPxQaQAZQIgBmFep0zychL3ZvG4IJQHAiQYr1DSOaHx5ABnl29GnNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177851},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./browser":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}}},"gitHead":"76dc55679ccd3f99e1e9175e9f8b7b30df980206","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.ts\"","coverage":"vitest run --coverage","test:watch":"vitest","semantic-release":"semantic-release","typecheck:browser":"tsc -p tsconfig.browser.json"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.18.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@otskit/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^6.0.3","@types/node":"^26.1.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^11.0.0","@semantic-release/changelog":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.6.1_1785333282941_0.15337541796841458","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@otskit/client","version":"0.7.0","keywords":["otskit","opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.7.0","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"71131f610001fbbede16ec6d40dc45ed6f438fe8","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.7.0.tgz","fileCount":9,"integrity":"sha512-zklU4GCLa3QthRyA8dZZURKCNdgff40U2/RZAlorGsmK6Xzlb5B6ny2SS3jxRziDSFcRvfUXq7EJ2Hh8Ilm+jg==","signatures":[{"sig":"MEQCIFVBZncIZ6AALuRTJ0AD29gg+4+qeSkbb5/4O0zThOIMAiAfybzWd00TYSHONjxdXXOSn3NLybf6kbWGlGCa1AF+Qw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181268},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./browser":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}}},"gitHead":"35186adc9525a174e4ea2915f439e129469a8052","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.ts\"","coverage":"vitest run --coverage","test:watch":"vitest","semantic-release":"semantic-release","typecheck:browser":"tsc -p tsconfig.browser.json"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.18.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@otskit/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^6.0.3","@types/node":"^26.1.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^11.0.0","@semantic-release/changelog":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.7.0_1785353738755_0.5356330918426497","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@otskit/client","version":"0.7.1","keywords":["otskit","opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"author":{"name":"alexalves87"},"license":"MIT","_id":"@otskit/client@0.7.1","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"homepage":"https://github.com/OTSkit/OTSkit-client#readme","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"dist":{"shasum":"314afa9288071496efef5ee61f3d59bc4201a3f6","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.7.1.tgz","fileCount":9,"integrity":"sha512-sMSDBb872o1QEa4yyYS4rJ3hjmasR/t1eWyTH0VkwKXfDjyXtX5+//FqVrlquXxcvuRRs//Q+CgRuAUdSJjwOQ==","signatures":[{"sig":"MEUCIBerSJZRvNJxHZjCVyPTft3kOESLu5Fj5hcG9Sinjd9pAiEArpAfgmxIf9RZJZ/2dvMvrk1o56F3idhzPzGaOWwd57Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181337},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./browser":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}}},"gitHead":"bf5ebfa9bb7325a302f4d3da5ef1040d66816cb0","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"src/**/*.ts\"","coverage":"vitest run --coverage","test:watch":"vitest","semantic-release":"semantic-release","typecheck:browser":"tsc -p tsconfig.browser.json"},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"repository":{"url":"git+https://github.com/OTSkit/OTSkit-client.git","type":"git"},"_npmVersion":"11.19.0","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@otskit/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.6","tsup":"^8.3.5","eslint":"^10.0.1","vitest":"^4.1.8","prettier":"^3.3.3","@eslint/js":"^10.0.1","fast-check":"^4.3.0","playwright":"^1.56.1","typescript":"^6.0.3","@types/node":"^26.1.1","@vitest/browser":"^4.1.8","semantic-release":"^25.0.3","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.8","@semantic-release/git":"^11.0.0","@semantic-release/changelog":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.7.1_1785427696678_0.20661992766562975","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@otskit/client","version":"0.7.2","description":"Official client SDK for OpenTimestamps calendars with resilience patterns","author":{"name":"alexalves87"},"license":"MIT","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./browser":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}}},"engines":{"node":">=20.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck:browser":"tsc -p tsconfig.browser.json","test":"vitest run","coverage":"vitest run --coverage","test:watch":"vitest","lint":"eslint .","format":"prettier --write \"src/**/*.ts\"","semantic-release":"semantic-release"},"keywords":["otskit","opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"publishConfig":{"access":"public"},"sideEffects":false,"homepage":"https://github.com/OTSkit/OTSkit-client#readme","repository":{"type":"git","url":"git+https://github.com/OTSkit/OTSkit-client.git"},"dependencies":{"@otskit/core":"^0.2.0"},"devDependencies":{"@eslint/js":"^10.0.1","@semantic-release/changelog":"^7.0.0","@semantic-release/git":"^11.0.0","@types/node":"^26.1.1","@vitest/coverage-v8":"^5.0.0","eslint":"^10.0.1","fast-check":"^4.3.0","msw":"^2.11.6","prettier":"^3.3.3","semantic-release":"^25.0.3","tsup":"^8.3.5","typescript":"^6.0.3","typescript-eslint":"^8.0.0","vitest":"^5.0.0"},"gitHead":"4148bc6f5cea19379655e942f54736df3e1c2a58","_id":"@otskit/client@0.7.2","bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"_nodeVersion":"22.23.2","_npmVersion":"11.19.1","dist":{"integrity":"sha512-BvZI8OeeQ+KehHjtiugv5Jx+kLEGMqgDRobfNmRFxnzV0xJFIe5DDVd6NOCX+EmA2V5/CFC6UdXW7jmjkhLVcg==","shasum":"9fe7b3f2700a7157c2996daf0cbdbb47a01c7f7e","tarball":"https://registry.npmjs.org/@otskit/client/-/client-0.7.2.tgz","fileCount":9,"unpackedSize":183429,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD1VtQt7nm7uMfGjCXLhpzE/kz3rfWfau4q+A68ces5gwIhAN+ILqkLjUzpYRz0SpEiIo1ltkKaFnZcnYMMJXDY2UG3"}]},"_npmUser":{"name":"alexalves87","email":"catabego@hotmail.com"},"directories":{},"maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/client_0.7.2_1789324309205_0.23579488456800712"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-03T19:58:35.354Z","modified":"2026-09-13T18:31:49.519Z","1.0.0":"2026-06-03T19:58:35.689Z","0.1.0":"2026-06-03T20:02:28.777Z","0.1.1":"2026-06-03T21:43:15.812Z","1.0.1":"2026-06-03T22:33:50.138Z","1.0.2":"2026-06-03T22:41:01.736Z","1.0.3":"2026-06-04T11:45:59.697Z","1.0.4":"2026-06-04T12:06:21.303Z","0.1.2":"2026-06-04T13:05:47.753Z","0.1.3":"2026-06-05T05:05:51.321Z","0.2.0":"2026-06-05T16:26:27.059Z","0.3.0":"2026-06-07T14:19:13.408Z","0.4.0":"2026-06-10T06:36:28.958Z","0.5.0":"2026-06-11T03:32:45.048Z","0.6.0":"2026-07-28T16:12:12.144Z","0.6.1":"2026-07-29T13:54:43.107Z","0.7.0":"2026-07-29T19:35:38.919Z","0.7.1":"2026-07-30T16:08:16.793Z","0.7.2":"2026-09-13T18:31:49.345Z"},"bugs":{"url":"https://github.com/OTSkit/OTSkit-client/issues"},"author":{"name":"alexalves87"},"license":"MIT","homepage":"https://github.com/OTSkit/OTSkit-client#readme","keywords":["otskit","opentimestamps","ots","blockchain","bitcoin","timestamp","proof","client","sdk"],"repository":{"type":"git","url":"git+https://github.com/OTSkit/OTSkit-client.git"},"description":"Official client SDK for OpenTimestamps calendars with resilience patterns","maintainers":[{"name":"alexalves87","email":"catabego@hotmail.com"}],"readme":"<p align=\"center\">\n  <img src=\".github/otskit-client-header.png\" alt=\"OTSkit Client\" width=\"480\" />\n</p>\n\n# @otskit/client\n\n> TypeScript/JavaScript client for OpenTimestamps with enterprise-grade resilience patterns\n\n[![CI](https://github.com/OTSkit/OTSkit-client/actions/workflows/ci.yml/badge.svg)](https://github.com/OTSkit/OTSkit-client/actions/workflows/ci.yml)\n[![CodeQL](https://github.com/OTSkit/OTSkit-client/actions/workflows/codeql.yml/badge.svg)](https://github.com/OTSkit/OTSkit-client/actions/workflows/codeql.yml)\n[![npm version](https://img.shields.io/npm/v/@otskit/client.svg)](https://www.npmjs.com/package/@otskit/client)\n[![npm downloads](https://img.shields.io/npm/dt/@otskit/client.svg)](https://www.npmjs.com/package/@otskit/client)\n[![TypeScript](https://img.shields.io/badge/TypeScript-6-blue.svg)](https://www.typescriptlang.org/)\n[![Node ≥20](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)\n[![Coverage](https://codecov.io/gh/OTSkit/OTSkit-client/branch/main/graph/badge.svg)](https://codecov.io/gh/OTSkit/OTSkit-client)\n[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=OTSkit_OTSkit-client&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=OTSkit_OTSkit-client)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n`@otskit/client` is the official client SDK for submitting, upgrading, and verifying [OpenTimestamps](https://opentimestamps.org) proofs. It sits on top of [@otskit/core](https://github.com/OTSkit/OTSkit-core) — the low-level protocol engine — and wraps it in a high-level API with production-ready resilience patterns built in.\n\n## Features\n\n### Complete OpenTimestamps Workflow\n- **`stamp()`** — Hash your data, build a Merkle tree with a secure nonce, and submit to multiple calendar servers simultaneously\n- **`upgrade()`** — Query calendars for Bitcoin confirmations and merge them into the pending proof\n- **`verify()`** — Verify a completed proof against the Bitcoin blockchain via Esplora\n\n### Enterprise-Grade Resilience\n- **Circuit Breaker** — Per-calendar isolation; one failing calendar never affects the others\n- **Exponential Backoff** — Three strategies (`exponential`, `linear`, `constant`) with three jitter modes (`full`, `equal`, `none`)\n- **Dual Timeouts** — Independent `totalTimeoutMs` (whole operation) and `connectTimeoutMs` (per attempt)\n- **Threshold Submissions** — `stamp()` requires N-of-M successful submissions (default 2-of-4); configurable\n- **Fail-Fast on 4xx** — Client errors are never retried; only 5xx and network failures trigger retries\n\n### Developer Experience\n- **TypeScript-first** — Strict types throughout; full IntelliSense for every option and error\n- **Node.js 20+** — Requires Node.js; uses native `crypto`, `dns`, and `net` APIs not available in browsers or edge runtimes\n- **Tree-shakeable** — Dual ESM/CJS build; `@otskit/core` is the only runtime dependency, no third-party packages\n- **`AbortController` support** — Cancel any in-flight operation at any level\n- **Observable** — Drop-in `Logger` interface compatible with `console`, `pino`, `winston`, etc.\n- **Built-in SHA-256 helpers** — `hashFile()` and `hashBuffer()` so you don't need to wire up `crypto` yourself\n\n---\n\n> **Note on confirmation times:** After `stamp()`, the proof is `pending` — registered with calendar servers but not yet anchored to Bitcoin. Confirmations typically arrive within **~60 minutes**, but can take **several hours** during network congestion. Call `upgrade()` periodically to check; a pending proof is not a failed proof — an `UpgradeError` simply means the blockchain hasn't confirmed yet.\n\n---\n\n## Installation\n\n```bash\nnpm install @otskit/client\n```\n\n`@otskit/core` is a regular dependency and installs automatically; no separate install is needed.\n\n---\n\n## Quick Start\n\n```typescript\nimport { OpenTimestampsClient, hashFile } from '@otskit/client'\nimport { writeFileSync } from 'fs'\n\nconst client = new OpenTimestampsClient()\n\n// 1. Hash the file you want to timestamp\nconst hash = await hashFile('contract.pdf')\n\n// 2. Submit to calendars → get a pending .ots proof\nconst pendingProof = await client.stamp(hash)\nwriteFileSync('contract.pdf.ots', pendingProof)\nconsole.log('Proof saved — Bitcoin confirmation usually arrives in ~60 minutes.')\n\n// 3. Later: query calendars for a Bitcoin confirmation\nconst upgradedProof = await client.upgrade(pendingProof)\nwriteFileSync('contract.pdf.ots', upgradedProof)\n\n// 4. Verify the completed proof\nconst result = await client.verify(upgradedProof, hash)\nif (result.valid) {\n  console.log(`Timestamp confirmed in Bitcoin block ${result.blockHeight}`)\n  console.log(`Block time: ${new Date(result.timestamp! * 1000).toISOString()}`)\n} else {\n  console.error(`Verification failed: ${result.error}`)\n}\n```\n\n---\n\n## Usage\n\n### Hashing files and data\n\nUse the built-in helpers to compute SHA-256 without importing `crypto` yourself:\n\n```typescript\nimport { hashFile, hashBuffer } from '@otskit/client'\n\n// From a file path (streaming — safe for large files)\nconst hash = await hashFile('contract.pdf')\n\n// From bytes already in memory\nconst hash = hashBuffer(Buffer.from('hello world'))\nconst hash = hashBuffer(new Uint8Array([...]))\n```\n\nBoth return a 32-byte `Buffer` ready to pass directly to `stamp()`.\n\n### Stamping data\n\n`stamp()` accepts either a 32-byte `Buffer` or a 64-character hex string:\n\n```typescript\n// From hashFile / hashBuffer\nconst proof = await client.stamp(await hashFile('contract.pdf'))\n\n// Or a hex string\nconst proof = await client.stamp('a'.repeat(64))\n```\n\nInternally, `stamp()` prepends a 16-byte cryptographic nonce to each submission, builds a Merkle tree over all concurrent submissions, and serializes the result as a standard `.ots` file.\n\n### Upgrading a pending proof\n\nCall `upgrade()` periodically until Bitcoin confirms the timestamp. It queries only the calendars embedded in the proof (validated against a whitelist), so your `calendars` option does not affect this step.\n\n```typescript\nimport { UpgradeError } from '@otskit/client'\n\ntry {\n  const upgradedProof = await client.upgrade(pendingProof)\n  // Save and stop polling\n} catch (err) {\n  if (err instanceof UpgradeError) {\n    // No calendar has a Bitcoin confirmation yet — try again later\n    console.log('Not confirmed yet, retry in 5 minutes')\n  }\n}\n```\n\n### Verifying a proof\n\n`verify()` queries the Blockstream Esplora API to check the Bitcoin merkle root. Passing `originalDataHash` adds an extra integrity check that the proof was created for that specific hash.\n\n```typescript\nconst result = await client.verify(proof, originalHash)\n\nif (result.valid) {\n  console.log(result.blockHeight)  // Bitcoin block number\n  console.log(result.blockHash)    // Block hash (hex)\n  console.log(result.timestamp)    // Unix timestamp of the block\n} else {\n  console.log(result.error)        // Human-readable reason\n}\n```\n\n`verify()` always returns `VerificationResult` — it never throws for invalid proofs, only for unexpected network failures.\n\n### Error handling\n\n```typescript\nimport {\n  StampError,\n  UpgradeError,\n  ValidationError,\n  NetworkError,\n  CircuitBreakerError,\n} from '@otskit/client'\n\ntry {\n  await client.stamp(hash)\n} catch (err) {\n  if (err instanceof ValidationError) {\n    // Invalid hash format\n  } else if (err instanceof StampError) {\n    // Not enough calendars accepted the submission\n    console.log(`Succeeded: ${err.successfulSubmissions.map(s => s.calendar)}`)\n    console.log(`Failed:    ${err.failedSubmissions.map(s => s.calendar)}`)\n  } else if (err instanceof CircuitBreakerError) {\n    // A calendar is isolated due to repeated failures\n  } else if (err instanceof NetworkError) {\n    console.log(`HTTP status: ${err.status}`) // undefined for non-HTTP errors\n  }\n}\n```\n\n### Cancellation with AbortController\n\nYou can cancel individual operations or set a client-wide signal:\n\n```typescript\n// Per-operation cancellation\nconst controller = new AbortController()\nsetTimeout(() => controller.abort(), 10_000)\n\nconst proof = await client.stamp(hash, { signal: controller.signal })\n\n// Client-wide cancellation (applies to all operations)\nconst clientController = new AbortController()\nconst client = new OpenTimestampsClient({ signal: clientController.signal })\n\nclientController.abort() // cancels any in-flight request\n```\n\n### Observability with a logger\n\nAny object with `debug`, `info`, `warn`, and `error` methods works:\n\n```typescript\nimport pino from 'pino'\n\nconst client = new OpenTimestampsClient({\n  logger: pino({ level: 'debug' }),\n})\n```\n\nUsing `console` directly:\n\n```typescript\nconst client = new OpenTimestampsClient({ logger: console })\n```\n\n### Monitoring circuit breakers\n\n```typescript\nconst state = client.getCircuitState('https://alice.btc.calendar.opentimestamps.org')\n// 'CLOSED' | 'OPEN' | 'HALF_OPEN' | undefined\n\n// Manually recover a calendar after a known incident\nclient.resetCircuit('https://alice.btc.calendar.opentimestamps.org')\n\n// Reset all calendars at once\nclient.resetAllCircuits()\n```\n\n---\n\n## Configuration\n\n### `ClientOptions`\n\n```typescript\nconst client = new OpenTimestampsClient({\n  // Calendar servers to submit to (default: the four public OTS calendars)\n  calendars: [\n    'https://alice.btc.calendar.opentimestamps.org',\n    'https://bob.btc.calendar.opentimestamps.org',\n    'https://finney.calendar.eternitywall.com',\n    'https://btc.calendar.catallaxy.com',\n  ],\n\n  // How many calendars must succeed for stamp() to resolve (default: 2)\n  minimumSuccessfulSubmissions: 2,\n\n  // Resilience configuration (see below)\n  resilience: { ... },\n\n  // Logger implementing { debug, info, warn, error }\n  logger: console,\n\n  // AbortSignal applied to all operations on this client\n  signal: controller.signal,\n})\n```\n\n### `ResilienceOptions`\n\nAll fields are optional — unspecified fields fall back to the defaults shown.\n\n```typescript\nresilience: {\n  // Maximum total time for a single operation across all retries (ms)\n  totalTimeoutMs: 30_000,   // default\n\n  // Maximum time for a single HTTP attempt (ms)\n  connectTimeoutMs: 5_000,  // default\n\n  retries: {\n    enabled: true,          // default\n    maxAttempts: 3,         // default\n\n    backoff: {\n      strategy: 'exponential', // 'exponential' | 'linear' | 'constant'\n      initialDelayMs: 200,     // default\n      maxDelayMs: 5_000,       // default; caps the computed delay\n      jitter: 'full',          // 'full' | 'equal' | 'none'\n    },\n  },\n\n  circuitBreaker: {\n    enabled: true,            // default\n    failureThreshold: 5,      // consecutive failures before OPEN (default)\n    recoveryTimeoutMs: 15_000,// time in OPEN before trying HALF_OPEN (default)\n    halfOpenMaxAttempts: 1,   // probing requests in HALF_OPEN state (default)\n  },\n}\n```\n\n**Backoff strategies:**\n\n| Strategy | Delay formula |\n|---|---|\n| `exponential` | `initialDelayMs × 2^(attempt - 1)` |\n| `linear` | `initialDelayMs × attempt` |\n| `constant` | `initialDelayMs` |\n\n**Jitter modes:**\n\n| Mode | Effect |\n|---|---|\n| `full` | Random value in `[0, delay]` — best for thundering-herd prevention |\n| `equal` | Random value in `[delay/2, delay]` |\n| `none` | Deterministic delay |\n\n**Circuit breaker states:**\n\n```\nCLOSED ──(failureThreshold consecutive failures)──► OPEN\nOPEN   ──(recoveryTimeoutMs elapsed)             ──► HALF_OPEN\nHALF_OPEN ──(success)                            ──► CLOSED\nHALF_OPEN ──(failure)                            ──► OPEN\n```\n\n---\n\n## API Reference\n\n### `OpenTimestampsClient`\n\n#### Constructor\n\n```typescript\nnew OpenTimestampsClient(options?: ClientOptions)\n```\n\n#### `stamp(hash, options?): Promise<Buffer>`\n\nSubmits the hash to configured calendars and returns a serialized `.ots` proof.\n\n| Parameter | Type | Description |\n|---|---|---|\n| `hash` | `Buffer \\| string` | SHA-256 hash (32-byte Buffer or 64-char hex string) |\n| `options.signal` | `AbortSignal` | Override the client-level signal for this call |\n\nThrows `ValidationError` if the hash format is invalid.  \nThrows `StampError` if fewer than `minimumSuccessfulSubmissions` calendars accepted.\n\n#### `upgrade(proof, options?): Promise<Buffer>`\n\nQueries the calendars referenced in the proof for Bitcoin confirmations. Returns the updated proof if at least one calendar confirmed; otherwise throws `UpgradeError`.\n\n| Parameter | Type | Description |\n|---|---|---|\n| `proof` | `Buffer` | Serialized `.ots` proof as returned by `stamp()` |\n| `options.signal` | `AbortSignal` | Override the client-level signal for this call |\n\nThrows `ValidationError` if the proof is malformed.  \nThrows `UpgradeError` if no calendar has confirmed the timestamp yet.\n\n#### `verify(proof, originalDataHash?): Promise<VerificationResult>`\n\nVerifies a completed proof against the Bitcoin blockchain via Esplora. Never throws for invalid or incomplete proofs — failures are returned as `{ valid: false, error: '...' }`.\n\n| Parameter | Type | Description |\n|---|---|---|\n| `proof` | `Buffer` | Completed `.ots` proof with a Bitcoin attestation |\n| `originalDataHash` | `Buffer \\| string \\| undefined` | If provided, also checks that the proof was created for this hash |\n\nReturns `VerificationResult`:\n\n```typescript\n{\n  valid: boolean\n  blockHeight?: number   // Bitcoin block number\n  blockHash?: string     // Block hash (hex)\n  timestamp?: number     // Unix epoch of the block\n  error?: string         // Set when valid is false\n}\n```\n\n#### `getCircuitState(calendarUrl): CircuitState | undefined`\n\nReturns the current state of the circuit breaker for a calendar URL (`'CLOSED'`, `'OPEN'`, `'HALF_OPEN'`, or `undefined` if not yet initialized).\n\n#### `resetCircuit(calendarUrl): void`\n\nManually resets the circuit breaker for a calendar. Use this after a known outage is resolved.\n\n#### `resetAllCircuits(): void`\n\nResets all circuit breakers across all calendars.\n\n---\n\n### Errors\n\nAll errors extend `OpenTimestampsClientError extends Error`.\n\n| Class | When |\n|---|---|\n| `ValidationError` | Invalid input (bad hash format, malformed proof, invalid URL) |\n| `StampError` | `stamp()` did not reach `minimumSuccessfulSubmissions`. Has `.successfulSubmissions` and `.failedSubmissions` arrays |\n| `UpgradeError` | No calendar confirmed the timestamp yet |\n| `NetworkError` | Network failure (timeout, all retries exhausted). Has `.status?: number` |\n| `CircuitBreakerError extends NetworkError` | Request rejected because the circuit is OPEN |\n| `CommitmentNotFoundError extends NetworkError` | Calendar returned 404 for a commitment |\n| `CalendarResponseTooLargeError extends NetworkError` | Calendar response exceeded the 10 KB size limit |\n| `EsploraResponseError extends NetworkError` | Esplora returned an invalid, malformed, or oversized response |\n\n---\n\n### Utility functions\n\n#### `hashFile(path): Promise<Buffer>`\n\nReturns the SHA-256 hash of a file as a 32-byte `Buffer`. Reads the file as a stream — safe for large files.\n\n```typescript\nimport { hashFile } from '@otskit/client'\n\nconst hash = await hashFile('contract.pdf')\nconst proof = await client.stamp(hash)\n```\n\n#### `hashBuffer(data): Buffer`\n\nReturns the SHA-256 hash of a `Buffer` or `Uint8Array` synchronously.\n\n```typescript\nimport { hashBuffer } from '@otskit/client'\n\nconst hash = hashBuffer(Buffer.from('my data'))\n```\n\n---\n\n### Advanced exports\n\nThese are available for custom integrations and advanced use cases.\n\n#### `CalendarClient`\n\nLow-level client for a single OTS calendar server.\n\n```typescript\nimport { CalendarClient, ResilientNetworkLayer, DEFAULT_RESILIENCE } from '@otskit/client'\n\nconst network = new ResilientNetworkLayer(DEFAULT_RESILIENCE)\nconst calendar = new CalendarClient('https://alice.btc.calendar.opentimestamps.org', network)\n\nconst timestamp = await calendar.submit(digest)       // POST /digest\nconst upgraded  = await calendar.getTimestamp(digest) // GET /timestamp/:hex\n```\n\n#### `EsploraClient`\n\nClient for querying a Bitcoin block explorer compatible with the [Esplora API](https://github.com/Blockstream/esplora/blob/master/API.md).\n\n```typescript\nimport { EsploraClient, ResilientNetworkLayer, DEFAULT_RESILIENCE, PUBLIC_ESPLORA_URL } from '@otskit/client'\n\nconst network = new ResilientNetworkLayer(DEFAULT_RESILIENCE)\nconst esplora = new EsploraClient(network, { url: PUBLIC_ESPLORA_URL })\n\nconst blockHash   = await esplora.blockHash(850_000)         // → hex string\nconst blockHeader = await esplora.block(blockHash)           // → { merkleroot, time }\n```\n\n#### `verifyTimestampAttestation`\n\nVerifies a single `Attestation` (Bitcoin or Litecoin) against a block explorer.\n\n```typescript\nimport { verifyTimestampAttestation } from '@otskit/client'\n\nconst blockTime = await verifyTimestampAttestation(digest, attestation, esploraClient)\n```\n\n#### `UrlWhitelist`\n\nWildcard URL allowlist used internally to validate calendar URLs in upgrade proofs.\n\n```typescript\nimport { UrlWhitelist } from '@otskit/client'\n\nconst wl = new UrlWhitelist([\n  'https://*.calendar.opentimestamps.org',\n  'https://my-calendar.example.com',\n])\n\nwl.contains('https://alice.btc.calendar.opentimestamps.org') // true\nwl.contains('https://evil.example.com')                      // false\n```\n\n#### `ResilientNetworkLayer`\n\nThe full timeout + retry + circuit-breaker stack as a standalone class.\n\n```typescript\nimport { ResilientNetworkLayer, DEFAULT_RESILIENCE } from '@otskit/client'\n\nconst network = new ResilientNetworkLayer(DEFAULT_RESILIENCE, logger)\nconst response = await network.request(calendarUrl, {\n  url: 'https://...',\n  method: 'POST',\n  headers: { 'Content-Type': 'application/octet-stream' },\n  body: new Uint8Array([...]),\n})\n// response.data: Uint8Array, response.ok: boolean, response.status: number\n```\n\n#### Constants\n\n```typescript\nimport {\n  DEFAULT_CALENDARS,           // string[] — the four public OTS calendars\n  DEFAULT_RESILIENCE,          // ResilienceOptions — default timeout/retry/cb config\n  DEFAULT_CALENDAR_WHITELIST,  // UrlWhitelist — trusted calendar domains for upgrade\n  DEFAULT_AGGREGATORS,         // string[] — OTS aggregator pool URLs\n  PUBLIC_ESPLORA_URL,          // 'https://blockstream.info/api'\n  MAX_CALENDAR_RESPONSE_SIZE,  // 10_000 (bytes)\n  MAX_ESPLORA_RESPONSE_SIZE,   // 100_000 (bytes)\n} from '@otskit/client'\n```\n\n---\n\n## Contributing\n\nContributions are welcome. Please open an issue before starting significant work so we can align on approach.\n\n### Setup\n\n```bash\ngit clone https://github.com/OTSkit/OTSkit-client.git\ncd OTSkit-client\nnpm install\nnpm test        # 160 unit + integration tests\nnpm run lint    # ESLint\nnpm run build   # tsup → dist/\n```\n\n### Testing\n\nThe test suite uses [Vitest](https://vitest.dev), [MSW](https://mswjs.io) for HTTP mocking, and [fast-check](https://fast-check.dev) for property-based testing. All tests run in Node.js (no browser required).\n\n```bash\nnpm test                    # run all tests once\nnpm run test:watch          # watch mode\nnpm test -- --coverage      # with coverage report (100% threshold enforced)\n```\n\n### Commit convention\n\nThis repository uses [Conventional Commits](https://www.conventionalcommits.org). Releases are automated via [semantic-release](https://semantic-release.gitbook.io).\n\n### Code style\n\n- TypeScript strict mode\n- ESLint + Prettier (run `npm run format` before pushing)\n- Fail-closed: all external input is validated at the boundary\n- No third-party runtime dependencies (`@otskit/core` is the only dependency)\n\n---\n\n## Links\n\n- [OpenTimestamps Protocol](https://opentimestamps.org)\n- [@otskit/core](https://github.com/OTSkit/OTSkit-core) — Protocol engine used by this SDK\n- [npm Package](https://www.npmjs.com/package/@otskit/client)\n- [Issue Tracker](https://github.com/OTSkit/OTSkit-client/issues)\n\n## License\n\nMIT © OTSkit contributors — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}