{"_id":"@1shotapi/ows-signer","_rev":"11-3559725923d3bef43f3d6f9329a2ad3b","name":"@1shotapi/ows-signer","dist-tags":{"latest":"0.4.2"},"versions":{"0.2.0":{"name":"@1shotapi/ows-signer","version":"0.2.0","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.2.0","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"4a4d6eb2aabba9afc118124653131685513f1253","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.2.0.tgz","fileCount":18,"integrity":"sha512-RnN9703TrQMLjf3CXP+ZClz/plIDZ1n1mQNdxcLKGNDIZ3gp4TAV4vhML7ZL/+Sjo4u771qfSzYFjFKWWJCzDg==","signatures":[{"sig":"MEUCIC3YTa1u/jXtqh7SqxqUTW1g8p3w/HT6EJ8ofSv4zEWoAiEA1UQiMoBx+DK15TsKy7EQnba0CocnVEVtHAbgP6ovwOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96643},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*"},"gitHead":"9e18f3e2ac2623d0ab45a3909218e375db806c85","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.2.0_1784076111568_0.7828074651123487","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@1shotapi/ows-signer","version":"0.2.1","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.2.1","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"55fc4d388498a7a1e354b16566726df5586c180d","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.2.1.tgz","fileCount":18,"integrity":"sha512-GMWfkOu+fSGDGEjPUwmM4gtWy+BLssXrIxbnUITNzavaZXL7o4NtAQoGX+yZ/fAKZSbPLSsd/ljJ3oVqnm7EPg==","signatures":[{"sig":"MEUCIQDVPC+5epZnNPZAG7NTLdRZCSpSZowUAiCXG/T1Dw8+cQIgUd48+MVsyc7zoOvV5G+LxemgjZG8J1Z8e+T0fhlAniI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99615},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*"},"gitHead":"348265a027e639a3f49ce971e1b2bd6c6be2ca0d","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.2.1_1784172819523_0.8529062897840083","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@1shotapi/ows-signer","version":"0.2.2","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.2.2","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"aaf54a0fd666c485a40a80c732a09d044664805e","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.2.2.tgz","fileCount":18,"integrity":"sha512-C2/J1/i6YHpbcg9Vesd1aMZVN/26R1LJng+1d8WL+R0Z/qFuw+yhJmE5nKz9DEYHS6xPvBSdRsAyliGWID4p+Q==","signatures":[{"sig":"MEUCIQCaFh1jyqkcrcQ3Mk+ZjpGQD6CXmh2m39X/zUQgzZvUFwIgB592umxg7tK/Fl68BzIneoiVr8qhmbptpJ5NcpoRcdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99781},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*"},"gitHead":"ca642624f14a2495a0fcd3d7820dc41ccd9ded73","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.2.2_1784767538402_0.17864784689886237","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@1shotapi/ows-signer","version":"0.3.0","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.3.0","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"3c31b672e52fe39bf7d206a34dd144d5bcaef2ae","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.3.0.tgz","fileCount":18,"integrity":"sha512-qQHjlLGPAGKInQ91oTkOzcdW4JQDImtvk3XVm+mtKFPoV4DEGgKzzzUtAgZYA0v6kI8w/fyJvIfIkNlQBIdG+Q==","signatures":[{"sig":"MEYCIQCLP1R2s0zdopyJFKRw92tiHbkUzKjLLQNNQ85e3iMuVwIhAOFwSvmD/ne4F0dcKIVKBXaQS9/nd0GyKXyl2oesgTW2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118026},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*"},"gitHead":"ab46c168750134b7888c9a4a677b17a5801246b4","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.3.0_1784871015866_0.7245538730100791","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@1shotapi/ows-signer","version":"0.3.1","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.3.1","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"25c3b6ff9b8717b0ae3beb2f2f86be8c194bcabb","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.3.1.tgz","fileCount":18,"integrity":"sha512-kOSPC5laejq1xq8RPJfUoBjVtCR4QKBh0EGFzGOAfYM5rPZIBV02pDHs16rZLjDAfvDLLodcGX+0KVLeEQhw7A==","signatures":[{"sig":"MEUCIQD48uTAn+bGHQW8RzXGylzNavQx4bUnlT/S3aoNcGP68AIgYXIukW1QZZZu6QSemlCCQb/CYSAcZ4DSichPJq8ISZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119096},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*"},"gitHead":"08133a8d66713a55fc81934b46a7d4c7667e4c67","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.3.1_1785018242257_0.7794094045766677","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@1shotapi/ows-signer","version":"0.3.2","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.3.2","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"5f6113d9b4f5f0427b8eec9e54ab5bd7d487516f","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.3.2.tgz","fileCount":18,"integrity":"sha512-5lsJ1HEvlzP3gIbzJygsW7Mc1I0AY/wnApWpwQ1FNumGy/eWMlNzdR/37uIomFAxwgG2vcv22cLfuPe4jjn7uw==","signatures":[{"sig":"MEQCIEBdbMUjXOrDzrEFB1IGodAWR96aJFiYqhvvauVKbMJNAiAWy24k2EVybNdGXFmTNOY7N75twYAm4RtKgkcPYI3+lQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123018},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*"},"gitHead":"21e1a52555461b3ad738a38df305716f8d56067e","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.3.2_1785028198508_0.3383325566183504","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@1shotapi/ows-signer","version":"0.3.3","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.3.3","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"1ed7d1a5b9f0a6ff124e607a4b657b15283ddcb4","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.3.3.tgz","fileCount":18,"integrity":"sha512-LONNrZFyKdZN3o1H1dVQyKvVOaUVihTXfODPkOg6kEfXp0uqiBSGmWpZqSzitn2TIhc/fRQL99oDmGmTj4OPVA==","signatures":[{"sig":"MEQCIGd6I8yw7zp58r8NSSVSiP86QU/FloZY1bDPpA2gms76AiASE9gnmtpRTy/54BYcdApQJtGa0iDxDikPjTK6rXggWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124712},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*"},"gitHead":"74ed4f0178b853a04d0acea2db0c415d84626d30","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.3.3_1785198861264_0.16206190716289814","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@1shotapi/ows-signer","version":"0.3.4","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.3.4","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"f0fb5aa6592b8b7ad167fb8c5642259cc46bdc26","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.3.4.tgz","fileCount":18,"integrity":"sha512-ocrGE3W7+reJC3WZbZcyL2Luwq9SFW9WLOruHjmKE/0+tYnDIWEqcqWss/5bSxxDMtOYlUi0PF++feuB2V8s7Q==","signatures":[{"sig":"MEUCIHapEomdUKU8+xML8hbzXOd7TycGez1wEakq4S+9xfRyAiEAopYeCnxzr3rM6WIaQbh+C1KRv3HCSraPVFEps8qcr+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125621},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*"},"gitHead":"d4e23a5b1c474c92d34b14f1d7219cdb5035b83c","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.3.4_1785207566950_0.9565600338124107","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@1shotapi/ows-signer","version":"0.4.0","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.4.0","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"fc75bc162e8ea44fae0a682b0a3ed73c639263fa","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.4.0.tgz","fileCount":19,"integrity":"sha512-Q9x0BxXg7XrsHjFN0ypSZtWP7TmrUcC1QKHhnqURzIw+CfOKtKBzLLskCfF/2C41Ab5xQAadr98lmX+8dnL6nw==","signatures":[{"sig":"MEUCIQCICyvGwK/6IEMZL7NjiJfgduKz/JHVQN60XIQ7ManetgIgGag26bT91ENGDJYEsiBdDon3Pc7xUkfs3s7dL7jI+E8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129194},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*","./html/signer.css":"./html/signer.css"},"gitHead":"5ab28b08e1868097745ae622ca32f8b52173ec76","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.4.0_1786138596221_0.31710823188949355","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@1shotapi/ows-signer","version":"0.4.1","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"license":"MIT","_id":"@1shotapi/ows-signer@0.4.1","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"homepage":"https://github.com/1Shot-API/open-wallet#readme","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"dist":{"shasum":"7626739a2a168b3700a7ca378120bd23b68888ac","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.4.1.tgz","fileCount":19,"integrity":"sha512-AyJY2LrNK250OeULxEJd3Axzp93prl4Njg0wHyjlWXM78VB7h13yjWYIuxhlXmgcJj9eNNo8uvKzRVa0jgA6Lg==","signatures":[{"sig":"MEQCIGXKIC5rvJ4a4N43Un1M19niXI0iq1OQrtpYp4FReuyjAiBIx7+S62Xmm0WModgrUnYyUksyBJIhpTMccp0uz/H7lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131686},"type":"module","exports":{"./html":"./html/index.html","./src/*":"./src/*","./html/signer.css":"./html/signer.css"},"gitHead":"fc0cc7e0e4b00e33ed2e893ad4bdbe6fbfceca8e","scripts":{"test":"node --test test/*.test.js"},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"repository":{"url":"git+https://github.com/1Shot-API/open-wallet.git","type":"git","directory":"packages/ows-signer"},"_npmVersion":"10.9.8","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ows-signer_0.4.1_1786497368201_0.14597678607994835","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@1shotapi/ows-signer","version":"0.4.2","description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","type":"module","exports":{"./html":"./html/index.html","./html/signer.css":"./html/signer.css","./src/*":"./src/*"},"scripts":{"test":"node --test test/*.test.js"},"keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"repository":{"type":"git","url":"git+https://github.com/1Shot-API/open-wallet.git","directory":"packages/ows-signer"},"license":"MIT","publishConfig":{"access":"public"},"_id":"@1shotapi/ows-signer@0.4.2","gitHead":"3d52a8263734867c84cd4b0d8e5f1ded1aac0ea5","bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"homepage":"https://github.com/1Shot-API/open-wallet#readme","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-q10zEKjZlfl/e6hJAJlBVlidveDfjx4UFql17Tc6jPYmlNLhCxxjIQp/0SBQTVRL5HRWadqFytWZAId8SATd9A==","shasum":"9eace03b7629bc778f9ab6c230e95890eed0576a","tarball":"https://registry.npmjs.org/@1shotapi/ows-signer/-/ows-signer-0.4.2.tgz","fileCount":19,"unpackedSize":134146,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAjkg+zpALVtKDDFZeCECJ344hHNzd8CbX6vbqgh+bh9AiBdTnq7m8xg1YFqyqt49QI4NRBQkv4jzbx9VZ0Op9QgMA=="}]},"_npmUser":{"name":"csibbach","email":"charlottewisteria@gmail.com"},"directories":{},"maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ows-signer_0.4.2_1787158209200_0.013897708686292809"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-15T00:41:51.380Z","modified":"2026-08-19T16:50:09.508Z","0.2.0":"2026-07-15T00:41:51.702Z","0.2.1":"2026-07-16T03:33:39.656Z","0.2.2":"2026-07-23T00:45:38.535Z","0.3.0":"2026-07-24T05:30:15.994Z","0.3.1":"2026-07-25T22:24:02.406Z","0.3.2":"2026-07-26T01:09:58.649Z","0.3.3":"2026-07-28T00:34:21.406Z","0.3.4":"2026-07-28T02:59:27.087Z","0.4.0":"2026-08-07T21:36:36.414Z","0.4.1":"2026-08-12T01:16:08.371Z","0.4.2":"2026-08-19T16:50:09.327Z"},"bugs":{"url":"https://github.com/1Shot-API/open-wallet/issues"},"license":"MIT","homepage":"https://github.com/1Shot-API/open-wallet#readme","keywords":["ows","open-wallet-standard","webauthn","prf","passkey","signer","custody","secp256k1"],"repository":{"type":"git","url":"git+https://github.com/1Shot-API/open-wallet.git","directory":"packages/ows-signer"},"description":"OWS Signing Layer — plain JavaScript WebAuthn PRF key custody with curve-based signing (on-chain via EIP-8244)","maintainers":[{"name":"tthebc01","email":"tac688@alumni.stanford.edu"},{"name":"csibbach","email":"charlottewisteria@gmail.com"},{"name":"todd_uxly","email":"todd@uxly.software"}],"readme":"# @1shotapi/ows-signer\n\nThe **OWS Signing Layer** — plain JavaScript, zero npm dependencies, no build step.\n\n## Design\n\nMinimal **KMS/HSM** iframe: WebAuthn PRF key custody, curve-based signing, optional export/recovery UI. Chain-specific marshalling lives in `@1shotapi/ows-signer-utils`.\n\n## Deployment and rpId (hybrid)\n\n- `rpId` is always **`window.location.hostname`** (the signer document origin).\n- **Canonical CDN / on-chain gateway:** shared passkey namespace for all integrators on that host.\n- **Per-brand rpId:** self-host or reverse-proxy signer HTML on your branding origin.\n\n## Nesting\n\nMust be embedded as **iframe inside a Branding Layer iframe** (not directly in the host). Rejects messages unless `window.parent !== window.top`.\n\n## Wire protocol\n\nParent → signer:\n\n```json\n{ \"v\": 1, \"kind\": \"request\", \"method\": \"signDigest\", \"correlationId\": \"…\", \"params\": { } }\n```\n\nSigner → parent:\n\n```json\n{ \"v\": 1, \"kind\": \"event\", \"event\": \"DigestSigned\", \"correlationId\": \"…\", \"data\": { } }\n```\n\nOnly accepts messages when `event.source === window.parent`. Replies use the parent's `event.origin` as `targetOrigin`.\n\n## Methods\n\n| Method | Params | Success events |\n|--------|--------|----------------|\n| `getVersion` | — | `Version` |\n| `createCredential` | `name`, `options?` (incl. ceremony UI) | `KeyDerived`, `CredentialCreated` |\n| `signDigest` | `digests[]`, `credentialId?`, ceremony UI? | `KeyDerived` (PRF path), `DigestSigned` (`results[]`) |\n| `executeBatch` | batch fields + ceremony UI? | `KeyDerived` (when keys derived), `BatchExecuted` |\n| `revealPrivateKey` | `credentialId?`, ceremony UI? | `KeyDerived`, then `PrivateKeyRevealed` (after user dismisses DOM key UI) |\n| `importPrivateKey` | — | DOM hex input; `KeyDerived`, `RecoverySessionStarted` |\n| `createRecoveryData` | passphrase fields + ceremony UI? | `KeyDerived`, `RecoveryDataCreated` |\n| `recoverKey` | envelope + passphrase fields + ceremony UI? | DOM display; `RecoverySessionStarted` or re-bind → `RecoverySessionCleared` |\n| `getPublicKey` | `credentialId?`, `challenge?`, ceremony UI? | `KeyDerived`, `PublicKey`, `ChallengeSigned?` |\n| `clearRecoverySession` | — | `RecoverySessionCleared` |\n| `encryptAES256` | `plaintexts[]`, `credentialId?`, ceremony UI? | `KeyDerived` (PRF path), `AES256Encrypted` |\n| `decryptAES256` | `ciphertexts[]`, `credentialId?`, ceremony UI? | `KeyDerived` (PRF path), `AES256Decrypted` |\n\nFailure events: `SignDenied` (user cancelled Confirm UI), `NotAllowed` (WebAuthn cancel/policy), `InvalidRequest`.\n\nCeremony UI params (optional on WebAuthn-triggering methods): `explanationHeader`, `explanationText`, `confirmButtonText`, `denyButtonText`. Defaults: “Confirm passkey” / “Your device will ask for a passkey to continue.” / “Continue” / “Cancel”. Confirm click starts WebAuthn in the same turn (mobile activation).\n\n`createCredential` options:\n\n- `rpName` — relying party display name in passkey UI (default `\"OWS\"`); does not affect `rpId`\n- `userDisplayName` — friendly account label (defaults to `name`)\n- `userId` — stable user handle bytes (base64); random if omitted\n- `deferKeyDerivation` — when true, skip the PRF follow-up get; `CredentialCreated` includes `credentialId` + `cosePublicKey` only (no `KeyDerived` / no `secp256k1PublicKey`)\n\n## Signing schemes\n\n`secp256k1-ecdsa`, `secp256k1-ecdsa-recoverable`, `secp256k1-bip340` (not yet implemented), `ed25519`.\n\n`digestData` is `0x`-prefixed hex. Hash schemes require 32 bytes. `signDigest` and `executeBatch` take **arrays** of digests so one passkey ceremony covers many signatures. Empty `digests` arrays succeed without a ceremony. `executeBatch` with a `challenge` always forces a real WebAuthn assertion (recovery session alone cannot produce an assertion signature).\n\n## PRF labels\n\n- `ows-v1/secp256k1` (HKDF from PRF output, rejection sampling into the curve order)\n- `ows-v1/ed25519` (HKDF from the secp256k1 scalar — same material as `signDigest` / recovery)\n- `ows-v1/aes256-gcm` (HKDF from the secp256k1 scalar — same material as `signDigest`)\n\n## Recovery envelope\n\n`ows1:0x…` — version byte, 16-byte salt, 12-byte IV, AES-GCM-256 ciphertext (PBKDF2-SHA256, 250k iterations).\n\n## AES-256 seal envelope (credentials / general payload)\n\n`ows-aes1:0x…` — version byte, 12-byte IV, AES-GCM-256 ciphertext+tag. Key is HKDF-SHA256 of the wallet secp256k1 scalar with info `ows-v1/aes256-gcm` (no PBKDF2). Works under a recovery session without a new WebAuthn ceremony. Batch methods amortize one ceremony across many plaintexts/ciphertexts.\n\n## Recovery session\n\n`recoverKey` caches the secp256k1 scalar in memory for subsequent `signDigest` / `encryptAES256` / `decryptAES256` / `executeBatch` (without `challenge`) calls without PRF. Cleared via `clearRecoverySession` or successful `credentialId` re-bind after recovery.\n\n## Layout\n\n```\nhtml/index.html           Entry document\nhtml/signer.css           Ceremony / reveal UI styles (linked; no inline CSS)\nsrc/main.js               Bootstrap + message listener\nsrc/handlers.js           RPC dispatch\nsrc/webauthn.js           Passkey ceremonies\nsrc/crypto/               PRF, signing, recovery\nsrc/crypto/vendor/        Vendored @noble/secp256k1 + ed25519 (MIT)\nreference/                1ShotPay reference (not published)\n```\n\n## Content Security Policy\n\nServe the Signing Layer document (and its `/src/*` modules) with a **fail-closed** CSP. The signer has no legitimate network I/O — only same-origin scripts/styles and `postMessage` / WebAuthn / WebCrypto.\n\nCanonical header (single line in production):\n\n```http\nContent-Security-Policy: default-src 'none'; script-src 'self'; style-src 'self'; connect-src 'none'; img-src 'none'; font-src 'none'; media-src 'none'; object-src 'none'; child-src 'none'; frame-src 'none'; worker-src 'none'; manifest-src 'none'; base-uri 'none'; form-action 'none'; upgrade-insecure-requests\n```\n\n- Apply on the **Signing Layer origin path** (e.g. nginx `location /signer/`), not on the Branding Layer SPA.\n- **Omit `frame-ancestors`** so arbitrary Branding Layers may embed the signer. Nesting safety remains in JS (`event.source === window.parent`, `window.parent !== window.top`).\n- Keep iframe Permissions Policy `allow` for WebAuthn / clipboard (set before `src` in `createSignerIframe`) — that is not CSP.\n\n## On-chain\n\nSee `@1shotapi/ows-onchain`.\n\n## Integrity (planned)\n\nClient-side confirmation that official signer bytes are loaded (signed manifest + verify-before-execute, optional EIP-8244 pin) is **specced and tabled** — see [docs/trusted-loader-plan.md](docs/trusted-loader-plan.md). Not implemented yet.\n\n## Tests\n\n```bash\nnpm test -w @1shotapi/ows-signer\n```\n","readmeFilename":"README.md"}