{"_id":"@degenlab/stacks-wallet-kit-extension","_rev":"8-8abfd0ee1dc4e56bbf283c13fafe5f60","name":"@degenlab/stacks-wallet-kit-extension","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@degenlab/stacks-wallet-kit-extension","version":"1.0.0","author":{"name":"DegenLab"},"license":"ISC","_id":"@degenlab/stacks-wallet-kit-extension@1.0.0","maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"dist":{"shasum":"1b6cedd3ef364301a52571522101d91ff3da6f33","tarball":"https://registry.npmjs.org/@degenlab/stacks-wallet-kit-extension/-/stacks-wallet-kit-extension-1.0.0.tgz","fileCount":2,"integrity":"sha512-zxfZfZIwG/nFDBSWbMgXom8iW3Zpk/Etu64RZuKeslvjMLacVJWsgKTNToxeDnFL8aA6Y5Tv0STIBFJOsWgwpw==","signatures":[{"sig":"MEQCIEBTSG2CQqiTy1Hu8EJRiHzsKzWBmuMwzEerNLkRFxAoAiAab9R4AUI+zn6gRuwYEuVIhAUVZVxipw6Qh6gq76AGkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21299},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"9e8ef5fd5ba7f1b010667ecb942dd7f50408dee4","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}' --fix","test":"jest","build":"tsc -b","format":"prettier --write 'src/**/*.{ts,tsx,js,json,md}'"},"_npmUser":{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"},"_npmVersion":"11.6.3","description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"local-storage":"^2.0.0","@degenlab/stacks-wallet-kit-core":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.4.5","babel-jest":"^30.2.0","typescript":"^5.9.3","@types/jest":"^29.5.14","@scure/bip39":"^2.0.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.268","jest-environment-jsdom":"^30.2.0"},"_npmOperationalInternal":{"tmp":"tmp/stacks-wallet-kit-extension_1.0.0_1765302729036_0.17260378258019538","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@degenlab/stacks-wallet-kit-extension","version":"1.0.1","author":{"name":"DegenLab"},"license":"ISC","_id":"@degenlab/stacks-wallet-kit-extension@1.0.1","maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"homepage":"https://github.com/degen-lab/stacks-wallet-kit#readme","bugs":{"url":"https://github.com/degen-lab/stacks-wallet-kit/issues"},"dist":{"shasum":"bc06da91ea190b03dadc00fadb6e6659cfac1f78","tarball":"https://registry.npmjs.org/@degenlab/stacks-wallet-kit-extension/-/stacks-wallet-kit-extension-1.0.1.tgz","fileCount":2,"integrity":"sha512-xgfJTvBz1uZbfXkWiR/nUmA7RJ9juDw/3TRfZ5url2d0zuuEdoAXuOGa/UPwgG+HZQ6CP7JmE929PfvyhX8spA==","signatures":[{"sig":"MEQCIDUDlRnzdb4+xYSGhHtUg0k8O/3pLGrul2YFEwQ0FyleAiA+UF3em7ink+tnESDAypvvi9PIlllW+XkmBH/tyz2Klg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@degenlab%2fstacks-wallet-kit-extension@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21581},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"0a5c643659dc968114c0f299edfaf8c3c712a154","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}' --fix","test":"jest","build":"tsc -b","format":"prettier --write 'src/**/*.{ts,tsx,js,json,md}'","format:check":"prettier --check 'src/**/*.{ts,tsx,js,json,md}'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a7b24d4-125f-45c6-8e73-59a3d818d77b"}},"repository":{"url":"git+https://github.com/degen-lab/stacks-wallet-kit.git","type":"git"},"_npmVersion":"11.6.4","description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"local-storage":"^2.0.0","@degenlab/stacks-wallet-kit-core":"1.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.4.5","babel-jest":"^30.2.0","typescript":"^5.9.3","@types/jest":"^29.5.14","@scure/bip39":"^2.0.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.268","jest-environment-jsdom":"^30.2.0"},"_npmOperationalInternal":{"tmp":"tmp/stacks-wallet-kit-extension_1.0.1_1765306666749_0.4362405048153868","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@degenlab/stacks-wallet-kit-extension","version":"1.0.2","author":{"name":"DegenLab"},"license":"ISC","_id":"@degenlab/stacks-wallet-kit-extension@1.0.2","maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"homepage":"https://github.com/degen-lab/stacks-wallet-kit#readme","bugs":{"url":"https://github.com/degen-lab/stacks-wallet-kit/issues"},"dist":{"shasum":"6e10c7bab05e251e62cc0864255fcd29fcd154bc","tarball":"https://registry.npmjs.org/@degenlab/stacks-wallet-kit-extension/-/stacks-wallet-kit-extension-1.0.2.tgz","fileCount":30,"integrity":"sha512-mnBnuI2cu3HcRYazQzrm5glAXT1nMpEEHPR/sHzDkhHoADxlZX36FY8w3+Va9oI6Ssy3C55ujDZiA9Ipj3ttcw==","signatures":[{"sig":"MEUCIAjY94qXlnNYSHQdaNdlF8e+cYb2cbkRB4lPaFGIvG6QAiEAqYJeHYVfQ1kXu1w19cfmA1h95YylBmyXbI47vviaJk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@degenlab%2fstacks-wallet-kit-extension@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59140},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"gitHead":"e670a4879928380d103906e0f966b1033b95c1d8","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}' --fix","test":"jest","build":"tsc -b","format":"prettier --write 'src/**/*.{ts,tsx,js,json,md}'","format:check":"prettier --check 'src/**/*.{ts,tsx,js,json,md}'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a7b24d4-125f-45c6-8e73-59a3d818d77b"}},"repository":{"url":"git+https://github.com/degen-lab/stacks-wallet-kit.git","type":"git"},"_npmVersion":"11.7.0","description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"local-storage":"^2.0.0","@degenlab/stacks-wallet-kit-core":"workspace:*"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.4.5","babel-jest":"^30.2.0","typescript":"^5.9.3","@types/jest":"^29.5.14","@scure/bip39":"^2.0.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.268","jest-environment-jsdom":"^30.2.0"},"_npmOperationalInternal":{"tmp":"tmp/stacks-wallet-kit-extension_1.0.2_1765311632057_0.3037155533932767","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@degenlab/stacks-wallet-kit-extension","version":"1.0.3","author":{"name":"DegenLab"},"license":"ISC","_id":"@degenlab/stacks-wallet-kit-extension@1.0.3","maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"homepage":"https://github.com/degen-lab/stacks-wallet-kit#readme","bugs":{"url":"https://github.com/degen-lab/stacks-wallet-kit/issues"},"dist":{"shasum":"10c362eeb13d440512ff60894c1921fd3a02420e","tarball":"https://registry.npmjs.org/@degenlab/stacks-wallet-kit-extension/-/stacks-wallet-kit-extension-1.0.3.tgz","fileCount":30,"integrity":"sha512-dDKVqMVDSwtEwMonPUKenkBZJDdW39kCOeC0JFhC0BB5f7ePj1ydxf6soyj/CcXtT1elSFcNcXUv7fn6D4Q8/Q==","signatures":[{"sig":"MEUCIGa/rqc2UEL0yhpZDvtNzGSNP95v0Mz0K/HY4qc9uURTAiEAh3SWV+yyn0sv25i1vQg3n4sJZ+ebmwU/MsN/K52Lits=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@degenlab%2fstacks-wallet-kit-extension@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59133},"main":"./dist/src/index.js","type":"module","_from":"file:degenlab-stacks-wallet-kit-extension-1.0.3.tgz","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint 'src/**/*.{ts,tsx}' --fix","test":"jest","build":"tsc -b","format":"prettier --write 'src/**/*.{ts,tsx,js,json,md}'","format:check":"prettier --check 'src/**/*.{ts,tsx,js,json,md}'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a7b24d4-125f-45c6-8e73-59a3d818d77b"}},"_resolved":"/tmp/78f2be1fd978b2b9c39a3c182177c298/degenlab-stacks-wallet-kit-extension-1.0.3.tgz","_integrity":"sha512-dDKVqMVDSwtEwMonPUKenkBZJDdW39kCOeC0JFhC0BB5f7ePj1ydxf6soyj/CcXtT1elSFcNcXUv7fn6D4Q8/Q==","repository":{"url":"git+https://github.com/degen-lab/stacks-wallet-kit.git","type":"git"},"_npmVersion":"11.7.0","description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"local-storage":"^2.0.0","@degenlab/stacks-wallet-kit-core":"1.0.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.4.5","babel-jest":"^30.2.0","typescript":"^5.9.3","@types/jest":"^29.5.14","@scure/bip39":"^2.0.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.268","jest-environment-jsdom":"^30.2.0"},"_npmOperationalInternal":{"tmp":"tmp/stacks-wallet-kit-extension_1.0.3_1765312615030_0.6699665890762878","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@degenlab/stacks-wallet-kit-extension","version":"1.1.0","author":{"name":"DegenLab"},"license":"ISC","_id":"@degenlab/stacks-wallet-kit-extension@1.1.0","maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"homepage":"https://github.com/degen-lab/stacks-wallet-kit#readme","bugs":{"url":"https://github.com/degen-lab/stacks-wallet-kit/issues"},"dist":{"shasum":"d963f2123582c9fb66b6f5e6b89d90fcef566333","tarball":"https://registry.npmjs.org/@degenlab/stacks-wallet-kit-extension/-/stacks-wallet-kit-extension-1.1.0.tgz","fileCount":30,"integrity":"sha512-7YJPBUD6lB8nZpvq4U+lmnEBw5jRSAa9SOrWf/TJP/AKqpItUeNF3tD4f7+j59gjfwjTkmyY1e2dKMHlUXa4Aw==","signatures":[{"sig":"MEYCIQD+uDohzGu0sTt558CWV8JDAc+MRX/dQqBiQluOngH5MwIhAIMi1MNdKD2EBLVOBZVCi450VqjTZKSh3UMF7BixJTkp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@degenlab%2fstacks-wallet-kit-extension@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59845},"main":"./dist/src/index.js","type":"module","_from":"file:degenlab-stacks-wallet-kit-extension-1.1.0.tgz","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint 'src/**/*.{ts,tsx}' --fix","test":"jest","build":"tsc -b","format":"prettier --write 'src/**/*.{ts,tsx,js,json,md}'","format:check":"prettier --check 'src/**/*.{ts,tsx,js,json,md}'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a7b24d4-125f-45c6-8e73-59a3d818d77b"}},"_resolved":"/tmp/82f3bedd430b8049110e50c671e01cd1/degenlab-stacks-wallet-kit-extension-1.1.0.tgz","_integrity":"sha512-7YJPBUD6lB8nZpvq4U+lmnEBw5jRSAa9SOrWf/TJP/AKqpItUeNF3tD4f7+j59gjfwjTkmyY1e2dKMHlUXa4Aw==","repository":{"url":"git+https://github.com/degen-lab/stacks-wallet-kit.git","type":"git"},"_npmVersion":"11.7.0","description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"local-storage":"^2.0.0","@degenlab/stacks-wallet-kit-core":"1.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.4.5","babel-jest":"^30.2.0","typescript":"^5.9.3","@types/jest":"^29.5.14","@scure/bip39":"^2.0.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.268","jest-environment-jsdom":"^30.2.0"},"_npmOperationalInternal":{"tmp":"tmp/stacks-wallet-kit-extension_1.1.0_1765489757478_0.576277317453064","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@degenlab/stacks-wallet-kit-extension","version":"1.2.0","author":{"name":"DegenLab"},"license":"ISC","_id":"@degenlab/stacks-wallet-kit-extension@1.2.0","maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"homepage":"https://github.com/degen-lab/stacks-wallet-kit#readme","bugs":{"url":"https://github.com/degen-lab/stacks-wallet-kit/issues"},"dist":{"shasum":"093645ca039e91fb57f47af8e05050b694aacf21","tarball":"https://registry.npmjs.org/@degenlab/stacks-wallet-kit-extension/-/stacks-wallet-kit-extension-1.2.0.tgz","fileCount":30,"integrity":"sha512-+N3Px0KSsTDiY9Z7I3u9kaoe6yQ8uYvnx6NA5NcdSNR8B7GkqVlpUN6Cq2sRFtZO23K/IOnVC4CYblr1xBjWFw==","signatures":[{"sig":"MEUCIQD7hqK4FMyYIReD+6LHsPh9+99vYIxFJTCISvm/V3TBtQIgUNwyFtLFQMH/3wfWiY+rW8kgBRz8Z0PWNBV6hRUx534=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@degenlab%2fstacks-wallet-kit-extension@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60021},"main":"./dist/src/index.js","type":"module","_from":"file:degenlab-stacks-wallet-kit-extension-1.2.0.tgz","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint 'src/**/*.{ts,tsx}' --fix","test":"jest","build":"tsc -b","format":"prettier --write 'src/**/*.{ts,tsx,js,json,md}'","format:check":"prettier --check 'src/**/*.{ts,tsx,js,json,md}'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a7b24d4-125f-45c6-8e73-59a3d818d77b"}},"_resolved":"/tmp/edc793fcefb9f44fc0be29a756e710f3/degenlab-stacks-wallet-kit-extension-1.2.0.tgz","_integrity":"sha512-+N3Px0KSsTDiY9Z7I3u9kaoe6yQ8uYvnx6NA5NcdSNR8B7GkqVlpUN6Cq2sRFtZO23K/IOnVC4CYblr1xBjWFw==","repository":{"url":"git+https://github.com/degen-lab/stacks-wallet-kit.git","type":"git"},"_npmVersion":"11.7.0","description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"local-storage":"^2.0.0","@degenlab/stacks-wallet-kit-core":"1.2.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.4.5","babel-jest":"^30.2.0","typescript":"^5.9.3","@types/jest":"^29.5.14","@scure/bip39":"^2.0.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.268","jest-environment-jsdom":"^30.2.0"},"_npmOperationalInternal":{"tmp":"tmp/stacks-wallet-kit-extension_1.2.0_1768259737095_0.7766380839165368","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@degenlab/stacks-wallet-kit-extension","version":"1.4.0","author":{"name":"DegenLab"},"license":"ISC","_id":"@degenlab/stacks-wallet-kit-extension@1.4.0","maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"homepage":"https://github.com/degen-lab/stacks-wallet-kit#readme","bugs":{"url":"https://github.com/degen-lab/stacks-wallet-kit/issues"},"dist":{"shasum":"18fccfea6e588144e382903afcae06de10ed0acb","tarball":"https://registry.npmjs.org/@degenlab/stacks-wallet-kit-extension/-/stacks-wallet-kit-extension-1.4.0.tgz","fileCount":30,"integrity":"sha512-wvMF4IlBz/mE98fU+pGSCmxBgkESR2clwywVkiQpuii/L3glwyh3jg8sjAptK/PhntIu8qMRU9rmaVwXN9PTlg==","signatures":[{"sig":"MEUCIChe1jmtn05aYFNgJQZoz7FI8bhPcdt1S+K08+Ado243AiEA2HldbuB9dRLUJrFaaBytdhAzxHDDP32AnaPKWp1qLKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@degenlab%2fstacks-wallet-kit-extension@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60495},"main":"./dist/src/index.js","type":"module","_from":"file:degenlab-stacks-wallet-kit-extension-1.4.0.tgz","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint 'src/**/*.{ts,tsx}' --fix","test":"jest","build":"tsc -b","format":"prettier --write 'src/**/*.{ts,tsx,js,json,md}'","format:check":"prettier --check 'src/**/*.{ts,tsx,js,json,md}'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a7b24d4-125f-45c6-8e73-59a3d818d77b"}},"_resolved":"/tmp/30a65c6a6fc2e5e4f42ed31dff2963f5/degenlab-stacks-wallet-kit-extension-1.4.0.tgz","_integrity":"sha512-wvMF4IlBz/mE98fU+pGSCmxBgkESR2clwywVkiQpuii/L3glwyh3jg8sjAptK/PhntIu8qMRU9rmaVwXN9PTlg==","repository":{"url":"git+https://github.com/degen-lab/stacks-wallet-kit.git","type":"git"},"_npmVersion":"11.8.0","description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"local-storage":"^2.0.0","@degenlab/stacks-wallet-kit-core":"1.4.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.4.5","babel-jest":"^30.2.0","typescript":"^5.9.3","@types/jest":"^29.5.14","@scure/bip39":"^2.0.1","@jest/globals":"^29.7.0","@types/chrome":"^0.0.268","jest-environment-jsdom":"^30.2.0"},"_npmOperationalInternal":{"tmp":"tmp/stacks-wallet-kit-extension_1.4.0_1769994120190_0.8453212434370896","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@degenlab/stacks-wallet-kit-extension","version":"2.0.0","repository":{"url":"git+https://github.com/degen-lab/stacks-wallet-kit.git","type":"git"},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","type":"module","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","default":"./dist/src/index.js"},"./package.json":"./package.json"},"author":{"name":"DegenLab"},"dependencies":{"local-storage":"^2.0.0","@degenlab/stacks-wallet-kit-core":"2.0.0"},"devDependencies":{"@jest/globals":"^29.7.0","@scure/bip39":"^2.0.1","@types/chrome":"^0.0.268","@types/jest":"^29.5.14","babel-jest":"^30.2.0","jest":"^29.7.0","jest-environment-jsdom":"^30.2.0","ts-jest":"^29.4.5","typescript":"^5.9.3"},"publishConfig":{"access":"public","provenance":true},"license":"ISC","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}' --fix","format":"prettier --write 'src/**/*.{ts,tsx,js,json,md}'","build":"tsc -b","format:check":"prettier --check 'src/**/*.{ts,tsx,js,json,md}'","test":"jest"},"_id":"@degenlab/stacks-wallet-kit-extension@2.0.0","description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","bugs":{"url":"https://github.com/degen-lab/stacks-wallet-kit/issues"},"homepage":"https://github.com/degen-lab/stacks-wallet-kit#readme","_integrity":"sha512-DGK3PTL8WfJbOLOJhTCi7i1nVPzuOukWYdQzyHpewMCqfC2CRv+mCqNGVqTjfdEExyR+7/4ZqZTfw0T9NvvE8Q==","_resolved":"/tmp/f837e30802a91e50ee0d54254525c4d9/degenlab-stacks-wallet-kit-extension-2.0.0.tgz","_from":"file:degenlab-stacks-wallet-kit-extension-2.0.0.tgz","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-DGK3PTL8WfJbOLOJhTCi7i1nVPzuOukWYdQzyHpewMCqfC2CRv+mCqNGVqTjfdEExyR+7/4ZqZTfw0T9NvvE8Q==","shasum":"6a7e7e3b5b708190d89e739b6a63c07533cb2b94","tarball":"https://registry.npmjs.org/@degenlab/stacks-wallet-kit-extension/-/stacks-wallet-kit-extension-2.0.0.tgz","fileCount":30,"unpackedSize":61696,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@degenlab%2fstacks-wallet-kit-extension@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC8BEqVJ4tKc3z0y2FNuLSrBKwBz+CMdJyfFMJ4X9A7gQIgauhzuxyOncWsV2dfmdV6taL3cvf5m0wrbc2c2jpt698="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a7b24d4-125f-45c6-8e73-59a3d818d77b"}},"directories":{},"maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/stacks-wallet-kit-extension_2.0.0_1777985351437_0.37665940888354044"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-09T17:52:08.931Z","modified":"2026-05-05T12:49:11.809Z","1.0.0":"2025-12-09T17:52:09.181Z","1.0.1":"2025-12-09T18:57:46.880Z","1.0.2":"2025-12-09T20:20:32.272Z","1.0.3":"2025-12-09T20:36:55.178Z","1.1.0":"2025-12-11T21:49:17.639Z","1.2.0":"2026-01-12T23:15:37.239Z","1.4.0":"2026-02-02T01:02:00.354Z","2.0.0":"2026-05-05T12:49:11.568Z"},"bugs":{"url":"https://github.com/degen-lab/stacks-wallet-kit/issues"},"author":{"name":"DegenLab"},"license":"ISC","homepage":"https://github.com/degen-lab/stacks-wallet-kit#readme","repository":{"url":"git+https://github.com/degen-lab/stacks-wallet-kit.git","type":"git"},"description":"A Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.","maintainers":[{"name":"bowtiedblox","email":"degenlabsetups@gmail.com"}],"readme":"# stacks-wallet-kit/extension [![npm](https://img.shields.io/npm/v/@degenlab/stacks-wallet-kit-extension?color=red)](https://www.npmjs.com/package/@degenlab/stacks-wallet-kit-extension)\n\nA Chrome extension SDK for building Stacks blockchain applications with Google authentication and wallet management.\n\n## Purpose\n\nThis SDK enables seamless Web2 authentication for Chrome extensions and provides easy wallet backup to a safe place without requiring users to store or remember their mnemonic phrase. It simplifies blockchain operations by handling the complexity of parsing arguments and data, allowing developers to focus on building their applications rather than managing low-level blockchain interactions.\n\nThe extension SDK imports functionality from the `@degenlab/stacks-wallet-kit-core` package, which is platform-agnostic and shared between this extension SDK and the mobile SDK, ensuring consistency across platforms.\n\n## Installation\n\n```bash\nnpm install @degenlab/stacks-wallet-kit-extension\n# or\nyarn add @degenlab/stacks-wallet-kit-extension\n# or\npnpm add @degenlab/stacks-wallet-kit-extension\n```\n\n**Note:** This package works with npm, yarn, and pnpm. Choose the package manager that fits your project.\n\n## Required Polyfills and Setup\n\nThe SDK requires Node.js polyfills to work in the browser environment. The core SDK uses `Buffer` which is not available in browsers by default.\n\n### Required Polyfill Package\n\nInstall the `buffer` package:\n\n```bash\nnpm install buffer\n# or\nyarn add buffer\n# or\npnpm add buffer\n```\n\n### Polyfill Setup\n\n#### For Vite Projects\n\nIf you're using **Vite** (recommended for Chrome extensions), you need to:\n\n1. **Configure Vite to resolve the buffer package** in your `vite.config.ts`:\n\n```typescript\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  resolve: {\n    alias: {\n      buffer: 'buffer',\n    },\n  },\n  define: {\n    global: 'globalThis',\n  },\n  // ... rest of your config\n})\n```\n\n2. **Import and set Buffer globally** in your entry point file (e.g., `src/playground.tsx`, `src/popup.ts`, or `src/background.ts`):\n\n```typescript\n// ⚠️ IMPORTANT: Buffer polyfill MUST be imported FIRST, before any SDK imports\nimport { Buffer } from 'buffer'\n\n// Make Buffer available globally\nif (typeof window !== 'undefined') {\n  ;(window as any).Buffer = Buffer\n  ;(globalThis as any).Buffer = Buffer\n}\n\n// Now import your SDK and other dependencies\nimport { WebClient, NetworkType } from '@degenlab/stacks-wallet-kit-extension'\n// ... rest of your imports\n```\n\n**Important:** The Buffer polyfill must be imported and set globally **before** any SDK code runs. This is critical for the SDK to work correctly.\n\n#### For Webpack Projects\n\nIf you're using **Webpack**, you need to:\n\n1. **Install the buffer polyfill** (already covered above)\n\n2. **Configure Webpack** in your `webpack.config.js`:\n\n```javascript\nconst webpack = require('webpack')\n\nmodule.exports = {\n  resolve: {\n    fallback: {\n      buffer: require.resolve('buffer'),\n    },\n  },\n  plugins: [\n    new webpack.ProvidePlugin({\n      Buffer: ['buffer', 'Buffer'],\n    }),\n  ],\n  // ... rest of your config\n}\n```\n\n3. **Set Buffer globally** in your entry point (same as Vite setup above)\n\n#### For Other Build Tools\n\nFor other build tools (Rollup, esbuild, etc.), ensure:\n\n- The `buffer` package is installed\n- Buffer is available globally before any SDK imports\n- Your build tool can resolve the `buffer` module\n\n### Chrome Extension Manifest Configuration\n\nYour `manifest.json` needs the following permissions and configuration:\n\n```json\n{\n  \"manifest_version\": 3,\n  \"permissions\": [\"storage\", \"identity\", \"activeTab\", \"tabs\", \"windows\"],\n  \"host_permissions\": [\"*://*/*\"],\n  \"content_security_policy\": {\n    \"extension_pages\": \"script-src 'self' 'wasm-unsafe-eval'; object-src 'self'; frame-src https://accounts.google.com https://*.chromiumapp.org;\"\n  }\n}\n```\n\n**Required permissions:**\n\n- `storage` - Required for storing encrypted wallet data\n- `identity` - Required for Google OAuth authentication\n- `activeTab`, `tabs`, `windows` - Required for OAuth flow\n- `host_permissions` - Required for API calls to Stacks networks\n\n**Content Security Policy:**\n\n- `'wasm-unsafe-eval'` - Required for cryptographic operations\n- `frame-src` - Required for Google OAuth redirects\n\n### Common Errors and Solutions\n\n**Error: `ReferenceError: Buffer is not defined`**\n\n- **Solution:** Ensure `buffer` package is installed and Buffer is imported and set globally **before** any SDK imports.\n\n**Error: `Cannot find module 'buffer'`**\n\n- **Solution:** Install the buffer package: `npm install buffer`\n- For Vite: Ensure the buffer alias is configured in `vite.config.ts`\n- For Webpack: Ensure the buffer fallback is configured in `webpack.config.js`\n\n**Error: `Buffer is not a constructor`**\n\n- **Solution:** Make sure Buffer is set on both `window` and `globalThis`:\n  ```typescript\n  ;(window as any).Buffer = Buffer\n  ;(globalThis as any).Buffer = Buffer\n  ```\n\n**Troubleshooting Steps:**\n\n1. Verify `buffer` package is installed: `npm list buffer`\n2. Check that Buffer is imported **first** in your entry point\n3. Verify Buffer is set globally before SDK imports\n4. Clear your build cache and rebuild\n5. Check browser console for specific error messages\n\n## Quick Start\n\n```typescript\nimport { WebClient, NetworkType } from '@degenlab/stacks-wallet-kit-extension'\n\nconst client = new WebClient(\n  'your-google-client-id',\n  'your-google-client-secret',\n  'https://your-extension-id.chromiumapp.org/',\n  NetworkType.Testnet,\n  {\n    // Optional: Additional OAuth scopes\n    // scopes: ['email', 'profile'],\n    // Optional: Custom storage manager\n    // storageManager: customStorageManager,\n    // Optional: Custom API URLs\n    // mainnetUrl: 'https://api.hiro.so/',\n    // testnetUrl: 'https://api.testnet.hiro.so/',\n    // devnetUrl: 'http://localhost:3999/',\n  }\n)\n\n// IMPORTANT: Set encryption password FIRST before any operations\nawait client.setEncryptionPassword('your-encryption-password')\n\nconst wallet = await client.createWallet() // Optional passphrase\n\nconst accounts = await client.getWalletAccounts()\nconst account = accounts[0]\n\nconst balance = await client.getBalance(account)\n\n// Sign a prepared Stacks transaction with a specific account\nconst signedTx = await client.signTransaction(\n  account.index,\n  unsignedTransaction // StacksTransactionWire\n)\n\n// Check if a Google Drive wallet backup exists\nconst hasBackup = await client.hasBackup('google')\nif (hasBackup) {\n  console.log('Wallet backup exists')\n}\n\n// Make a contract call with custom fee\nimport { PostConditionMode, ClarityValue } from '@stacks/transactions'\n\nconst txId = await client.makeContractCall(\n  'SP000000000000000000002Q6VF78.contract-name',\n  'function-name',\n  [/* functionArgs as ClarityValue[] */],\n  PostConditionMode.Allow,\n  5000 // optional custom fee in microSTX\n)\n```\n\n## ⚠️ Important: Password Setup\n\n**You MUST call `setEncryptionPassword()` before performing any wallet operations.** This is required because:\n\n1. The `StorageManager` uses encryption to securely store wallet data in Chrome's storage\n2. Without setting the password, the storage manager cannot encrypt or decrypt data\n3. The same password you use for `setEncryptionPassword()` must be used when creating Google Drive backups\n\n### Password Flow\n\n```typescript\n// 1. Set encryption password first (required before any operations)\nawait client.setEncryptionPassword('my-secure-password')\n\n// 2. Now you can perform wallet operations\nconst wallet = await client.createWallet()\n\n// 3. When backing up to Google Drive, use the SAME password\nawait client.backupWallet('my-secure-password', ['google']) // Must match encryption password\n```\n\n**Note:** After a Chrome extension refresh, the password is not stored in memory. You must call `setEncryptionPassword()` again to decrypt and access stored data.\n\n## WebClient Configuration\n\n### Constructor Parameters\n\n```typescript\nnew WebClient(\n  googleClientId: string,        // Required: Google OAuth client ID\n  googleClientSecret: string,    // Required: Google OAuth client secret\n  redirectUri: string,           // Required: OAuth redirect URI (e.g., 'https://your-extension-id.chromiumapp.org/')\n  network: NetworkType,          // Required: Initial network (Mainnet, Testnet, or Devnet)\n  configOptions?: {              // Optional: Configuration options\n    scopes?: string[]            // Optional: Additional OAuth scopes\n    storageManager?: IWebStorageManager  // Optional: Custom storage manager\n    mainnetUrl?: string          // Optional: Custom mainnet API URL\n    testnetUrl?: string          // Optional: Custom testnet API URL\n    devnetUrl?: string           // Optional: Custom devnet API URL\n  }\n)\n```\n\n### Default Configuration\n\n**Storage Manager:**\n\n- If not provided, `WebClient` automatically uses `StorageManager` which stores encrypted data in Chrome's `chrome.storage.local` API\n\n**OAuth Scopes:**\n\n- Default scope: `https://www.googleapis.com/auth/drive.appdata` (required for Google Drive backup)\n- Additional scopes can be provided via the `scopes` parameter and will be merged with the default scope\n\n**Stacks API URLs:**\n\n- **Mainnet**: `https://api.hiro.so/`\n- **Testnet**: `https://api.testnet.hiro.so/`\n- **Devnet**: `http://localhost:3999/`\n\n### Internal Components\n\n`WebClient` automatically initializes the following components:\n\n- **Authentication**: `AuthenticationManager` with `GoogleSigninClient`\n- **Backup Manager**: `BackupManager` with `GoogleBackupClient`\n- **Wallet Manager**: `WalletManager` for wallet operations\n- **Encryption Manager**: `EncryptionManager` for encryption/decryption\n- **Stacks Client**: `StacksClient` with configured network and API URLs\n- **Stacking Client**: `StackingClient` with configured network\n\n## API Reference\n\n### Password Management\n\n#### `setEncryptionPassword(password: string)`\n\n**⚠️ REQUIRED:** Set the encryption password for the storage manager. Must be called before any wallet operations.\n\n```typescript\nawait client.setEncryptionPassword('your-encryption-password')\n```\n\n**Important Notes:**\n\n- This must be called before any operations that read or write to storage\n- The password is used to encrypt/decrypt all stored wallet data\n- After extension refresh, you must call this again to access stored data\n- Use the same password when calling `backupWallet()`\n\n### Authentication\n\n#### `signIn(provider)`\n\nSign in with an auth provider. The extension package currently registers Google.\n\n```typescript\nconst { user } = await client.signIn('google')\nconst hasBackup = await client.hasBackup('google')\n\n// Access the returned values\nconsole.log('Access Token:', user.credentials.accessToken)\nconsole.log('Has Backup:', hasBackup)\n```\n\n#### `signOut()`\n\nSign out from Google authentication.\n\n```typescript\nawait client.signOut()\n```\n\n### Wallet\n\n#### `createWallet(passphrase?: string)`\n\nCreate a new wallet with a generated mnemonic.\n\n```typescript\nconst wallet: Wallet = await client.createWallet() // Optional passphrase\n```\n\n#### `storeExistingWallet(mnemonic: string, passphrase?: string)`\n\nStore an existing wallet from a mnemonic phrase.\n\n```typescript\nconst mnemonic: string = 'abandon abandon abandon ...'\nconst wallet: Wallet = await client.storeExistingWallet(mnemonic) // Optional passphrase\n```\n\n#### `getWalletAccounts()`\n\nGet all accounts in the wallet.\n\n```typescript\nconst accounts: WalletAccount[] = await client.getWalletAccounts()\n```\n\n#### `createAccount()`\n\nCreate a new account in the wallet.\n\n```typescript\nconst newAccount: WalletAccount = await client.createAccount()\n```\n\n### Backup\n\n#### `backupWallet(password: string, targets?: AuthProvider[])`\n\nBackup the wallet to Google Drive. **The password must match the encryption password set with `setEncryptionPassword()`.**\n\n```typescript\n// First set encryption password\nawait client.setEncryptionPassword('my-password')\n\n// Then backup using the SAME password\nawait client.backupWallet('my-password', ['google'])\n```\n\n**Throws `InvalidPasswordError` if the password doesn't match the encryption password.**\n\n#### `retrieveWalletFromProvider(password: string, provider: AuthProvider)`\n\nRetrieve a wallet from Google Drive backup.\n\n```typescript\nconst { wallet, mnemonic }: { wallet: Wallet; mnemonic: string } =\n  await client.retrieveWalletFromProvider('wallet-password', 'google')\n```\n\n#### `deleteBackup(provider?: AuthProvider)`\n\nDelete the wallet backup from Google Drive.\n\n```typescript\nawait client.deleteBackup('google')\n```\n\n### Stacks\n\n#### `getBalance(account)`\n\nGet the STX balance for an account.\n\n```typescript\nconst accounts: WalletAccount[] = await client.getWalletAccounts()\nconst account: WalletAccount = accounts[0]\nconst balance: number = await client.getBalance(account) // Returns: number\n```\n\n#### `sendStx(accountIndex, to, amount, network, memo?)`\n\nSend STX tokens to another address.\n\n```typescript\nconst txid: string = await client.sendStx(\n  0, // account index\n  'ST1AWHANXSGZ3SY8XQC2J7S18E22KJJW9B3JT2T54', // recipient\n  0.002, // amount in STX\n  NetworkType.Devnet, // network\n  'Test memo' // optional memo\n) // Returns: string\n```\n\n#### `transferNFT(accountIndex, contractId, tokenId, to, network)`\n\nTransfer an NFT to another address. Designed for SIP-9 NFT trait compliant contracts.\n\n```typescript\nconst txid: string = await client.transferNFT(\n  0, // account index\n  'STJK0PY5JPPNR4PZWR7HVS7T92B1MKHQKBT5Q6MX.nft-test', // contract ID\n  '2', // token ID\n  'ST10WDE40SQ62CSWRE99NA0KWBZ74NNK4FNS9T19Q', // recipient\n  NetworkType.Devnet // network\n) // Returns: string\n```\n\n#### `transferFT(accountIndex, contractId, amount, to, network)`\n\nTransfer fungible tokens to another address. Designed for SIP-10 FT trait compliant contracts.\n\n```typescript\nconst txid: string = await client.transferFT(\n  0, // account index\n  'STJK0PY5JPPNR4PZWR7HVS7T92B1MKHQKBT5Q6MX.ft-test', // contract ID\n  100 * 1000000, // amount in micro-units (100 tokens with 6 decimals)\n  'ST10WDE40SQ62CSWRE99NA0KWBZ74NNK4FNS9T19Q', // recipient\n  NetworkType.Devnet // network\n) // Returns: string\n```\n\n#### `makeContractCall(contractAddress, functionName, functionArgs, postConditionMode?)`\n\nMake a contract call to any Stacks smart contract.\n\n```typescript\nimport {\n  uintCV,\n  standardPrincipalCV,\n  PostConditionMode,\n  ClarityValue,\n} from '@stacks/transactions'\n\nconst contractAddress: string =\n  'STJK0PY5JPPNR4PZWR7HVS7T92B1MKHQKBT5Q6MX.nft-test'\nconst functionName: string = 'transfer'\nconst functionArgs: ClarityValue[] = [\n  uintCV('2'), // token-id\n  standardPrincipalCV(senderAddress), // sender\n  standardPrincipalCV(recipientAddress), // recipient\n]\n\n// With default post condition mode (PostConditionMode.Deny)\nconst txid: string = await client.makeContractCall(\n  contractAddress,\n  functionName,\n  functionArgs\n) // Returns: string\n\n// With custom post condition mode\nconst txid2: string = await client.makeContractCall(\n  contractAddress,\n  functionName,\n  functionArgs,\n  PostConditionMode.Allow // Optional: defaults to PostConditionMode.Deny\n) // Returns: string\n```\n\n### Stacking\n\n#### Solo Stacking\n\n##### `stackSTX(account, amount, lockPeriod, maxAmount, options?)`\n\nStack STX to earn Bitcoin rewards.\n\n**Note:** If `options` is not provided, the signature will be automatically generated by a backend service for mainnet and testnet networks.\n\n```typescript\nconst accounts: WalletAccount[] = await client.getWalletAccounts()\nconst account: WalletAccount = accounts[0]\n\n// Basic usage (signature generated by backend)\nconst txid: string = await client.stackSTX(\n  account,\n  1000, // amount to stack in STX\n  1, // lock period in cycles\n  1000 // max amount in STX\n) // Returns: string\n\n// With custom signer options (skip backend signature generation)\nconst txid2: string = await client.stackSTX(account, 1000, 1, 1000, {\n  signerSignature: '0x...', // Optional: custom signer signature\n  signerKey: '0x...', // Optional: custom signer key\n  authId: '123', // Optional: custom auth ID\n}) // Returns: string\n```\n\n##### `stackExtend(account, extendCount, maxAmount, options?)`\n\nExtend the stacking lock period.\n\n**Note:** If `options` is not provided, the signature will be automatically generated by a backend service for mainnet and testnet networks.\n\n```typescript\nconst accounts: WalletAccount[] = await client.getWalletAccounts()\nconst account: WalletAccount = accounts[0]\n\n// Basic usage (signature generated by backend)\nconst txid: string = await client.stackExtend(\n  account,\n  1, // extend by 1 cycle\n  1000 // max amount in STX\n) // Returns: string\n\n// With custom signer options (skip backend signature generation)\nconst txid2: string = await client.stackExtend(account, 1, 1000, {\n  signerSignature: '0x...', // Optional: custom signer signature\n  signerKey: '0x...', // Optional: custom signer key\n  authId: '123', // Optional: custom auth ID\n}) // Returns: string\n```\n\n##### `stackIncrease(account, increaseBy, maxAmount, currentLockPeriod, options?)`\n\nIncrease the stacking amount.\n\n**Note:** If `options` is not provided, the signature will be automatically generated by a backend service for mainnet and testnet networks.\n\n```typescript\nconst accounts: WalletAccount[] = await client.getWalletAccounts()\nconst account: WalletAccount = accounts[0]\n\n// Basic usage (signature generated by backend)\nconst txid: string = await client.stackIncrease(\n  account,\n  500, // increase by 500 STX\n  1500, // max amount in STX\n  1 // current lock period\n) // Returns: string\n\n// With custom signer options (skip backend signature generation)\nconst txid2: string = await client.stackIncrease(account, 500, 1500, 1, {\n  signerSignature: '0x...', // Optional: custom signer signature\n  signerKey: '0x...', // Optional: custom signer key\n  authId: '123', // Optional: custom auth ID\n}) // Returns: string\n```\n\n#### Stacking with a Pool\n\n##### `delegateSTX(account, amount, poolAddress, untilBurnHeight)`\n\nDelegate STX to a stacking pool.\n\n```typescript\nconst accounts: WalletAccount[] = await client.getWalletAccounts()\nconst account: WalletAccount = accounts[0]\n\nconst txid: string = await client.delegateSTX(\n  account,\n  1000, // amount to delegate in STX\n  'ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM', // pool address\n  100000 // until burn height\n) // Returns: string\n```\n\n##### `revokeDelegation(account, poolAddress)`\n\nRevoke STX delegation from a stacking pool.\n\n```typescript\nconst accounts: WalletAccount[] = await client.getWalletAccounts()\nconst account: WalletAccount = accounts[0]\n\nconst txid: string = await client.revokeDelegation(\n  account,\n  'ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM' // pool address\n) // Returns: string\n```\n\n### Network\n\n#### `setNetwork(network: NetworkType)`\n\nChange the active network.\n\n```typescript\nclient.setNetwork(NetworkType.Mainnet)\nclient.setNetwork(NetworkType.Testnet)\nclient.setNetwork(NetworkType.Devnet)\n```\n\n## Custom Storage Manager\n\nYou can provide a custom storage manager that implements `IWebStorageManager` from `@degenlab/stacks-wallet-kit-core`:\n\n```typescript\nimport { IWebStorageManager } from '@degenlab/stacks-wallet-kit-core'\n\nclass CustomStorageManager implements IWebStorageManager {\n  async setPassword(password: string): Promise<void> {\n    // Your implementation\n  }\n\n  async checkEncryptionPasswordMatches(password: string): Promise<boolean> {\n    // Your implementation\n  }\n\n  // ... implement other IStorageManager methods\n}\n\nconst customStorage = new CustomStorageManager()\nconst client = new WebClient(\n  'client-id',\n  'client-secret',\n  'redirect-uri',\n  NetworkType.Testnet,\n  {\n    storageManager: customStorage,\n    // Optional: Additional configuration\n    // scopes: ['email', 'profile'],\n    // mainnetUrl: 'https://api.hiro.so/',\n    // testnetUrl: 'https://api.testnet.hiro.so/',\n    // devnetUrl: 'http://localhost:3999/',\n  }\n)\n```\n\n**Note:** Your custom storage manager must implement `IWebStorageManager` which includes `setPassword()` and `checkEncryptionPasswordMatches()` methods for password management.\n\n## Prerequisites\n\n- Node.js 22+\n- Chrome extension development environment\n- Google OAuth credentials (Client ID and Client Secret)\n- Google Drive API access (for backup functionality)\n\n## Types\n\nAll types are exported from `@degenlab/stacks-wallet-kit-core`. Common types include:\n\n- `Wallet` - Wallet object containing mnemonic and accounts\n- `WalletAccount` - Individual account in a wallet\n- `NetworkType` - Network type enum (Mainnet, Testnet, Devnet)\n- `InvalidPasswordError` - Error thrown when password validation fails\n- `PasswordNotSetError` - Error thrown when password is not set\n\n## Error Handling\n\nThe SDK throws specific error types for different scenarios:\n\n- `InvalidPasswordError` - Thrown when password doesn't match during backup or validation\n- `PasswordNotSetError` - Thrown when trying to access storage without setting password first\n- `AuthError` - Thrown during authentication failures\n- `WalletNotStoredError` - Thrown when wallet operations are attempted without a stored wallet\n","readmeFilename":"README.md"}