{"_id":"@icp-sdk/signer","_rev":"11-ce35c954884e7d3a7575036db78feb03","name":"@icp-sdk/signer","dist-tags":{"latest":"6.0.0"},"versions":{"5.2.0":{"name":"@icp-sdk/signer","version":"5.2.0","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.2.0","maintainers":[{"name":"vivee_dfn","email":"vivienne.siffert@dfinity.org"},{"name":"nikosxenakis","email":"nikosxenakis94@gmail.com"},{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"g.perez","email":"gabriela.perez@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"34b7a83164c1e7e0f636ded7a0d9871f0f46b55b","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.2.0.tgz","fileCount":45,"integrity":"sha512-yJB/ZnqOksD57tmKZS2Bnf6i4nJ64tv4teAMofttd4ZNzErrr3mWwqxT3wIBC+Y8ri7PbI3LOTN/GD86vi8XlA==","signatures":[{"sig":"MEYCIQDWBDsbXMzEe9QZbNfIEO5B4KgjUD0PvoyJbovhU+A8HwIhAIzIuwGhK4qv8TPEzOybd8TEDEVArVcf2DDKssjbQmd8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141859},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"bc1592044d269bf4f011f0f9d3a0f0cb39ff5833","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.8.0","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","serve":"^14.2.6","eslint":"^10.1.0","vitest":"^4.1.1","esbuild":"^0.27.4","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.2.0_1775131328221_0.737117391752466","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"@icp-sdk/signer","version":"5.3.0","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.3.0","maintainers":[{"name":"vivee_dfn","email":"vivienne.siffert@dfinity.org"},{"name":"nikosxenakis","email":"nikosxenakis94@gmail.com"},{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"g.perez","email":"gabriela.perez@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"280239e2ebfb9ca8b30ce3ddd370d194f9e8d0a6","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.3.0.tgz","fileCount":45,"integrity":"sha512-ZBRzoMudjLqMGAUp7RUKa5rl13OR+XmHFfvGi4Qib1LoT8XFH7r+HdNYg+MgbWoRXwnO+a4e5OP3cwJ/jQhdMQ==","signatures":[{"sig":"MEUCIEWAxS/6dNtzd6N6QymsZa9vJstIfDALtEDiCuxUfsamAiEAoxhbYbtEwEPhp4SINbyV1TeXwnGyTrgk1KqfxuQGlxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@5.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":144689},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"1a47a21a30931a60a5e13300c1e76851de5ad094","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.11.0","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","serve":"^14.2.6","eslint":"^10.1.0","vitest":"^4.1.1","esbuild":"^0.27.4","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.3.0_1775648912722_0.21500420762378458","host":"s3://npm-registry-packages-npm-production"}},"5.3.1":{"name":"@icp-sdk/signer","version":"5.3.1","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.3.1","maintainers":[{"name":"vivee_dfn","email":"vivienne.siffert@dfinity.org"},{"name":"nikosxenakis","email":"nikosxenakis94@gmail.com"},{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"g.perez","email":"gabriela.perez@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"95628d7f3785351b9c6285e7e54e0f8e43042c5a","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.3.1.tgz","fileCount":45,"integrity":"sha512-2IJOdAnAit6SLZU3FTfPK0he4kCR+mr3IunDk62PgZCQKzvJ2DyV8FPBIceDpMSOXJLuXEMwd9E4Hdc53n0nrw==","signatures":[{"sig":"MEUCIB2wGc3/91eV7SFhjahx27DbpDotJ8kCQ5jbsdrAOystAiEAp7QOjQyi4mTvajso8nohpcjEeQRrFSvUfpJB39Ftcik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@5.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":146627},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"29ede8f264f72eba7e63122964c2b2f3579dc5f3","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.11.0","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","serve":"^14.2.6","eslint":"^10.1.0","vitest":"^4.1.1","esbuild":"^0.27.4","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.3.1_1777193837882_0.41780485469947126","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"name":"@icp-sdk/signer","version":"5.4.0","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.4.0","maintainers":[{"name":"vivee_dfn","email":"vivienne.siffert@dfinity.org"},{"name":"nikosxenakis","email":"nikosxenakis94@gmail.com"},{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"g.perez","email":"gabriela.perez@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"5be60bf23ecafbdcab9868fb9828432e2c6a6e5b","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.4.0.tgz","fileCount":45,"integrity":"sha512-l7HKJ02ZszAWvBV0dSW7uNVNVwsVAlWp9zMirHk/wrtQpglMDSxh1kcXiha5R5YkIooy/d5Pt8QKHDPG4Orj6A==","signatures":[{"sig":"MEYCIQDaKREg4aOWVY17vKeWh2YRA7HvQUMoclUQGmv72nVlSAIhAPr6/fI5fah5gYqy8KAjNOJEjOHUPxGmOIiJy6DmR3hQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@5.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":147980},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"05046af0774fe292d4b76290de5a787d2a119c35","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.12.1","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","serve":"^14.2.6","eslint":"^10.1.0","vitest":"^4.1.1","esbuild":"^0.27.4","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.4.0_1779458186077_0.6105020637300171","host":"s3://npm-registry-packages-npm-production"}},"5.5.0":{"name":"@icp-sdk/signer","version":"5.5.0","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.5.0","maintainers":[{"name":"vivee_dfn","email":"vivienne.siffert@dfinity.org"},{"name":"nikosxenakis","email":"nikosxenakis94@gmail.com"},{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"g.perez","email":"gabriela.perez@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"07e811d62e5864ba6297c448fab53d14b5918507","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.5.0.tgz","fileCount":54,"integrity":"sha512-ZYKGFL3RwYCPRhB8ej+LykFWT9366nYuYAOUeiTxEvPCyz+sft4j6JBCKftnnJM/x6CgZe/YGgfLCtYjDSH+Qw==","signatures":[{"sig":"MEQCIFj+n3gel1lLK7V41elJfZUiiMOAAuYmRrVsE+k6gF9JAiAV34YfilGIRLB/1XFzk/hB64feexFcAzQtN/GXUtENFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@5.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":188924},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"f76e9ffcd832b4f2c8e32d46244aa447309ba192","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.16.0","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","serve":"^14.2.6","eslint":"^10.1.0","vitest":"^4.1.1","esbuild":"^0.28.1","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.5.0_1784805930685_0.19922710984892422","host":"s3://npm-registry-packages-npm-production"}},"5.6.0":{"name":"@icp-sdk/signer","version":"5.6.0","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.6.0","maintainers":[{"name":"vivee_dfn","email":"vivienne.siffert@dfinity.org"},{"name":"nikosxenakis","email":"nikosxenakis94@gmail.com"},{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"g.perez","email":"gabriela.perez@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"76eff9444e0dbc49311f38f08529b13cb5beb93b","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.6.0.tgz","fileCount":54,"integrity":"sha512-zL8SR7YvMaTrEq6/8+ZX5wvTsXSUOm79dyZz7dj8MvHNZpH8pOKxE8QNmqThW4112EKES4ZLGxnAr3BJV1Oryg==","signatures":[{"sig":"MEYCIQD0EYrCriE2Jsc5GAk+yeDNL+tIDUXJkYKk2C7FQm4gLAIhAKRo7gn1/zAwuHjsVLTiJB89Yy7yDDJ+2oTVYklJJIVJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@5.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":191284},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"bc89691a1c0ef9449d7ce18451cca3855cb8fd6d","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.16.0","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","serve":"^14.2.6","eslint":"^10.1.0","vitest":"^4.1.1","esbuild":"^0.28.1","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.6.0_1784897685974_0.9987069965689526","host":"s3://npm-registry-packages-npm-production"}},"5.6.1":{"name":"@icp-sdk/signer","version":"5.6.1","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.6.1","maintainers":[{"name":"vivee_dfn","email":"vivienne.siffert@dfinity.org"},{"name":"nikosxenakis","email":"nikosxenakis94@gmail.com"},{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"g.perez","email":"gabriela.perez@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"d31be0d46b7d309abe3131b2fefcf91b1f8186a0","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.6.1.tgz","fileCount":54,"integrity":"sha512-Dd3ds6F6dw1CoOvKhyY4RLwFl/VC1ZITSVcZm+4kYp5VtHp7Q8pTL1Qb74W8/1FIRs/udTmCkGEcTR6tb6rdcA==","signatures":[{"sig":"MEQCIGpR09NkKDWzl2aYZua7EXnIq4TcRQRjy2ovTFfhcWibAiBP5IKKlYd95rJ7FQ50K6XaPKZTVjJy5WHBXevgx1+v8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@5.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204612},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"8fbb60dc9ba56cf4a9446b788427217df2a3f1d2","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.16.0","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","vitest":"^4.1.1","esbuild":"^0.28.1","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.6.1_1785503010888_0.35787155246124525","host":"s3://npm-registry-packages-npm-production"}},"5.6.2":{"name":"@icp-sdk/signer","version":"5.6.2","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.6.2","maintainers":[{"name":"vivee_dfn","email":"vivienne.siffert@dfinity.org"},{"name":"nikosxenakis","email":"nikosxenakis94@gmail.com"},{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"g.perez","email":"gabriela.perez@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"86cfbaf85897c2cd69b6bc3a8fcfa9c0c67e85af","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.6.2.tgz","fileCount":54,"integrity":"sha512-QYqArHpe+uTHMEEoj7w/ET2hKSarsCBbvcQEs+GJrdIcMIm/gNIsFIrJVRB6YIPlgROYNkiK4ZjfNHMZsK5CyQ==","signatures":[{"sig":"MEYCIQDL0U99E/dWWS07k8Ft1RlLP3MTF/Sm3HRSwaYP3xKPJwIhAPxIwSQMuhY+6muNw9xe1SOK0enQrmsu/NYZsp3RrRWC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@5.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205599},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"8f460cf46f2b2c04d91850f1177b734d459d75f3","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.16.0","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","vitest":"^4.1.1","esbuild":"^0.28.1","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.6.2_1785767450550_0.9206889379965073","host":"s3://npm-registry-packages-npm-production"}},"5.6.3":{"name":"@icp-sdk/signer","version":"5.6.3","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","_id":"@icp-sdk/signer@5.6.3","maintainers":[{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"homepage":"https://js.icp.build/signer/","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"96f9f604140c4a2e24d0797c2d2221b512a558c4","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-5.6.3.tgz","fileCount":54,"integrity":"sha512-wkQJ+MFBIdhCMXKc3NYAgiCSSqB3Gh9UnuzoP9DisPA6gMQ1mTXG9cO5eyEdfJyR08xTx9AsK7MEOBhxwd41YA==","signatures":[{"sig":"MEUCIFBIacOTS+be/vAgwSWjoZTVS4O8Pb+FLbY8+LZsmfaPAiEA7/vLT49PLvnY/+zr0qAB/FrxQPs2rD5PPN4AnVQQ/Zo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@5.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205676},"type":"module","types":"./lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"d3b1d5836b146824ee9d41b7a83c6118e510e1e3","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.17.0","description":"Library to interact with signers on the Internet Computer","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^5"},"_npmOperationalInternal":{"tmp":"tmp/signer_5.6.3_1787746824315_0.32996405095531833","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"_id":"@icp-sdk/signer@6.0.0","bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"dist":{"shasum":"5c4479146335234393441b9e8603c40a43cc3bbf","tarball":"https://registry.npmjs.org/@icp-sdk/signer/-/signer-6.0.0.tgz","fileCount":54,"integrity":"sha512-P+ltVK1uV/CT8UiakoYCm3+F/e5+Jj53BaicZ0sgXphcwsWSEy93xeur3XRicBqUtMHGlYi062DEpve+tfe4pg==","signatures":[{"sig":"MEUCIQCMJS4MdCGAjaGbNx/hYr3U7VvDk930pJyqaqz4/genKwIgQDw3auSRRoX2MOTTMlMX7dRpJbJy4QEJYoAvvtsMW/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE5McsFd/200F/J2P5JyKZ8T/v+emB6PuOeagqb9XngkAiEAqwE84nGjNszoVLkj0v5zVyOg5tti7XvoPjU9arPhV0g="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@icp-sdk%2fsigner@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205913},"name":"@icp-sdk/signer","type":"module","types":"./lib/esm/index.d.ts","author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./web":{"types":"./lib/esm/web/index.d.ts","import":"./lib/esm/web/index.js","default":"./lib/esm/web/index.js"},"./agent":{"types":"./lib/esm/agent/index.d.ts","import":"./lib/esm/agent/index.js","default":"./lib/esm/agent/index.js"},"./extension":{"types":"./lib/esm/extension/index.d.ts","import":"./lib/esm/extension/index.js","default":"./lib/esm/extension/index.js"}},"gitHead":"b5504d303708e1fe79813a2b87fa6408fa935f40","license":"Apache-2.0","scripts":{"attw":"attw --pack .","docs":"cd docs && npm run build","lint":"eslint src/","size":"size-limit --json","test":"vitest run","build":"tsc -p tsconfig.esm.json && npm run lint:package","prepare":"husky","lint:fix":"eslint --fix src/","test:e2e":"npm run build && npm run build:e2e && playwright test","build:e2e":"cd e2e/fixtures && esbuild relying-party.ts mock-wallet.ts mock-auth-provider.ts --bundle --format=iife --outdir=. --out-extension:.js=.bundle.js --alias:@icp-sdk/signer=../../lib/esm/index.js --alias:@icp-sdk/signer/web=../../lib/esm/web/index.js --alias:@icp-sdk/signer/extension=../../lib/esm/extension/index.js --alias:@icp-sdk/signer/agent=../../lib/esm/agent/index.js","lint:package":"publint --strict","prettier:check":"npx -p prettier -p pretty-quick pretty-quick --check --branch main","prettier:format":"npx -p prettier -p pretty-quick pretty-quick --branch main"},"version":"6.0.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f15ea757-b5ba-4ff4-9c8b-62c5f19577a7"}},"homepage":"https://js.icp.build/signer/","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"size-limit":[{"name":"@icp-sdk/signer","path":"./lib/esm/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/agent","path":"./lib/esm/agent/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/web","path":"./lib/esm/web/index.js","limit":"15 kb"},{"name":"@icp-sdk/signer/extension","path":"./lib/esm/extension/index.js","limit":"15 kb"}],"_npmVersion":"11.19.0","description":"Library to interact with signers on the Internet Computer","directories":{},"maintainers":[{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.4.0","publint":"^0.3.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.5.0","pretty-quick":"^4.2.2","@playwright/test":"^1.58.2","@tsconfig/node22":"^22.0.5","@size-limit/esbuild":"^12.0.1","eslint-plugin-jsdoc":"^62.8.1","@arethetypeswrong/cli":"^0.18.2","@typescript-eslint/parser":"^8.58.0","@size-limit/preset-small-lib":"^12.0.1","@typescript-eslint/eslint-plugin":"^8.58.0"},"peerDependencies":{"@icp-sdk/core":"^6.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/signer_6.0.0_1789569835234_0.772292480816688"}}},"time":{"created":"2026-04-02T12:02:08.066Z","modified":"2026-09-16T14:43:57.088Z","5.2.0":"2026-04-02T12:02:08.369Z","5.3.0":"2026-04-08T11:48:32.872Z","5.3.1":"2026-04-26T08:57:17.997Z","5.4.0":"2026-05-22T13:56:26.242Z","5.5.0":"2026-07-23T11:25:30.833Z","5.6.0":"2026-07-24T12:54:46.100Z","5.6.1":"2026-07-31T13:03:31.031Z","5.6.2":"2026-08-03T14:30:50.717Z","5.6.3":"2026-08-26T12:20:24.459Z","6.0.0":"2026-09-16T14:43:55.346Z"},"bugs":{"url":"https://github.com/dfinity/icp-js-signer/issues"},"author":{"name":"DFINITY Stiftung","email":"sdk@dfinity.org"},"license":"Apache-2.0","homepage":"https://js.icp.build/signer/","keywords":["internet computer","internet-computer","ic","dfinity","signer","wallet","actor","dfx","canister","candid","motoko","javascript","typescript","blockchain","crypto","distributed","api","sdk"],"repository":{"url":"git+https://github.com/dfinity/icp-js-signer.git","type":"git"},"description":"Library to interact with signers on the Internet Computer","maintainers":[{"name":"sea-snake","email":"thomas.gladdines@dfinity.org"},{"name":"dfn-it-owner","email":"itowner@dfinity.org"},{"name":"antonioventilii-dfinity","email":"antonio.ventilii@dfinity.org"},{"name":"dfn_wndlng","email":"jan.wendling@dfinity.org"}],"readme":"# @icp-sdk/signer\n\nLibrary to interact with [ICRC-25](https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_25_signer_interaction_standard.md) compliant signers on the Internet Computer.\n\n## What are signers?\n\nA signer is an application that holds private keys and can sign messages on behalf of a user. Each signer chooses which standards to implement, but they typically fall into two categories:\n\n- **Asset wallets** support accounts and canister calls — users approve transactions directly through the signer (e.g. [OISY](https://oisy.com), [Plug](https://plugwallet.ooo), [PrimeVault](https://primevault.com)).\n- **Authentication providers** support delegations — users grant a session key that can sign on their behalf for a limited time (e.g. [Internet Identity](https://id.ai)).\n\nSome signers support both (e.g. [NFID](https://nfid.one)). This library provides a unified interface to interact with all of them.\n\n## Installation\n\n```shell\nnpm install @icp-sdk/signer\n```\n\n## Import Paths\n\n- `@icp-sdk/signer` — `Signer` for standardized signer interaction\n- `@icp-sdk/signer/agent` — `SignerAgent` as a drop-in replacement for `HttpAgent`\n- `@icp-sdk/signer/web` — `PostMessageTransport` and `UrlTransport` for web-based signers\n- `@icp-sdk/signer/extension` — `BrowserExtensionTransport` for browser extension signers\n\n## Connecting to a Signer\n\nTwo transport types are supported. Web-based signers (like OISY, NFID, Internet Identity) use a window opened to the signer's URL. Browser extensions (like Plug, PrimeVault) are discovered automatically.\n\n### Web\n\nThe [ICRC-29](https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_29_window_post_message_transport.md) post message transport communicates with signers that run as web applications. A window is opened to the signer's URL, and messages are exchanged via `postMessage`.\n\n```ts\nimport { Signer } from '@icp-sdk/signer';\nimport { PostMessageTransport } from '@icp-sdk/signer/web';\n\nconst transport = new PostMessageTransport({ url: SIGNER_URL });\nconst signer = new Signer({ transport });\n```\n\n### URL (redirect)\n\nThe [ICRC-167](https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_167_browser_url_transport.md) URL transport communicates with a signer through top-level browser navigation instead of a `postMessage` window. Each request navigates the current page to the signer with the request in the URL hash fragment; the signer returns the response in the fragment of the relying party's `callbackUrl`. This suits flows where a popup is unavailable, such as full-page redirects to the signer.\n\nThe `callbackUrl` must be an absolute URL on an origin you control and be declared in that origin's `/.well-known/ii-auth-callbacks` allow-list.\n\nA relying party typically has several flows (connect, sign, request attributes, …). Give each one its own **route** and its own `callbackUrl` pointing at that route: a fresh start and the signer's return both land there, so the route's load is where the flow runs. Each callback also namespaces that flow's persisted journal automatically, so no storage keys need configuring. An unfinished flow's journal expires after `flowTimeout` (default 10 minutes), so an abandoned flow — and any single-use value it captured — is not resumed later.\n\nBecause a top-level redirect unloads the page, the transport persists completed request results (keyed by call order) and replays them on the return load. Run your flow code on the route's load: the first visit starts it, and the signer's return replays it to where it left off. There is no resume or cleanup call — a signer return continues the flow, and any other load (including navigating to the callback afresh) starts a new one, ignoring a finished flow's leftover journal. Issue the same requests in the same order on every load (branch only on values recovered from earlier responses), and route any value a request depends on — such as a nonce — through `memoize` so it stays stable across the redirect.\n\n```ts\nimport { Signer } from '@icp-sdk/signer';\nimport { UrlTransport } from '@icp-sdk/signer/web';\n\nconst transport = new UrlTransport({\n  url: SIGNER_URL,\n  callbackUrl: 'https://relying.example.com/connect', // this flow's route\n});\nconst signer = new Signer({ transport });\n\n// Runs on the /connect route's load — fresh visit or signer return:\nconst accounts = await signer.getAccounts(); // redirect; replays on return\nconst delegation = await signer.requestDelegation({ publicKey, targets }); // redirect; replays on return\nfinish(accounts, delegation); // runs once, on completion\n```\n\nTo start such a flow from elsewhere, navigate the browser to its route (a link) — no method call.\n\nRequests issued concurrently are coalesced into a single JSON-RPC batch and answered in one round-trip. For example, requesting the accounts together with a delegation via `Promise.all([signer.requestDelegation(...), signer.getAccounts(...)])` performs one redirect, not two. Sequential requests — where a later one depends on an earlier response — remain one redirect each.\n\n`transport.memoize(callback)` is how a flow does **any async work other than a signer request** — the sole place it may `await` non-request async. It runs the callback once, records the result in the same call-order journal as requests, and replays that result on the return load instead of re-running. This keeps a value stable across the redirect (e.g. a single-use nonce the signer signs against, which must not be re-fetched on return), whether it's a pre-step or between requests.\n\n```ts\n// On the flow's route:\nconst nonce = await transport.memoize(() => fetchNonce()); // fetched once, replayed after\nconst [attributes, delegation] = await Promise.all([\n  // one batched redirect\n  signer.sendRequest({ jsonrpc: '2.0', id: 1, method: 'attributes', params: { nonce } }),\n  signer.requestDelegation({ publicKey, targets }),\n]);\nfinish(nonce, attributes, delegation); // runs once, on completion\n```\n\nA signer can start a flow with no extra machinery: visiting a flow's route with no response present is already a fresh start, so a signer initiates simply by navigating the user to that route (a declared callback), and the flow runs as usual.\n\n### Extension\n\nThe [ICRC-94](https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_94_multi_injected_provider_discovery.md) transport communicates with signers installed as browser extensions. Extensions announce themselves and are discovered automatically.\n\n```ts\nimport { Signer } from '@icp-sdk/signer';\nimport { BrowserExtensionTransport } from '@icp-sdk/signer/extension';\n\n// Discover all installed extension signers\nconst providerDetails = await BrowserExtensionTransport.discover();\n\n// Let the user choose, then create a transport\nconst transport = new BrowserExtensionTransport({\n  providerDetail: providerDetails[0],\n});\nconst signer = new Signer({ transport });\n```\n\nOr connect directly by UUID if you know which extension to use:\n\n```ts\nconst transport = await BrowserExtensionTransport.findTransport({\n  uuid: EXTENSION_UUID,\n});\n```\n\n## Checking Capabilities\n\nSigners vary in what they support. Query the supported standards before making calls so you can handle unsupported features gracefully:\n\n```ts\nconst standards = await signer.getSupportedStandards();\n\n// signer.getAccounts() requires ICRC-27\nconst canGetAccounts = standards.some(s => s.name === 'ICRC-27');\n\n// signer.callCanister() requires ICRC-49\nconst canCallCanisters = standards.some(s => s.name === 'ICRC-49');\n\n// signer.requestDelegation() requires ICRC-34\nconst canDelegate = standards.some(s => s.name === 'ICRC-34');\n\n// Asset wallets need both accounts and canister calls\nconst isAssetWallet = canGetAccounts && canCallCanisters;\n\n// The returned standards also include token standards (e.g. ICRC-1 for\n// fungible tokens, ICRC-7 for NFTs), so you can check whether the\n// signer can manage a particular asset type.\nconst supportsFungibleTokens = standards.some(s => s.name === 'ICRC-1');\n```\n\n## Transactions\n\nAsset wallets allow users to approve transactions. Use `SignerAgent` as a drop-in replacement for `HttpAgent` — it routes canister calls through the signer for user approval.\n\n```ts\nimport { Signer } from '@icp-sdk/signer';\nimport { PostMessageTransport } from '@icp-sdk/signer/web';\nimport { SignerAgent } from '@icp-sdk/signer/agent';\n\n// Connect to an asset wallet\nconst transport = new PostMessageTransport({ url: 'https://oisy.com/sign' });\nconst signer = new Signer({ transport });\n\n// Get the user's accounts — some asset wallets return multiple (e.g. NFID),\n// others only one (e.g. OISY).\n// Each account has an `owner` (Principal) and an optional `subaccount`.\nconst accounts = await signer.getAccounts();\nconst account = accounts[0]; // Let the user choose if there are multiple\n\n// Create an agent for the chosen account's principal.\n// The agent only needs the owner — the principal that controls the account\n// and on whose behalf canister calls are signed.\nconst agent = await SignerAgent.create({\n  signer,\n  account: account.owner,\n});\n\n// Use the agent with any canister library\nimport { IcrcLedgerCanister } from '@icp-sdk/canisters/ledger/icrc';\n\nconst icpLedger = IcrcLedgerCanister.create({\n  agent,\n  canisterId: ICP_LEDGER_CANISTER_ID,\n});\nawait icpLedger.transfer({\n  to: TARGET_ACCOUNT,\n  amount: 100_000_000n,\n});\n```\n\n## Authentication\n\nAuthentication providers issue delegations — temporary keys that can sign on behalf of the user. This is useful for session-based authentication where individual transaction approval is not needed.\n\n```ts\nimport { Signer } from '@icp-sdk/signer';\nimport { PostMessageTransport } from '@icp-sdk/signer/web';\nimport { ECDSAKeyIdentity, DelegationIdentity } from '@icp-sdk/core/identity';\nimport { HttpAgent } from '@icp-sdk/core/agent';\n\n// Connect to an authentication provider\nconst transport = new PostMessageTransport({ url: 'https://id.ai/authorize' });\nconst signer = new Signer({ transport });\n\n// Create a session key and request a delegation\nconst sessionKey = await ECDSAKeyIdentity.generate();\nconst delegationChain = await signer.requestDelegation({\n  publicKey: sessionKey.getPublicKey().toDer(),\n});\n\n// Create a DelegationIdentity that can sign without further user interaction\nconst identity = DelegationIdentity.fromDelegation(sessionKey, delegationChain);\nconst agent = await HttpAgent.create({ identity });\n```\n\n## TypeScript\n\nThis package requires the `node16` (or later) [`moduleResolution`](https://www.typescriptlang.org/tsconfig#moduleResolution) strategy.\n\n## License\n\nThis project is licensed under the Apache-2.0 license.\n","readmeFilename":"README.md"}