{"_id":"@arkade-os/swap","_rev":"40-175b690a5b0340c7ca40c6459a02287c","name":"@arkade-os/swap","dist-tags":{"latest":"0.0.23","rc":"0.1.0-rc.14"},"versions":{"0.0.1":{"name":"@arkade-os/swap","version":"0.0.1","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.1","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"53dcc657af5fee48218d43901444e906c2bcf4aa","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.1.tgz","fileCount":13,"integrity":"sha512-fz6FKowNoS1ktP8Wj9KsHYY7oqcrnr1vHxPyi3OeUP1y1F6FaI2zWkr4f/MQXpbLtawaWe/C/NX/K2qWEfGsIw==","signatures":[{"sig":"MEQCIE8UpPh8nFgqfYBUq5+bSKTMJuWgHL+aJOfF4bt4mmirAiB+M2V4g7h3tYfpt3iQpAUBkVTDDvjWTVI4P6lvTZNw7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633536},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/77a71a31749f676c31901018014b253c/arkade-os-swap-0.0.1.tgz","_integrity":"sha512-fz6FKowNoS1ktP8Wj9KsHYY7oqcrnr1vHxPyi3OeUP1y1F6FaI2zWkr4f/MQXpbLtawaWe/C/NX/K2qWEfGsIw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.58","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.1_1786538921341_0.49305888654875996","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@arkade-os/swap","version":"0.0.2","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.2","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"9520d15c50d0e2ba2e2354c323360f5ab0b18822","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.2.tgz","fileCount":13,"integrity":"sha512-MkrDpzXuPNXhLH6t3O1D/RaxPTV7QHhzJsRex+D40NmAZFmiR6F1E9FcI77ml0U1Lq63OEJBhQyc7RVXSR7x+Q==","signatures":[{"sig":"MEUCIQD9TXocOOJMSzQuKtfNMhFBM3HNeGd9jc9WbTSAs/mOqwIgBC/ED0oN6xfljLw4vDZJsmcGpsXhrGQ6WNvSge21Di4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633536},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/e1af21abcc0154a70fb61ee4eeea0826/arkade-os-swap-0.0.2.tgz","_integrity":"sha512-MkrDpzXuPNXhLH6t3O1D/RaxPTV7QHhzJsRex+D40NmAZFmiR6F1E9FcI77ml0U1Lq63OEJBhQyc7RVXSR7x+Q==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.60","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.2_1786541029705_0.6591374251055777","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@arkade-os/swap","version":"0.0.3","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.3","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"6d65b10a03a32c5356e23adc2283cb4229c4d54f","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.3.tgz","fileCount":13,"integrity":"sha512-bS41npXuSR23ZHtfTNiiPPWShJM89JFTeAubhtsiZo/ubkYFMplhIRrfJ7s2KTUsI1szH07sLkbp6GlidYuQqQ==","signatures":[{"sig":"MEUCIQD6ePV2pg36KM0c8NhkzfHtYSlut2Xtrkm1oMqS1MedAAIgPqlr09+5wF4j8Hez6VPGyyOgaisyplehSx6GtcHhOHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":630922},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"tiero","email":"marco@vulpem.com"},"_resolved":"/private/var/folders/98/zgs49t8s2w3gv4vm0j5hr0mw0000gn/T/35d716bde58ec992ee00a2d7c2d46c37/arkade-os-swap-0.0.3.tgz","_integrity":"sha512-bS41npXuSR23ZHtfTNiiPPWShJM89JFTeAubhtsiZo/ubkYFMplhIRrfJ7s2KTUsI1szH07sLkbp6GlidYuQqQ==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"10.9.2","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.60","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.3_1786550511952_0.4808149378413924","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@arkade-os/swap","version":"0.0.4","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.4","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"d27224b84f94b66c8332baa631ce10e6b35312b1","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.4.tgz","fileCount":13,"integrity":"sha512-7cKGW0ONUxJ4GdPwByI52rsGQH12btbXmsrVWQa8tNk3zEJCWDleeAEQxymmKdgytFF8ZBBy3IiN5aPajF1EQg==","signatures":[{"sig":"MEYCIQDQHJqdFjtLSBRg3hv7g921eMzhPJ3zcDLN5hYsj6k2vwIhAPbpwYEcb3HvipaxkFLeGW3HFVyQvntU7trtOvHFy3ew","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606736},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/c86e1ab26b7ad0d36d648dd16106730b/arkade-os-swap-0.0.4.tgz","_integrity":"sha512-7cKGW0ONUxJ4GdPwByI52rsGQH12btbXmsrVWQa8tNk3zEJCWDleeAEQxymmKdgytFF8ZBBy3IiN5aPajF1EQg==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.61","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.4_1786602694280_0.7440062681176565","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@arkade-os/swap","version":"0.0.5","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.5","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"2dded8013864abfe652cf49f5b6e6780d62dd503","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.5.tgz","fileCount":13,"integrity":"sha512-4TU+ZR3N+OX1H8PEpGejMPxRYkrai0q4xYb5JqZ1lajcrBBx4JOaNPuxsvypxzU9JYwgiaAVBy7UDW2oG3lUnw==","signatures":[{"sig":"MEYCIQDgbYDEb7oaomLBnJWY9SQnDIr7RrWBMtL2mD73bMtiNAIhAJpjXTQcMJNYEVv6XMW+fxKTgumsIv2xNWMVmX9g4bYa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":630732},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.5.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/2ba92a1777e933ef116e60a9481f6dbe/arkade-os-swap-0.0.5.tgz","_integrity":"sha512-4TU+ZR3N+OX1H8PEpGejMPxRYkrai0q4xYb5JqZ1lajcrBBx4JOaNPuxsvypxzU9JYwgiaAVBy7UDW2oG3lUnw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.62","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.5_1786626818434_0.9314022579707553","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@arkade-os/swap","version":"0.0.6","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.6","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"a873a70db5d6a89aa40229f1e664c07329a6104f","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.6.tgz","fileCount":24,"integrity":"sha512-Eg+d9IbgHpL2W5rm2Nwqh3WB0DTPxVE+mw7wnSyKWOIHsTf5V9VHq8hwnvBJiLwPfnZrnnNE+9m7P/4o0UHaZA==","signatures":[{"sig":"MEUCIQCiEEgpKtXGMfizLAZ5/ojP6DwvD/um0RxzPgngcqF5aAIgEIsgye7b2Uymh9BG+eaQpfjGP0+Q1wK9SNQTVbiCjTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":676668},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.6.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/f8f3a5b91a0a4b955190060d04afe77a/arkade-os-swap-0.0.6.tgz","_integrity":"sha512-Eg+d9IbgHpL2W5rm2Nwqh3WB0DTPxVE+mw7wnSyKWOIHsTf5V9VHq8hwnvBJiLwPfnZrnnNE+9m7P/4o0UHaZA==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.63","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.6_1786965811308_0.09509693107893691","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@arkade-os/swap","version":"0.0.7","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.7","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"4668f45133f224fbdee4268f8610dbaf0aaf6657","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.7.tgz","fileCount":24,"integrity":"sha512-W6Y+bhIKGf8w0WwllrwEThLFQjNy42rk0ialSPhg5Ej2TMQy/kHiKyV+FWe4a9XJ8IOnNYOFyLzQyegRM+wVqQ==","signatures":[{"sig":"MEQCIG95ExcsiszMcemLxRUa/MB+BRMLxrlBbi5Wd80exPb5AiACJ+rT5WNm080J7c8Ca+ka0OBURYfTG+y9zYX9bmyP9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680962},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.7.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/d78c855da1d18b15544d59e8218204ef/arkade-os-swap-0.0.7.tgz","_integrity":"sha512-W6Y+bhIKGf8w0WwllrwEThLFQjNy42rk0ialSPhg5Ej2TMQy/kHiKyV+FWe4a9XJ8IOnNYOFyLzQyegRM+wVqQ==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.64","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.7_1787043232478_0.17530215841755425","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@arkade-os/swap","version":"0.0.8","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.8","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"ab25de28a57cb2df7fbe343c19c6286ab0d9b56e","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.8.tgz","fileCount":24,"integrity":"sha512-041Oymr19RWlcnIBvYaT2uimiSVPYy59rq5YigIIYYGf+F8AaezeepcfJQFsc+sJq1hfAe9E+vkHSpZ7+fYRwg==","signatures":[{"sig":"MEUCIQDMIvT7JyBj4QIw2uDagnfs5iocqUe3CxcGDkJ/nbTz4AIgVeUWe/vAfgp++PAjeuHuSzwCNOB2dde2fMmjXQVK2sU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853576},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.8.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/d473504841e34eb2bd5b23d4af79625d/arkade-os-swap-0.0.8.tgz","_integrity":"sha512-041Oymr19RWlcnIBvYaT2uimiSVPYy59rq5YigIIYYGf+F8AaezeepcfJQFsc+sJq1hfAe9E+vkHSpZ7+fYRwg==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.65","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.8_1787229133971_0.09785288477317722","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@arkade-os/swap","version":"0.0.9","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.9","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"a9a076d845540b4cc329a44a95fe953017967cd7","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.9.tgz","fileCount":24,"integrity":"sha512-aNG48By6TU+xV/UbIPNE6M/jRkeHy2ZhLWdWXh3FPMGsi8EkK/Pk9CeIsD19rjDHxGNx4Bicf1xbpdV93ZCLWw==","signatures":[{"sig":"MEQCICOw0sx2ZSeAPqZPpAHBQ8xuHa44Z+4Fz8AUr7KTrzm/AiBKeegI2hdhG2CxQ8O4wmyAVwn3vuoEozAUFMrDxeSgUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":854879},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.9.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"prettier --check src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"prettier --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/3014d5800cfa52d7c1c9312fe893fd6f/arkade-os-swap-0.0.9.tgz","_integrity":"sha512-aNG48By6TU+xV/UbIPNE6M/jRkeHy2ZhLWdWXh3FPMGsi8EkK/Pk9CeIsD19rjDHxGNx4Bicf1xbpdV93ZCLWw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.66","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.9_1787578314150_0.025692908773961687","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@arkade-os/swap","version":"0.0.10","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.10","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"e8b0d7fe2d579064587e114737f2b409e384bcbf","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.10.tgz","fileCount":24,"integrity":"sha512-swmsRWMqEVYtpwl+YHXGABUVPrCeLUgPjU6HL0XuDQC3dTYt1JSGUzcYGCCodJmxc69byX8SLNGExDzUNtFGEw==","signatures":[{"sig":"MEUCIAv/3bm4kRzCA0Zvv3ZVX0ZkDB1gePHAZHSFCfO3hE7UAiEAz3NEKo7aKg7+YD6rF6LXzDHi2ITalbjSnvykd9VtqWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCXR3bGd/LBmPJD+jTlIIgo/ZgU4LxkRoYg3oCtSStVhwIhAO/4DD+qC5YJ6VR1ua+L/Ms2iuRKm2T4OT+gjMdAzLjc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":864053},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.10.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/0579813bda9ed78829484143e37b8dad/arkade-os-swap-0.0.10.tgz","_integrity":"sha512-swmsRWMqEVYtpwl+YHXGABUVPrCeLUgPjU6HL0XuDQC3dTYt1JSGUzcYGCCodJmxc69byX8SLNGExDzUNtFGEw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.67","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.10_1788188695434_0.30300175669732043","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@arkade-os/swap","version":"0.0.11","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.11","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"a33c557abffd8d9d6a6d375f142cdd948dbcec95","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.11.tgz","fileCount":24,"integrity":"sha512-jwOqMswnrZrL7qX1Odlq831HBeCqulmg2l0AyoGNdzgmpuCT5oz91xsn00S0eXmYjB6nUeamV91061pMpAJ5Nw==","signatures":[{"sig":"MEUCIDjmlj+9gKNV26KD0e6gvSMerwkH4LmLY1z7dIGmh8woAiEA9uuWkZCgmLgyskx5v06o3g+uoMp0B6w96ixXhtG6t2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICdrRfhXR+R3z838uPUZpVFxBSobSPrkzlSWQlQjWw5DAiEA5fZcQ4y5yRb8/VXZLFCjfhVnJ+yELakOzOZVYwUB820=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":889698},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.11.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/6a1318c0a9c11e06f8cf8a330019417d/arkade-os-swap-0.0.11.tgz","_integrity":"sha512-jwOqMswnrZrL7qX1Odlq831HBeCqulmg2l0AyoGNdzgmpuCT5oz91xsn00S0eXmYjB6nUeamV91061pMpAJ5Nw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.68","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.11_1788445100720_0.7870562039758986","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.0":{"name":"@arkade-os/swap","version":"0.1.0-rc.0","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.0","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"e8e90ebdffb4f7236ad154d7489775a72bffe720","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.0.tgz","fileCount":24,"integrity":"sha512-thlaN5iHb6sYgTUm2hdOmSB3L9A8lQ4Mu7WWQBstuZ06lgClKO5EPXQFZa9AApWooari0GOxaFpdrc+pnR2EHQ==","signatures":[{"sig":"MEYCIQC9Wz6EnMoXnGjN/cREvlsBLvSD9Q6kYg61n2TU3VC2DQIhAIJvWZr4YYKcjsGAVNi8ns5YNiRmdGlgatb5tYoQu0pK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDQTPAJNGoc5Wh4k4epxEz9EhP0KN6iWv6ocFZNMKnshgIhAIZrfu2YYvcL+1zGiJE7CvrJL62mvylGS2Jsggttiktj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":934975},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.0.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/3b4e051c89fb08bafd43346b8075e76f/arkade-os-swap-0.1.0-rc.0.tgz","_integrity":"sha512-thlaN5iHb6sYgTUm2hdOmSB3L9A8lQ4Mu7WWQBstuZ06lgClKO5EPXQFZa9AApWooari0GOxaFpdrc+pnR2EHQ==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.0","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.0_1788448295939_0.9399518676582392","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@arkade-os/swap","version":"0.0.12","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.12","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"c60f35e7490dffd6d648470bc2e34d28b168aac3","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.12.tgz","fileCount":24,"integrity":"sha512-+1zgZDaQCTlDcpW7evM8gHE26J7kRkNFnklT1POp1t/nYU/UoWgsmv+Nzmu8FkaSOd4EBe1FIVfk8U+jfowUUg==","signatures":[{"sig":"MEQCICEFEaULMiGq/rvkXmQ9QqEVeah1YF5r1G3cbiSq1YhoAiAnJMHaaRXIz7bGGy8fKQ/RlA1JeX7sQaQOTLjpp4eUZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCFZuu5qvVOyxUWy0whMCTZX+OWOEe4htJSSKBVbwmqaQIgG8lQRaNdSW9ciyo0AbDe0VGy3EciptB6P99iiTPaFnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":932818},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.12.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/c971a4b022a6a629d7e3d73e8c2e0538/arkade-os-swap-0.0.12.tgz","_integrity":"sha512-+1zgZDaQCTlDcpW7evM8gHE26J7kRkNFnklT1POp1t/nYU/UoWgsmv+Nzmu8FkaSOd4EBe1FIVfk8U+jfowUUg==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.69","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.12_1788534827509_0.030892351589108413","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.1":{"name":"@arkade-os/swap","version":"0.1.0-rc.1","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.1","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"82cd23d7644d2edf4f1147474a6ae0a6494f4087","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.1.tgz","fileCount":28,"integrity":"sha512-FloFcffVqhHmVO3+MqESTdawcbID8nfC2N3JzmTEcDKo1FCY1iGoDyp3uIXWn2tp4tXq5W/atdFRAe9t3GJ/lQ==","signatures":[{"sig":"MEQCIH1BZTFH4hpwDEfWlHPMIsOC3C7PHM0gAWm5T1h+j67WAiB66fPyJzEimhvXHaGrAGcg6QRi+390rP7khXW2PvVIxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDM349byOT1UIgWFKUmlnrdD5+IbEhVf3GFvA1QxMQLKQIhAPbl5/6JX9SGiH/xbSe5m+7/va+X/1d6rIC56MJz7DIE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1285916},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e --exclude 'test/e2e/rfq*.test.ts'","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/e0b15fceab16589dbb80b07e85892875/arkade-os-swap-0.1.0-rc.1.tgz","_integrity":"sha512-FloFcffVqhHmVO3+MqESTdawcbID8nfC2N3JzmTEcDKo1FCY1iGoDyp3uIXWn2tp4tXq5W/atdFRAe9t3GJ/lQ==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.1","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.1_1788541764620_0.4249134716702405","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.2":{"name":"@arkade-os/swap","version":"0.1.0-rc.2","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.2","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"230ecc1c2e4f3253d2c0b669934114bae0070925","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.2.tgz","fileCount":35,"integrity":"sha512-COLeT3731dUMiZN5T3cNKgwpjSYTqlsNpzbbbf246gKoS3k24VIc1hggHnoFWxMw79MYbiW+Ncui6tA2sjjbMg==","signatures":[{"sig":"MEUCIQDqbyYXxh+xTeCHdygsNghN4E+yfyjjKLPWIFh4PgCdGgIgEXw6H1GDyrjzqUeICsmrQY7Y0BnxT4hXhuYiMo/qUgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICcoWU7Aib45e/q/wXAluPG5AInLiKVGCHAAoyyGFVbUAiEAvT+QqLgBL5Wh0cspZejZVyAt30YWolQlb4+J5xncFv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1916119},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e --exclude 'test/e2e/rfq*.test.ts'","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/cb3a1f9c8f058fd92a0601f7099f7c50/arkade-os-swap-0.1.0-rc.2.tgz","_integrity":"sha512-COLeT3731dUMiZN5T3cNKgwpjSYTqlsNpzbbbf246gKoS3k24VIc1hggHnoFWxMw79MYbiW+Ncui6tA2sjjbMg==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.2","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.2_1788763203044_0.6168152992011762","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.3":{"name":"@arkade-os/swap","version":"0.1.0-rc.3","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.3","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"d8eb4b3aa2f2e9067e9257b5edc404fc58ad9c62","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.3.tgz","fileCount":44,"integrity":"sha512-aEHir3doQqbiml6lDZY7yPqmkS68wyiifT80FWlIQ0HXpxzPuY0IUOiZPZ4ZBB+Cf9dXSs6k2wxFKyJG5AATlA==","signatures":[{"sig":"MEYCIQCiuzNp9rDzSiCDvwfqKTQf9eH5mIRmgHRV2a4LvyU+IAIhAMzSTDC6j8V5fHt7BFYpmDoShbuI25Vj3rcxBGV9jkJg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIQDzTzYGqxvikzVz2Si/uFWk9u55MXc+6R959t0c+ydmIQIfa9ClH08lOCyWcSV8Rf8yswe7DNO1vISoA0JA+48uew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2245802},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e --exclude 'test/e2e/rfq*.test.ts'","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/096773593599c425064fc7ba2b1a075b/arkade-os-swap-0.1.0-rc.3.tgz","_integrity":"sha512-aEHir3doQqbiml6lDZY7yPqmkS68wyiifT80FWlIQ0HXpxzPuY0IUOiZPZ4ZBB+Cf9dXSs6k2wxFKyJG5AATlA==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.3","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.3_1788794173263_0.7874493515405843","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@arkade-os/swap","version":"0.0.13","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.13","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"8f151b214e88004936c6c7c4d3064686af9303d8","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.13.tgz","fileCount":24,"integrity":"sha512-/1srzJ+n05Rgy+lhjrWgy/fyoynsTHO4DFZk2A3pgxi9jMorld6Z57I0o72TQmTi9Mm2sPdCMLYUkqkByE9A/g==","signatures":[{"sig":"MEUCIQCbf5NG37UKhuvBgyA7KuVEL8zq5fRz4SSpLVmZ968llgIgHhz+UVADoX6RmPpqKLjDeCK67Hj65fu5DZSKbe8SZ40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC/egLiDbMtFaaLp4hiaxHR+7su0VwUwGjh4ILKTWaWBAIhAIaxrIXoI9WxuHWfaaqTLU7+j+pl7RbZNymHP9R0NBeQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":963847},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.13.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/628c31fef806db6cce77054f8b1ae3ce/arkade-os-swap-0.0.13.tgz","_integrity":"sha512-/1srzJ+n05Rgy+lhjrWgy/fyoynsTHO4DFZk2A3pgxi9jMorld6Z57I0o72TQmTi9Mm2sPdCMLYUkqkByE9A/g==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.70","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.13_1788861467632_0.6297718283111686","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.4":{"name":"@arkade-os/swap","version":"0.1.0-rc.4","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.4","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"40f1dd79bc370979802f814ef89e9a9555b042cf","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.4.tgz","fileCount":44,"integrity":"sha512-IjHKeu5H2BK6aVxw+uD/wY+Ku5YyOuMPNvKiRDS5SWiTeIyAIfQ9ZxobMmEcHgEBkabxE+98ZbfE0oX0An7wQw==","signatures":[{"sig":"MEUCIG6oDc8R7Yc6rto4jcxGhBnR+wB7q/CXVV34Qxr0cGCaAiEAg5pJHkKFqmDEc8KfGJScDwC+TTib394kLUD2AOOQFAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDbcddUX+Ern0ot39qwCu6+k7ZjOxd+DOETu2ouBC29ZwIhANxjL5xQKi/mfUs/T5+W5RT0kViKvqn7pdio1mDrJGYe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2267079},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e --exclude 'test/e2e/rfq*.test.ts'","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/add0531bb46a27f0a2191f26af815a7a/arkade-os-swap-0.1.0-rc.4.tgz","_integrity":"sha512-IjHKeu5H2BK6aVxw+uD/wY+Ku5YyOuMPNvKiRDS5SWiTeIyAIfQ9ZxobMmEcHgEBkabxE+98ZbfE0oX0An7wQw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.4","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.4_1788867656498_0.59755125328704","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@arkade-os/swap","version":"0.0.14","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.14","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"e23a4d834a5644253e01130f00e83bfd5c8c9018","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.14.tgz","fileCount":24,"integrity":"sha512-Wn159smG1KrcJk9oCyp4MCLK1cLeiNEGUeYuQNQcKZ8SMxLRW2J3sf34KK4EJVOfuU1nDOgLcb8fsL2A8Wm8vw==","signatures":[{"sig":"MEUCIQDqEWduTH/NJU3YDlRBhHBEfze84RriiIesctegTXYSAwIgWxPrpZEuFV/iTK7jiJBdMx9me7hwClMeUrz7iNbDgB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICNai73Htr9jHMx7ktaDohtnBxq0+rxjnQVZZFuQ8tcVAiAPJwPAI6n/ZxDLP5D+5FApSiXznKUtYf/T75ib9a+f2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":964188},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.14.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/ed36a8e365d82f3cc7e72a81434cec61/arkade-os-swap-0.0.14.tgz","_integrity":"sha512-Wn159smG1KrcJk9oCyp4MCLK1cLeiNEGUeYuQNQcKZ8SMxLRW2J3sf34KK4EJVOfuU1nDOgLcb8fsL2A8Wm8vw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.71","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.14_1788870785148_0.5975854494616426","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.5":{"name":"@arkade-os/swap","version":"0.1.0-rc.5","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.5","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"bab9b25c1431ec63498145783c66c080b8e4fe23","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.5.tgz","fileCount":44,"integrity":"sha512-hr5zHtMq9xBERPxA8a0bv+UygHqXe4CDqUnTjzApJwhoiMWLK8rg+UR9ewStAhhtfJcdbsZKTeEsmwym75hVLQ==","signatures":[{"sig":"MEUCIQC7VYUw6Sm6QnmTcwxk7iVpBollLBtG36hPl/QDd4G4sQIgQz0mGls0Hry0o3L7Ja7E3rrnQGNtevYG7yV3Bm0m+3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDHVIoDaL/KwLcK6jze8PFhHjq/331DZF0j7DD7G5sA4QIhAK/hzgByVkHd0KGNc3FugYkgvxwGExQlWVQ0ECbmFKby","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2279538},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e --exclude 'test/e2e/rfq*.test.ts'","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/2dc6b3652f0270e160231a5ef6a6b593/arkade-os-swap-0.1.0-rc.5.tgz","_integrity":"sha512-hr5zHtMq9xBERPxA8a0bv+UygHqXe4CDqUnTjzApJwhoiMWLK8rg+UR9ewStAhhtfJcdbsZKTeEsmwym75hVLQ==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.5","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.5_1788900402097_0.9024512085674294","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.6":{"name":"@arkade-os/swap","version":"0.1.0-rc.6","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.6","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"a433fb26929165df71b27f5c8716a61696beb2cd","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.6.tgz","fileCount":44,"integrity":"sha512-6q24owMluiy60KC1QdWgv/XZ1ZYair+PMUV/w2ZZ99h40Xqxeodd0sddy3wDLU7hqZSxYkmkct3OgcYeQL7xIA==","signatures":[{"sig":"MEQCIA8cHHbPHYC7Lb2kXw1kfWN7a8yjtRruvYm0n6u1XCupAiBly2xrfpcJghkcZAMwkASJL3i3P9kmceoBr210KUkF4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH+49u7WSqTIIb460IF91iT3h9uSFPtZj4erCE3nv1TvAiBFBWAbfi3bbXSkjdqjMiW89MfLzbSTlhw+2kab5rIoCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2280006},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e --exclude 'test/e2e/rfq*.test.ts'","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/5719d64b7f314a41cc8b525deb41f3ea/arkade-os-swap-0.1.0-rc.6.tgz","_integrity":"sha512-6q24owMluiy60KC1QdWgv/XZ1ZYair+PMUV/w2ZZ99h40Xqxeodd0sddy3wDLU7hqZSxYkmkct3OgcYeQL7xIA==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.6","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.6_1788949286847_0.10624448126286978","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.7":{"name":"@arkade-os/swap","version":"0.1.0-rc.7","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.7","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"49fc294e81e58bbb4f6fbbb3ccc5be397c9c3671","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.7.tgz","fileCount":44,"integrity":"sha512-ezlWxeROPF19lzzvRgW0KERUcutKrRK8Rw/kauFZs84FESzYZ0NeH2V+ff67u+unE35IKCSenafLVfTgRcMB6w==","signatures":[{"sig":"MEQCIHEV72nO4GxIebwn28v4O0ZDwtimkCLi2QTEV0Ojjj77AiBHOPLYQ6l39MNMlloOIfQmJkCLwPDf3lSN6fDdQUuEbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHNGb0BhjzquLTxq0ixUVe5nrsQsIN6fXlj/nJYDxn8AAiEAx0KLd+NkRsoGbNvOHCtqPWk3Uvzl+riTW7whSpELh5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2280572},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e --exclude 'test/e2e/rfq*.test.ts'","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"pietro909","email":"dev@pietro.uno"},"_resolved":"/tmp/f6ca199c33bcdb954b3af596549ef897/arkade-os-swap-0.1.0-rc.7.tgz","_integrity":"sha512-ezlWxeROPF19lzzvRgW0KERUcutKrRK8Rw/kauFZs84FESzYZ0NeH2V+ff67u+unE35IKCSenafLVfTgRcMB6w==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.12.1","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.7","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.7_1788955367045_0.774672373051543","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@arkade-os/swap","version":"0.0.15","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.15","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"c127257cd1b444fd0ae652da1ba816d637137895","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.15.tgz","fileCount":24,"integrity":"sha512-G7XQs9YwtfxVCNMUFj4/JvmymdoEZbr2jcTZExE+ogebbamqRDW8OWyIXOw6s9dp4gjg1JSkuxJf9v1RGgobMA==","signatures":[{"sig":"MEUCIQCKGY/Yl40xOJG62ZbOzR/+AVtpM97GZLcvV3XT8418dwIgG2hmv8NxCY7hcH/UO9ilp8ArOBONRSq/4dc3JHgQR58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC3XCvyPFDzWNbbbS/3eI4s1mHmYQmem7XHN17wNkUq7QIhAOr9oNKs2ni1GvQ7Lg/98+llRnJrs0YezktgokEQiHCY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1030131},"main":"./dist/index.js","type":"module","_from":"file:C:/Users/evilk/AppData/Local/Temp/arkade-swap-0.0.15-pack/arkade-os-swap-0.0.15.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\arkade-swap-0.0.15-pack\\arkade-os-swap-0.0.15.tgz","_integrity":"sha512-G7XQs9YwtfxVCNMUFj4/JvmymdoEZbr2jcTZExE+ogebbamqRDW8OWyIXOw6s9dp4gjg1JSkuxJf9v1RGgobMA==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.71","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.15_1789026991610_0.031130867331887746","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.8":{"name":"@arkade-os/swap","version":"0.1.0-rc.8","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.8","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"617a379b93e25abd6d4623c2c653ee6c84d91387","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.8.tgz","fileCount":44,"integrity":"sha512-/HajbL0LkKgvRiL0U4zY6M4W6cGkvJdB1G6Pv5JNwwNc00l5NR5RY5gV4BxxIRr2y9OjVA27N923ViTHUKw7Hw==","signatures":[{"sig":"MEQCIEISU6p58Zswz5YC9fyIRgfVRrZxGoXHVOuTGXg/FmhQAiA48MT0VLG9V0Egu44yTkSF/TydGC7qUEdk5lK3Habwfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCqEx0N45Dh3i2tlbTO/q1cfWq1W9aNlHDerGWfUpx3nQIhAN4WG2Xu0fJv911tF2JTtCmJoETl4GIQZQ5bj7x5i1YU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2322019},"main":"./dist/index.js","type":"module","_from":"file:C:/Users/evilk/AppData/Local/Temp/arkade-swap-0.1.0-rc.8-pack/arkade-os-swap-0.1.0-rc.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e --exclude 'test/e2e/rfq*.test.ts'","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\arkade-swap-0.1.0-rc.8-pack\\arkade-os-swap-0.1.0-rc.8.tgz","_integrity":"sha512-/HajbL0LkKgvRiL0U4zY6M4W6cGkvJdB1G6Pv5JNwwNc00l5NR5RY5gV4BxxIRr2y9OjVA27N923ViTHUKw7Hw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.8","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.8_1789027760309_0.4326079060962553","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@arkade-os/swap","version":"0.0.16","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.16","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"b20dd7f396629ab80cb6fc080b7dd48622e88d41","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.16.tgz","fileCount":24,"integrity":"sha512-ux01KxNhLXfz7t0D1+wOWWq0cKvp9TR0PwOwomH3mTKh7ZsDHiPZlxl3g8mPnXso51dsXVozC+r+4BPhtS0ulQ==","signatures":[{"sig":"MEQCIEctUSTEGIBqF7eqOlYIAzRwQXmzc4VD9mJtjDUbR7ChAiB2uDxhFMIQ4mjENL6JMnMsBJhXei0hiOSyGtzD7I5vZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDeUZUlF5Wc3+rBXljV1yK2RlggLGaT5aLn0zd8c6hiVAIgPfPeydM1IZDjcczUvQpMt71XuTA0nkZs8gULyBQZYK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1030131},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.16.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run test/e2e/** --exclude test/e2e/rfq*.test.ts","test:integration:rfq":"vitest run test/e2e/rfq*.test.ts"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\29f04946b4787dafb74ffe8017360adb\\arkade-os-swap-0.0.16.tgz","_integrity":"sha512-ux01KxNhLXfz7t0D1+wOWWq0cKvp9TR0PwOwomH3mTKh7ZsDHiPZlxl3g8mPnXso51dsXVozC+r+4BPhtS0ulQ==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.72","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.16_1789033723244_0.13800172271089295","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@arkade-os/swap","version":"0.0.17","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.17","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"4648b493ca63bdc71d1f6c895fe8ddd418319d77","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.17.tgz","fileCount":24,"integrity":"sha512-49VzrCKW8yg+TIzRXyt9D6Ho3cJjz7VxcfJMvy5n5VcR6Okd7aPsKV1PaV0PP4pkcQwoLUSZ/ynbDHIo+AGSnA==","signatures":[{"sig":"MEUCIEXGK+c5HTTDJdAnhImDThl+Ny3sbJA+r9Eb8hNj3O29AiEAtabGqvSVjG9xOHfg9is8wfPXpX01b6EbkO6T/3S2QF4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA+icvtmM7pu4zbIZdKud2p+4oC5fOh5+WFrA+pPIhGCAiBKwB/98/cYpQF6v54oosZx7tTGtdGY1I90t9VuMIaiJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1042187},"main":"./dist/index.js","type":"module","_from":"file:packages/release-pack/arkade-os-swap-0.0.17.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\Documents\\Codex\\2026-09-09\\https-emulator-mutinynet-arkade-sh-v1\\work\\ts-sdk-release-clone\\packages\\release-pack\\arkade-os-swap-0.0.17.tgz","_integrity":"sha512-49VzrCKW8yg+TIzRXyt9D6Ho3cJjz7VxcfJMvy5n5VcR6Okd7aPsKV1PaV0PP4pkcQwoLUSZ/ynbDHIo+AGSnA==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.72","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.17_1789066067286_0.5649122645415168","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.9":{"name":"@arkade-os/swap","version":"0.1.0-rc.9","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.9","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"8b90bd1ee31de8d09eb8b9b00fe0819037f6e518","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.9.tgz","fileCount":44,"integrity":"sha512-Bel53s3OKFv9cPQyCc5j+WNCLCVL+v7VJ19G8bpp6a8O7u90IF4imr+cy2hwDuJOTtDmNpAy4DyabmiOeyQxnw==","signatures":[{"sig":"MEQCIB/vwdHqikzcZG4p5Ig5MvfNbdO/Vqyd5KRxMGy6+meFAiAUjV0ug4SFytuSHc6JrAtLfo+IxFLPtU2B6OjkA60hNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD4Znvg6NCcuEOx7ah3vZfBefFRTzZ3lMhPP4WBD54RdwIhAI9XqqsC98bNpGONvFtMtc9cV/yMTr/Bg8fi/HGlTeWU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2360222},"main":"./dist/index.js","type":"module","_from":"file:packages/release-pack/arkade-os-swap-0.1.0-rc.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --no-file-parallelism --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run --no-file-parallelism test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\Documents\\Codex\\2026-09-09\\https-emulator-mutinynet-arkade-sh-v1\\work\\ts-sdk-rc-release-clone\\packages\\release-pack\\arkade-os-swap-0.1.0-rc.9.tgz","_integrity":"sha512-Bel53s3OKFv9cPQyCc5j+WNCLCVL+v7VJ19G8bpp6a8O7u90IF4imr+cy2hwDuJOTtDmNpAy4DyabmiOeyQxnw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.8","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.9_1789066171117_0.7648902745083852","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.10":{"name":"@arkade-os/swap","version":"0.1.0-rc.10","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.10","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"bba0fd3146c59ecfa886132486609a070d2b1660","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.10.tgz","fileCount":44,"integrity":"sha512-WsTGZxjY5S3E2j9qTDJQo6aACZgrrj9e3cpIPADmOpOKPY2lymRtoTsl143iOILE4bec7D9fg5eIbjUgBoaRdg==","signatures":[{"sig":"MEUCIQDh/4J7LnwbYhlh1PTNWFPc9sW4tNaEBhLamIfWOCkNeQIgV4AvKoAARkNfY9V9wIWFn9tSEBqArFQgZogEeGLpFR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBnVVJp89vMgPheQzOARm/hb6JVojnOB4yjjo3QgotSCAiEAnVHEcGyFWBktZDdjdT/GFZYZqg6XDe02CEIaDf1fZ2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2325839},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.10.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --no-file-parallelism --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run --no-file-parallelism test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\2184f87073ba9b0d5a90bcc6d8fed052\\arkade-os-swap-0.1.0-rc.10.tgz","_integrity":"sha512-WsTGZxjY5S3E2j9qTDJQo6aACZgrrj9e3cpIPADmOpOKPY2lymRtoTsl143iOILE4bec7D9fg5eIbjUgBoaRdg==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.8","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.10_1789158060318_0.60982766372493","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@arkade-os/swap","version":"0.0.18","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.18","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"a669ccc2a0faade254bae3a3466b4cc98c062c48","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.18.tgz","fileCount":24,"integrity":"sha512-9z0T9GolRkvUsTQg2bvqGb6EpUf2yIAOp0TVEXjTpQETkyoBX/X2rQ9NBDd8hTUE8bKQZKOW9FxwOG+QaxxeYw==","signatures":[{"sig":"MEQCIGcSCRYAXdZzqLAR/tTyb9DD+4slRV+cCm5EMPKEYUkZAiATNvuHmvbAYOxm2UtrWgZ1xenV5zsMocuTslwBaGOv6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDRvuDutC/bhef0U7asFjLAINPEl+T6wpzbcbV+rnqFgQIhAM4DmHZLgncd4Ni44GqtUtwQLSxOyiKOvEwEeIY3GM1A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1043092},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.18.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\d12fb3c51fa97c6d8bb32bf7976d909a\\arkade-os-swap-0.0.18.tgz","_integrity":"sha512-9z0T9GolRkvUsTQg2bvqGb6EpUf2yIAOp0TVEXjTpQETkyoBX/X2rQ9NBDd8hTUE8bKQZKOW9FxwOG+QaxxeYw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.72","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.18_1789319934898_0.8441977449019114","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.11":{"name":"@arkade-os/swap","version":"0.1.0-rc.11","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.11","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"69af32d3c62fffe22d1d8e8d99398249aed9a7a4","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.11.tgz","fileCount":44,"integrity":"sha512-f9e4RfKZlzQmAJKgz3+N2UK1VtuI0sbQkdYXVqzG/ZFCaCtAIoU26+0F11SI8CS7bIPDsqAF90N5U/dM6ECPdw==","signatures":[{"sig":"MEUCIDmwtKSD1BR7vTrfszFcRxDV7x1uBoHpQwK4MxrBDgbWAiEApO/zdqKASr5+dwCLfsV4IeHKwedlcjZ0ZrxCjxD7QMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD6wat6g3nu5iEr8NElRf0Q/uJ/CJeqrBoC22zNe0dIKwIhAOIMsbPHx3AiUPuC1BAUyzNbBXggYCKuQ9N1tBvvGryF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2329319},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.11.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --no-file-parallelism --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run --no-file-parallelism test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\fffc16226ee51e86479367b26754abe3\\arkade-os-swap-0.1.0-rc.11.tgz","_integrity":"sha512-f9e4RfKZlzQmAJKgz3+N2UK1VtuI0sbQkdYXVqzG/ZFCaCtAIoU26+0F11SI8CS7bIPDsqAF90N5U/dM6ECPdw==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.8","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.11_1789320073943_0.008485272526657539","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@arkade-os/swap","version":"0.0.19","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.19","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"830378d7a507e4a48ccb30d8e5b5c35cc29f6c9e","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.19.tgz","fileCount":24,"integrity":"sha512-f4rjg24ruWEw24ZSSP9DcjaW2dQ9EDmaJ//7GdkkSDp/SmDT6S2BNkMVldZ+DnvkNC23vjVu0owHQ2nojJK+fg==","signatures":[{"sig":"MEYCIQCEqt0HBggurUrmR7JyQlcq7Pm66Nf5P3fQLvEVAIJw3wIhAMa4IbiQ1jJet0MeTHfEsbrTiIdWNPjgRveLeXQVHV8A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIARQ4Zm+2MN6nLnuPlxcfFZKAXO14mIGJyALuJXFWAwiAiAdM6ACnG+TNxD3Qex1imGH8CK/Ji5ITpuWsSTysNOOuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1075853},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.19.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\4b9995d6a85961609670b233a7c7bd72\\arkade-os-swap-0.0.19.tgz","_integrity":"sha512-f4rjg24ruWEw24ZSSP9DcjaW2dQ9EDmaJ//7GdkkSDp/SmDT6S2BNkMVldZ+DnvkNC23vjVu0owHQ2nojJK+fg==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.73","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.19_1789502704358_0.12045413497130952","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.12":{"name":"@arkade-os/swap","version":"0.1.0-rc.12","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.12","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"804327fb62b6f66a2c8e43f8ffe7741801c9de44","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.12.tgz","fileCount":44,"integrity":"sha512-5y/lJhv4HpSNFJCwmz3CtheKQBRNO9bGIDNBXAOQP4jbMlVOMs0+RlvAiMaieJRgdIzPurz1uSLjn8+rJaWG6A==","signatures":[{"sig":"MEQCIA/zRPlHbqtQJpBZBVQ12X42fOIexoyl8fT3kKSIQyiyAiAptYxRdV4PYuiwV87JhzRd0FOOPoiMG8dWmDNABDnqhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDll18OF9WDH2HRsYBVgYtzHoBIZj/I6B/JmMB3em5LFwIgdy8tZpHrPiZYROoKnKEk6ZrCjMcm8oOfmkz6DzNPe7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2383886},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.12.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --no-file-parallelism --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run --no-file-parallelism test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\f22639dd2637b54e1980664f0b779ee5\\arkade-os-swap-0.1.0-rc.12.tgz","_integrity":"sha512-5y/lJhv4HpSNFJCwmz3CtheKQBRNO9bGIDNBXAOQP4jbMlVOMs0+RlvAiMaieJRgdIzPurz1uSLjn8+rJaWG6A==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.9","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.12_1789505218679_0.6107692591611305","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@arkade-os/swap","version":"0.0.20","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.20","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"ef227f78c30b07adfde28ce200118e12e4618a33","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.20.tgz","fileCount":24,"integrity":"sha512-MPg/1sCTCuwr/Errvc2FtfssV8/kfrK9wT/+fnaXLLYgYT7Vaex7Xe9bwA6NDn8qjcMgT1NEPPpRYuNHCFEgBA==","signatures":[{"sig":"MEUCIA5PgQ2wHzh/sxKrx9SNa6QyfBfk0qApzoWnPp8hRDc/AiEA7gPb7NH+6KwRyQhaSEWTtlYP+dSzxOcIHrSItio9Lo0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC7BPvffzMVTJ8I0AwwudvBMoG9VxqPrL7xwEr6mEFLQgIgUcGWjcUQ5vIZJ6hFICAmcM5Kqg4rlptTEHcrQ4Xu0hE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1077911},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.20.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\b461e7a35dbfb1a71fea6364a3011629\\arkade-os-swap-0.0.20.tgz","_integrity":"sha512-MPg/1sCTCuwr/Errvc2FtfssV8/kfrK9wT/+fnaXLLYgYT7Vaex7Xe9bwA6NDn8qjcMgT1NEPPpRYuNHCFEgBA==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.74","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.20_1789850637956_0.01468985237607412","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@arkade-os/swap","version":"0.0.21","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.21","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"d7b3585cdf07813f4fbeb1d8a01bdefde5b692ec","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.21.tgz","fileCount":24,"integrity":"sha512-o6nzOMbhsSAzviR/RWHf7dpwlURz2/3kGpFfjFHXMLIrRDLX48eVtyZsq5j5wZ3nwvrrr3ZTc+PS9G+kLXHjXg==","signatures":[{"sig":"MEYCIQD5+J4BVIeVf9wp4uNaWFQU1eMAGigYniD1Q00WQur9vQIhAP6vRUZtL4t+inURiCSIP66+eum/3bdVdzQiLkRjvUHD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEGp7C9flyfYNKPkhtcr5ro9mSOLpiv+H5g5tuF2SLueAiB0P8IAKx7mYkrcZdTWZRBS3YmMP+/SrmF2aan4mdPbwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1079929},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.0.21.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\0cb41c6d53633753a5a9043bdbe839f7\\arkade-os-swap-0.0.21.tgz","_integrity":"sha512-o6nzOMbhsSAzviR/RWHf7dpwlURz2/3kGpFfjFHXMLIrRDLX48eVtyZsq5j5wZ3nwvrrr3ZTc+PS9G+kLXHjXg==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.75","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.21_1790170716772_0.6257600861410682","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.13":{"name":"@arkade-os/swap","version":"0.1.0-rc.13","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.13","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"2f6cffbeb10e78b8805a6013fa777446fe958b26","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.13.tgz","fileCount":44,"integrity":"sha512-WDXRf1vAmFbUUVOqX6NSfBE1slT5N+1J+E8qPGxGAxoq1ZSU5P1LOZiw3+ZW3spjan+glSmvOHaJWL/XVI9LKQ==","signatures":[{"sig":"MEUCIQC7mWziFUQrTkjP55QC7xHu1miEGWfbxevhD4xAowFQzgIgRwkQNPXv2H1j3ULj9vTxR5p0yK8dfRKzITJrjx336Rc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID8SulihZebUhSzRECXYyymFHDAOReygW63jvA6hX8cOAiAva7mTxxbCTdOdsRSZQyZMROEe9WzQf3h+cU+Zuif/fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2401205},"main":"./dist/index.js","type":"module","_from":"file:arkade-os-swap-0.1.0-rc.13.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --no-file-parallelism --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run --no-file-parallelism test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\67bf5dae26a55ace359463239b2a7d44\\arkade-os-swap-0.1.0-rc.13.tgz","_integrity":"sha512-WDXRf1vAmFbUUVOqX6NSfBE1slT5N+1J+E8qPGxGAxoq1ZSU5P1LOZiw3+ZW3spjan+glSmvOHaJWL/XVI9LKQ==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.10","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.13_1790173818917_0.40588087904914527","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@arkade-os/swap","version":"0.0.22","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.0.22","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"dd5b092bf139636940038a8b0ee027a0db61bbd1","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.22.tgz","fileCount":24,"integrity":"sha512-/e2tmEHTAWYfhRlHo7io76Sg2Ap6CFFocyElvvbT8qKe9Hh7y93sH7Mgp/Ka3hfHq8Os7HmS2X17MUuW/4ZA2w==","signatures":[{"sig":"MEYCIQCwEitcH6+/eAOCFWmRchxR485Y2P9OddWsUa9MPlYIzwIhAIvgs9BS0WirqpntMNpPq3OOoLKmXzGKNyopGk3NXkFk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDNIa5WOcCExCXAvXjMyuvkZjtM0h3rkJRxH5gkHDzrMgIhAOLwxxpXwz/QlFEgajjP3UEIhZ93/jSrLSZvQRzuk1jx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1080447},"main":"./dist/index.js","type":"module","_from":"file:C:/Git/_perf-swap/arkade-os-swap-0.0.22.tgz","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Git\\_perf-swap\\arkade-os-swap-0.0.22.tgz","_integrity":"sha512-/e2tmEHTAWYfhRlHo7io76Sg2Ap6CFFocyElvvbT8qKe9Hh7y93sH7Mgp/Ka3hfHq8Os7HmS2X17MUuW/4ZA2w==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.76","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.0.22_1790339072523_0.2296883807415928","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.14":{"name":"@arkade-os/swap","version":"0.1.0-rc.14","keywords":["arkade","swap","intents","bitcoin"],"author":{"name":"Arkade-OS"},"license":"MIT","_id":"@arkade-os/swap@0.1.0-rc.14","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"homepage":"https://github.com/arkade-os/ts-sdk#readme","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"b22bc366c58ea3a1d95f850092852162eabbfb25","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.1.0-rc.14.tgz","fileCount":44,"integrity":"sha512-t8DWoX0A66aeaKnINEnSvQka9eM+sp1U1mxJXjTopjVli4ni4qkc784zvNCGRaXrjsjdSNgeL0ghYmnJQTBPwA==","signatures":[{"sig":"MEYCIQCIXBmd+dtQFvtzoUA12ZDj2LIPPifc56PXI8qB2Qs/+wIhAO8NK+2wcv/+JTJg/yyNqH1MUSx3NmP1VV03j2QWCYh1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFBNkecA92T8J8103V+Bcx/nurTQ77Er07g2LjYRtYwlAiAwlM1RFwPLUsaNJ3XOLnNFRHwMHSBG4LJggTkfGPCq2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2402537},"main":"./dist/index.js","type":"module","_from":"file:C:/Git/_perf-swap/arkade-os-swap-0.1.0-rc.14.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./node":{"import":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.js"},"require":{"types":"./dist/node/index.d.ts","default":"./dist/node/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./advanced":{"import":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.js"},"require":{"types":"./dist/advanced.d.ts","default":"./dist/advanced.cjs"}},"./protocol":{"import":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.js"},"require":{"types":"./dist/protocol.d.ts","default":"./dist/protocol.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"pnpm run build:web && pnpm run build:node","format":"biome format --write src test","build:web":"tsup src/index.ts src/advanced.ts src/nostr.ts src/protocol.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","build:node":"tsup --config tsup.node.config.ts","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --no-file-parallelism --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run --no-file-parallelism test/e2e/rfq"},"_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"_resolved":"C:\\Git\\_perf-swap\\arkade-os-swap-0.1.0-rc.14.tgz","_integrity":"sha512-t8DWoX0A66aeaKnINEnSvQka9eM+sp1U1mxJXjTopjVli4ni4qkc784zvNCGRaXrjsjdSNgeL0ghYmnJQTBPwA==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: state a route, get an outcome. Pay a bolt11 invoice, receive over Lightning, exchange assets, or withdraw onchain.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.5.0-rc.11","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","light-bolt11-decoder":"3.2.0","@arkade-os/solver-discovery":"0.2.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/swap_0.1.0-rc.14_1790341893794_0.8104585623737779","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"_id":"@arkade-os/swap@0.0.23","bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"dist":{"shasum":"c57ada3ad7e65dcfdf777befe3f7bb324388d6f3","tarball":"https://registry.npmjs.org/@arkade-os/swap/-/swap-0.0.23.tgz","fileCount":24,"integrity":"sha512-r3wXWDPP/EhVi2YUia3mLR4HkT/3uLoJhiAVkYJ1OxnRilzvoO0quqSQ8d5QY7oJe5gAwqPZvb/8/C+smOqyHg==","signatures":[{"sig":"MEUCIBWV2uDMC5+A8nSeNbE81CeXqmbZN85T9eM3Bed+alp+AiEA4WBZWW1pF3NdiJpWHIf23aJ7w0UBkzpIvseIvmZOG20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD7S/Y5Wl8O8qbd0R8dpQsNnjGk+AlDi6AzV5NrPsVUawIhAOPlHNkRkcR4i92UV9FfweeA5p7XaAupxBTPC0ZJJXcJ"}],"unpackedSize":1109931},"main":"./dist/index.js","name":"@arkade-os/swap","type":"module","_from":"file:arkade-os-swap-0.0.23.tgz","types":"./dist/index.d.ts","author":{"name":"Arkade-OS"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./nostr":{"import":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.js"},"require":{"types":"./dist/nostr.d.ts","default":"./dist/nostr.cjs"}},"./repositories/realm":{"import":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.js"},"require":{"types":"./dist/repositories/realm/index.d.ts","default":"./dist/repositories/realm/index.cjs"}},"./repositories/sqlite":{"import":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.js"},"require":{"types":"./dist/repositories/sqlite/index.d.ts","default":"./dist/repositories/sqlite/index.cjs"}}},"license":"MIT","scripts":{"lint":"biome format src test","test":"vitest run --exclude test/e2e","build":"tsup src/index.ts src/nostr.ts src/repositories/sqlite/index.ts src/repositories/realm/index.ts --format esm,cjs --dts --clean","format":"biome format --write src test","test:unit":"vitest run --exclude test/e2e","typecheck":"tsc --noEmit","smoke:dist":"node scripts/smoke-dist.mjs","test:integration":"vitest run --exclude \"test/e2e/rfq*.test.ts\" test/e2e/","test:integration:rfq":"vitest run test/e2e/rfq"},"version":"0.0.23","_npmUser":{"name":"kukks","email":"evilkukka@gmail.com"},"homepage":"https://github.com/arkade-os/ts-sdk#readme","keywords":["arkade","swap","intents","bitcoin"],"_resolved":"C:\\Users\\evilk\\AppData\\Local\\Temp\\660f089feb97d54e05a6151f271409c1\\arkade-os-swap-0.0.23.tgz","_integrity":"sha512-r3wXWDPP/EhVi2YUia3mLR4HkT/3uLoJhiAVkYJ1OxnRilzvoO0quqSQ8d5QY7oJe5gAwqPZvb/8/C+smOqyHg==","repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"_npmVersion":"11.13.0","description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","directories":{},"maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"_nodeVersion":"24.16.0","dependencies":{"@scure/base":"2.0.0","@noble/curves":"2.0.1","@noble/hashes":"2.0.1","@arkade-os/sdk":"0.4.77","@noble/ciphers":"2.1.1","@scure/btc-signer":"2.0.1","@arkade-os/solver-discovery":"0.2.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nostr-tools":"^2.12.0","fake-indexeddb":"6.2.5"},"peerDependencies":{"nostr-tools":"^2.12.0"},"peerDependenciesMeta":{"nostr-tools":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/swap_0.0.23_1790770685972_0.2913721894924004"}}},"time":{"created":"2026-08-12T12:48:41.170Z","modified":"2026-09-30T12:18:06.439Z","0.0.1":"2026-08-12T12:48:41.482Z","0.0.2":"2026-08-12T13:23:49.863Z","0.0.3":"2026-08-12T16:01:52.094Z","0.0.4":"2026-08-13T06:31:34.500Z","0.0.5":"2026-08-13T13:13:38.577Z","0.0.6":"2026-08-17T11:23:31.462Z","0.0.7":"2026-08-18T08:53:52.630Z","0.0.8":"2026-08-20T12:32:14.151Z","0.0.9":"2026-08-24T13:31:54.301Z","0.0.10":"2026-08-31T15:04:55.552Z","0.0.11":"2026-09-03T14:18:20.802Z","0.1.0-rc.0":"2026-09-03T15:11:36.042Z","0.0.12":"2026-09-04T15:13:47.659Z","0.1.0-rc.1":"2026-09-04T17:09:24.710Z","0.1.0-rc.2":"2026-09-07T06:40:03.203Z","0.1.0-rc.3":"2026-09-07T15:16:13.420Z","0.0.13":"2026-09-08T09:57:47.750Z","0.1.0-rc.4":"2026-09-08T11:40:56.601Z","0.0.14":"2026-09-08T12:33:05.230Z","0.1.0-rc.5":"2026-09-08T20:46:42.240Z","0.1.0-rc.6":"2026-09-09T10:21:26.957Z","0.1.0-rc.7":"2026-09-09T12:02:47.153Z","0.0.15":"2026-09-10T07:56:31.708Z","0.1.0-rc.8":"2026-09-10T08:09:20.413Z","0.0.16":"2026-09-10T09:48:43.363Z","0.0.17":"2026-09-10T18:47:47.392Z","0.1.0-rc.9":"2026-09-10T18:49:31.266Z","0.1.0-rc.10":"2026-09-11T20:21:00.477Z","0.0.18":"2026-09-13T17:18:55.004Z","0.1.0-rc.11":"2026-09-13T17:21:14.064Z","0.0.19":"2026-09-15T20:05:04.515Z","0.1.0-rc.12":"2026-09-15T20:46:58.822Z","0.0.20":"2026-09-19T20:43:58.046Z","0.0.21":"2026-09-23T13:38:36.880Z","0.1.0-rc.13":"2026-09-23T14:30:19.033Z","0.0.22":"2026-09-25T12:24:32.707Z","0.1.0-rc.14":"2026-09-25T13:11:33.890Z","0.0.23":"2026-09-30T12:18:06.100Z"},"bugs":{"url":"https://github.com/arkade-os/ts-sdk/issues"},"author":{"name":"Arkade-OS"},"license":"MIT","homepage":"https://github.com/arkade-os/ts-sdk#readme","keywords":["arkade","swap","intents","bitcoin"],"repository":{"url":"git+https://github.com/arkade-os/ts-sdk.git","type":"git","directory":"packages/swap"},"description":"Client-side Arkade Intents asset swaps: discover markets, quote, create/track/cancel offers, restore from chain.","maintainers":[{"name":"pietro909","email":"dev@pietro.uno"},{"name":"gringokiwi","email":"gringokiwi@icloud.com"},{"name":"kukks","email":"evilkukka@gmail.com"},{"name":"tiero","email":"marco@vulpem.com"},{"name":"louisark","email":"louis@arklabs.to"},{"name":"altafan","email":"pietro@vulpem.com"},{"name":"bordalix","email":"joao.bordalo@gmail.com"}],"readme":"# @arkade-os/swap\n\nClient-side [Arkade Intents](https://arkade.money) asset swaps: discover markets, quote and\nvalidate, create offers, track them, cancel them, and rebuild the whole record set from chain after\na wallet restore. Framework-free TypeScript over `@arkade-os/sdk`: the core API uses no DOM and no\nNode-specific APIs, so it runs in Node, the browser, and React Native alike. Four storage backends\nship — in-memory (anywhere, nothing outlives the process), IndexedDB (browser), SQLite and Realm\n(React Native, on subpath entry points) — see \"Storage backends\" below.\n\nThe one global the core API requires is `crypto.getRandomValues`. Node and browsers have it;\nReact Native does not, so install `react-native-get-random-values` (or `expo-crypto`) and import\nit before this package. `crypto.subtle` is not used. `EventSource` and `WebSocket` are needed only\nby the watch and relay transports, both of which take an injected implementation.\n\n## Roles\n\nArkade Intents names two participants:\n\n- **user** — states an intent and, through a wallet or application, approves and funds it. That is\n  the consumer of this package: it prices a swap against the registry's markets, funds the derived\n  contract, and tracks it to a fill or a cancellation.\n- **solver** — supplies inventory and pricing, and fills the funded contract by delivering\n  `wantAmount` to the user's script over the covenant's `fulfill` path. Some specifications and\n  repositories use _provider_ or _market maker_ as synonyms.\n\n**`maker` and `taker` in this package name contract positions, not product roles.** The covenant\nprograms bind `makerWP`, and the `Offer` type carries `makerPkScript` and `makerPublicKey`; those\nidentify the side that funds the swap and receives `wantAmount`. Read them as script field names.\n\nArkade Intents documentation deliberately avoids maker and taker for the participants themselves.\nA resting maker order is firm once taken, and nothing here is: the user funds first, and if no\nsolver fills, the deposit comes back through `cancelOffer` rather than through an executed trade.\nNaming the sides _user_ and _solver_ says who does what without borrowing a guarantee the contract\ndoes not make.\n\n## Request for quote\n\nEvery Arkade Intents route is request-for-quote: the user states an intent, receives the solver's\nterms as a quote, funds the contract it derives from those terms, and a solver fills it. This\nroute is no exception — what is specific to it is _where the quote is resolved_. `quoteOffer`\nprices the swap client-side from the market card the solver publishes: its price feed and its fee,\nthe same two inputs a relay quote would carry. Same protocol, one fewer network hop, and a quote\nthat is ready before the user finishes typing an amount.\n\nThe card commits a solver to a price; a fill commits it to your swap. Nothing is signed and no\ninventory is reserved until a solver lands on the funded contract, so treat the quote as terms to\nshow and validate — which is what `validatePlan` is for — rather than as a reservation.\n\nRelay-negotiated quotes are where this is going, and not only here: every corridor — Lightning,\nonchain, and intra-Arkade alike — converges on asking solvers for quotes over the relay, under one\nmessage family. What stays specific to this route is the settlement script, not the negotiation:\nboth legs live in the same ledger, so a non-interactive swap covenant replaces the HTLC that\ncross-ledger corridors need. The quote you resolve locally today is the quote a solver will answer\nwith then.\n\n## Funding, then fill or cancel\n\nEvery swap has the same two beats, on this route and on the cross-ledger corridors:\n\n1. **Funding** — the user funds the contract it derived from the quote. Funding _is_ acceptance;\n   there is no accept message to send, here or anywhere in Arkade Intents.\n2. **Fill, or cancel** — a solver fills by delivering the other side, or the user takes the\n   deposit back.\n\nCancel is this route's refund path. Where an HTLC corridor refunds through a timelocked leaf, this\ncovenant refunds through `cancelOffer` — a 2-of-2 with the Arkade server, **no solver signature\ninvolved**. Same job, same guarantee that the money comes home, reached by a script that fits a\nsingle-ledger swap.\n\nThe one thing to design for: the covenant carries no timelock, so an offer keeps its place until\nit is filled or cancelled. There is no window to miss, no deadline to race, and no expired state\nto recover from — the trade-off is that the deposit comes back when you ask for it, so a UI that\nfunds an offer should keep cancelling within reach.\n\n## The seven layers\n\n1. **`offer`** — the swap covenant itself. Two program JSONs (want-BTC / want-asset), the\n   `Offer` type, the TLV wire codec (`encodeOffer`/`decodeOffer`, `OFFER_PACKET_TYPE`), address\n   derivation (`offerVtxoScript`), and the user-side operations `createOffer`/`cancelOffer`. Identical\n   offers always derive identical swap addresses — the program JSONs are hashed into the address,\n   so their bytes are frozen (guarded by a golden test).\n2. **`markets`** — solver discovery and pricing guardrails: `discoverMarkets` (1-hour cached\n   registry fetch with stale-cache fallback; it follows the network's published index unless\n   `registryUrl` overrides it), `findMarket`, `validatePlan` (balance, both-side\n   limits, BTC-leg dust), `QUOTE_OPTIONS`, and `makeCachedFeedFetch` for rate-limited price feeds.\n3. **`store`** — the persisted `AssetSwap` records (`getAssetSwaps`/`addAssetSwap`/\n   `updateAssetSwap`), thin helpers over an `AssetSwapRepository`. Read failures degrade to an\n   empty list; write failures throw so pre-funding records can be retried before money is sent.\n4. **`restore`** — `registerAssetSwapRestore` attaches durable swap recovery to an explicit\n   `wallet.restore()`. The underlying `restoreAssetSwapRepository` / `restoreAssetSwaps` scan sent\n   virtual txs for offer packets and bind each funding vtxo to its spend. The scan remains\n   available directly for ordinary startup and later reconciliation; answered txids are remembered\n   in the repository (`getScannedTxids`/`markTxidsScanned`) so nothing is fetched twice.\n5. **`watch`** — `watchOfferSwaps` drives swap status from the wallet's own contract events, so a\n   fill shows up without re-running a scan. Registration is what makes it possible: only a\n   registered covenant is watched. See \"Live status\" below.\n6. **`rfq`** — the user side of quoted swaps: RFQ negotiation over HTTP or a\n   relay, then non-interactive filling (see below). All four reference-solver corridors:\n   `arkade:BTC -> lightning:BTC` and `arkade:BTC -> onchain:BTC` (send), `lightning:BTC ->\narkade:BTC` and `onchain:BTC -> arkade:BTC` (receive), plus `arkade:BTC|asset ->\narkade:BTC|asset` (quote, then take by funding an offer from layer 1).\n7. **`onchainHtlc`** — the Bitcoin-L1 side of `arkade:BTC <-> onchain:BTC`: a NUMS-keyed taproot\n   HTLC as pure local derivation (golden-pinned), claim/refund spend builders with signing as a\n   callback, the injected `ChainSource` seam (the package holds no L1 backend and no keys),\n   preimage extraction from a spend's witness, and crash-recovery classification.\n   `claimPacket` seals P to covclaimd for the receive directions.\n\nEverything the package persists — swap records, the restore-scan cursor, and the markets cache —\ngoes through a single `AssetSwapRepository`, following the Arkade repository convention\n(versioned interface, `AsyncDisposable`, one backend per platform). Construct one and pass it\nwherever the package asks for a repository; `discoverMarkets` also accepts none, for a one-shot\nuncached discovery.\n\n## Storage backends\n\n| Backend                        | Import from                           | For                                             |\n| ------------------------------ | ------------------------------------- | ----------------------------------------------- |\n| `InMemoryAssetSwapRepository`  | `@arkade-os/swap`                     | tests, one-shot scripts — nothing survives exit |\n| `IndexedDbAssetSwapRepository` | `@arkade-os/swap`                     | the browser (or a polyfilled IndexedDB)         |\n| `SQLiteAssetSwapRepository`    | `@arkade-os/swap/repositories/sqlite` | React Native, over your SQLite driver           |\n| `RealmAssetSwapRepository`     | `@arkade-os/swap/repositories/realm`  | React Native, over your Realm instance          |\n\nNeither subpath adds a dependency: they take the SDK's structural `SQLExecutor` / `RealmLike`\nhandles, so you pass the database you already opened.\n\n### Restore an imported wallet\n\nRegister swap recovery before the application calls the core wallet's explicit `restore()`:\n\n```ts\nimport {\n    IndexedDbAssetSwapRepository,\n    registerAssetSwapRestore,\n} from \"@arkade-os/swap\";\n\nconst repository = new IndexedDbAssetSwapRepository();\nconst unregisterSwapRestore = registerAssetSwapRestore(wallet, {\n    arkServerUrl,\n    repository,\n    onResult: ({ changes, coverageError }) => {\n        if (coverageError) console.warn(\"Swap coverage was incomplete\", coverageError);\n        console.info(`Restored or updated ${changes.length} swaps`);\n    },\n});\n\nawait wallet.restore();\n```\n\nCore address, contract, history, and balance recovery finishes before the swap scan starts. The\nhelper reads the recovered wallet history, normalizes it for the scan, rebuilds durable records,\nand repairs covenant coverage. Registering it again on the same wallet replaces the prior\nregistration through the stable `arkade-os:asset-swap` hook ID, so setup is idempotent. Call\n`unregisterSwapRestore()` when that integration no longer owns the wallet.\n\nA direct `Wallet` exposes the indexer and current Ark server key the helper needs. A proxy or\ncustom `IWallet` that does not expose them must pass both explicitly:\n\n```ts\nregisterAssetSwapRestore(serviceWorkerWallet, {\n    arkServerUrl,\n    repository,\n    indexer,\n    serverPubkey,\n});\n```\n\n`coverageError` is result-level: records were already persisted, so the helper still delivers the\ncomplete result to `onResult` and a later restore can retry coverage safely. Scan, persistence, or\n`onResult` failures reject the hook; `wallet.restore()` reports hook failures through its\n`AggregateError` after attempting the other registered hooks.\n\nKeep calling `restoreAssetSwapRepository` directly during ordinary startup or when history may\narrive later. Hooks run only during an explicit `wallet.restore()`, and the repository cursor makes\nthe manual reconciliation idempotent against records the hook already rebuilt.\n\nAll four carry both record types: asset swaps and the monitored RFQ swaps\n(`saveRfqSwap` / `getRfqSwap` / `getAllRfqSwaps` / `removeRfqSwap`). Each keeps them in a store of their own — a\nsecond object store on IndexedDB, an `…rfq_swaps` table on SQLite, the `ArkadeRfqSwap` class on\nRealm — since the two record types have different keys and no consumer wants them interleaved.\n\n**Records are stored whole.** The SQLite and Realm backends serialize each record to **JSON** in a\n`data` column, with only `status` / `createdAt` (and an RFQ record's `state` / `updatedAt`) mapped\nout for querying — so a field they do not know about survives, which is what the `quote`-shaped\nextension in `MIGRATION.md` relies on. It is also what keeps an RFQ record's corridor `profile`\nintact: `profile.hashlock` is a nested object holding the payment hash and any preimage material, and\na field-mapped backend is exactly what would lose it. JSON is\nthe boundary, though, and it is narrower than IndexedDB's structured clone: a `Date` in a\nconsumer-added field comes back an ISO **string**, a `Set` or `Map` comes back empty, and a `bigint`\nmakes `saveSwap` **throw**. `AssetSwap` and `RfqSwapRecord` are both JSON-safe by design (amounts are\nstrings, binary is hex), and a corridor `profile` is plain JSON by the handler contract; keep your own\nadded fields — and any corridor profile you write — that way too.\n\n### SQLite\n\n```ts\nimport { SQLiteAssetSwapRepository } from \"@arkade-os/swap/repositories/sqlite\";\nimport { SQLiteWalletRepository, type SQLExecutor } from \"@arkade-os/sdk/repositories/sqlite\";\n\nconst db = await SQLite.openDatabaseAsync(\"wallet.db\"); // expo-sqlite\n// Build the executor ONCE and hand this same instance to every repository on\n// the database: the SDK serializes transactions in a chain keyed by this\n// object, so a per-repository literal splits the chain and two BEGIN\n// IMMEDIATEs can interleave.\nconst executor: SQLExecutor = {\n    run: (sql, params) => db.runAsync(sql, params ?? []),\n    get: (sql, params) => db.getFirstAsync(sql, params ?? []),\n    all: (sql, params) => db.getAllAsync(sql, params ?? []),\n};\n\nconst swaps = new SQLiteAssetSwapRepository(executor);\nconst wallet = new SQLiteWalletRepository(executor); // same instance\n```\n\nSharing the executor is **necessary** for that serialization, not sufficient for atomicity across\nall wallet storage: it disciplines the repositories that enter the chain — this one,\n`SQLiteIntentRepository`, `SQLiteVirtualTxRepository`, and the wallet repository's migration path —\nand nothing else. `SQLiteWalletRepository` and `SQLiteContractRepository` still write raw, so their\nwrites can land inside whatever transaction happens to be open.\n\nThree tables land in your database, prefixed `arkade_`: `arkade_asset_swaps`,\n`arkade_asset_swap_scanned_txids`, `arkade_asset_swap_markets`. Pass `{ prefix: \"myapp_\" }` if your\napp already owns those names.\n\n### Realm\n\n```ts\nimport Realm from \"realm\";\nimport { AssetSwapRealmSchemas, RealmAssetSwapRepository } from \"@arkade-os/swap/repositories/realm\";\nimport { ArkRealmSchemas } from \"@arkade-os/sdk/repositories/realm\";\n\nconst realm = await Realm.open({\n    schema: [...ArkRealmSchemas, ...AssetSwapRealmSchemas, ...yourOwnSchemas],\n    schemaVersion: YOUR_VERSION, // these schemas are new: bump yours when adding them\n});\nconst swaps = new RealmAssetSwapRepository(realm);\n```\n\nFour classes land in your Realm namespace: `ArkadeAssetSwap`, `ArkadeRfqSwap`,\n`ArkadeAssetSwapScannedTxid`, `ArkadeAssetSwapMarketsCache`. Unlike SQLite there is no prefix option\n— a Realm schema name is baked into the schema objects you register — so reconcile against your own\nmodels by name.\n\n`ArkadeRfqSwap` arrived after the other three. **If you already shipped them, add it and bump\n`schemaVersion` again**: Realm creates schemas at open, so a config still listing three fails on the\nfirst RFQ read rather than at open. SQLite needs nothing — its DDL runs `CREATE TABLE IF NOT EXISTS`\non every init, so the table appears on the next operation.\n\n## Creating an offer\n\nFund the returned address with the side you deposit, embedding the payload, and the solver does\nthe rest:\n\n```ts\n// BTC -> asset\nconst o = await createOffer(wallet, ARK, { wantAmount: 1000n, wantAsset });\nawait wallet.send({ address: o.address, amount: 1000, extensions: [o.extension] });\n\n// asset -> BTC (the sats are the VTXO carrier for the asset)\nconst o = await createOffer(wallet, ARK, { wantAmount: 1000n, offerAsset });\nawait wallet.send({\n    address: o.address,\n    amount: 500,\n    assets: [{ assetId, amount: 1000n }],\n    extensions: [o.extension],\n});\n```\n\nThe covenant co-signer (\"emulator\") key defaults to the SDK's per-network pin, resolved from the\nnetwork the Ark server reports — never fetched from the emulator itself. Pass\n`params.emulatorPubkey` (33-byte compressed hex, the same contract as `Arkade.connect`'s option)\nto override it for a self-hosted emulator, an unpinned network (signet, testnet), or a key\nrotation the SDK hasn't shipped yet.\n\n### What `createOffer` gives you back\n\n`createOffer` is pure derivation — it broadcasts nothing. The offer only becomes real when the\ndeposit lands at `address`.\n\n| Field          | What it is                                                                                                                                                  |\n| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `address`      | The swap address to fund with your deposit. Identical offers derive an identical address, so the **funding txid**, not the address, identifies one deposit. |\n| `extension`    | Pass straight to `wallet.send`'s `extensions`. It carries the offer inside the funding tx so the solver can discover the offer from the txid alone.         |\n| `offerHex`     | The encoded offer. **Persist this** — it is the only input `cancelOffer` needs to rebuild the covenant.                                                     |\n| `swapPkScript` | The covenant's scriptPubKey: the key an indexer watches to spot the deposit and its later spend.                                                            |\n\nThe minimum you must keep to stay in control of a swap is `offerHex` plus the funding txid.\nEverything else — status, amounts, timestamps — `restoreAssetSwaps` rebuilds from chain, and the\noffer bytes themselves are recoverable from the funding tx if the record is lost.\n\n## Live status\n\n```ts\nconst watcher = await watchOfferSwaps({ wallet, arkServerUrl: ARK, repository, onUpdate: render });\n// later\nwatcher.stop();\n```\n\nBecause `createOffer` registers the covenant, the wallet already watches that script and emits a\nspend event when the deposit moves — so a **fill** reaches you without re-running a scan, which is\nwhat `restoreAssetSwaps` alone could never do.\n\nHow a spend is classified, cheapest answer first: a cancel this device made is already recorded by\n`cancelOffer`, so nothing needs deciding; anything else is read off the spending transaction's\ncovenant leaf (`cancel` vs `fulfill`), which is exact and stays exact when one transaction fills\nseveral offers at once. A spend that cannot be classified — the indexer has not caught up, say —\n**leaves the record untouched** for the restore scan to decide later. Nothing is written on a\nguess: a stored swap is skipped by every later scan, so a guess here would be permanent.\n\n`onUpdate` is a notification for UI reactivity, not a second store; every write goes through the\nrepository.\n\n## Cancelling: the refund path\n\n```ts\nconst txid = await cancelOffer(wallet, ARK, swap.offerHex, {\n    repository,\n    fundingTxid: swap.fundingTxid,\n    swapAddress: swap.swapAddress,\n});\n```\n\nThe call records its own outcome — `cancelling` before submitting, `cancelled` plus the spend txid\nafter — so a cancel needs no follow-up write from the caller, and the live watcher above finds a\nrecord already resolved rather than re-deriving it.\n\n**An unfilled offer never expires.** Neither program carries a timelock, so a deposit no solver\npicked up keeps its place at the swap address — the terms stay open as long as you want them to,\nwith no deadline to miss and no \"expired\" state to unwind. Getting the deposit back is\n`cancelOffer`, available from the moment funding lands and settling as soon as you ask.\n\nThe two ways out of the covenant are deliberately asymmetric:\n\n- **`fulfill`** is signed by the **server alone**, but the covenant constrains it to pay output 0\n  to your payout script for at least `wantAmount`. A solver cannot take the deposit without\n  delivering the other side.\n- **`cancel`** is a **2-of-2 of you and the server** — no solver signature. Your refund never\n  depends on the counterparty being reachable or willing, which is the same property the HTLC\n  corridors buy with a timelock, bought here with a cooperative path that needs no waiting.\n\nSo cancel _races_ a fill rather than pre-empting it. If the solver fills in the same moment,\n`cancelOffer` throws `no spendable VTXO at the swap address` — that means the swap **completed**,\nnot that anything went wrong. Re-read the swap's state before treating it as an error;\n`restoreAssetSwaps` tells the two spends apart afterwards and marks the record `fulfilled` rather\nthan `cancelled`.\n\nPass `fundingTxid` whenever you have it. Identical offers share an address; when several deposits\nsit there, `cancelOffer` refuses to guess and throws unless `fundingTxid` selects one. Every\n`AssetSwap` carries the txid, so the call above is the shape to prefer. `swapAddress` pins the\nserver key the covenant was built with, keeping cancel working across a server signer rotation —\nwithout it, a rotated key is detected and reported explicitly rather than surfacing as a missing\nVTXO.\n\n## RFQ: quote first, then fill without talking\n\n`rfq` is the trader's side of a quoted swap. The negotiation is the ONLY interactive part —\nafter the quote, both corridors fill non-interactively, and there is deliberately no accept\nmessage anywhere: **acceptance is funding**.\n\n- **Arkade → Lightning** (`arkade:BTC->lightning:BTC`, implemented): the trader derives the\n  lightning-send covenant LOCALLY from the quote's binding fields plus its own data, refuses to\n  fund on any address mismatch, funds its own derivation before `valid_until`, and may go\n  offline. The solver observes the funding on-chain, pays the invoice, and claims with the\n  preimage — which lands publicly in the claim witness as the receipt. A failed swap refunds by\n  covenant to the trader's address, pushable by anyone, no trader keys or state.\n- **Arkade ↔ arkade** (BTC↔asset, asset↔asset): an arkade asset leg names the asset id itself —\n  `arkade:<68-hex>`, built with `arkadeAssetLeg` (the deprecated coarse `ARKADE_ASSET` is served by\n  no solver). The trader accepts a quote by creating and funding\n  an **offer** (layer 1) bound to the quoted terms before `valid_until`. The offer covenant only\n  releases the deposit to a fill that delivers the quoted amount, so the solver fills or nothing\n  moves; an unfilled offer is cancelled cooperatively. The quote wire shape ships here; the\n  reference solver serves the Lightning pair today.\n\n```ts\nimport { httpTransport, requestLightningSend, SwapRefusal } from \"@arkade-os/swap\";\n\n// invoice facts from YOUR OWN decoder — the module takes facts, not a decoder\nconst swap = await requestLightningSend(wallet, arkServerUrl, httpTransport(solverUrl), {\n    invoice: { raw: bolt11, paymentHash, amountSats, expiresAt },\n});\n// quote verified against the LOCAL derivation and gated; now fund and go offline:\nawait wallet.send({ address: swap.address, amount: swap.fundAmount });\n```\n\nBoth `request*` functions register the lockup with the wallet's contract manager before returning\nan address, the way `createOffer` registers its covenant: the lockup is watched from the moment it\nlands and stays out of generic coin selection, so nothing can spend a live swap out from under\nitself. A write failure throws `LockupRegistrationFailed` — the one throw here that does not mean\n\"walk away from this quote\", since nothing is funded yet and the quote is still good. Keep\n`swap.script`: it is the covenant object `RfqSwapManager` takes as a record's `lockup`, without\nwhich the manager can only poll and cannot retire the row when the swap ends.\n\nThe trust model is the offer side's, applied to quotes: only `solver_pubkey`,\n`refund_locktime`, `valid_until` and the amounts are used from a quote; every other contract\nparameter is the trader's own data, and anything address-shaped from the solver is compare-only\n(`AddressMismatch` means refuse-to-fund). The emulator key is neither: as above, it is a\nper-network pin inside the SDK, not solver data.\nRefusals carry a closed reason set (`SwapRefusal`). A solver may also return a recognised\n`error_code` with client-safe context. The error exposes these as `errorCode`, `field`, `actual`,\n`expected`, `limit`, and `unit`, and includes useful numeric context in its message. Match\n`errorCode` for a specific remedy while treating `reason` as the compatible fallback:\n\n```ts\nif (error instanceof SwapRefusal && error.errorCode === \"invoice_cltv_too_large\") {\n    console.error(`Invoice CLTV is ${error.actual} blocks; solver limit is ${error.limit}`);\n}\n```\n\nUnknown diagnostic codes and fields stay generic. `RFQ_REFUSAL_ERROR_CODES` and\n`isRfqRefusalErrorCode` expose the accepted vocabulary. The `swap-lightning-send.program.json`\nbytes are frozen the same way the offer programs are — a golden test pins the compiled leaves and\nscriptPubKey to the reference solver's exact script.\n\nTransports are symmetric-outbound: `httpTransport` (POST `/v1/swap`, GET `/v1/rfq/<rfq_id>`),\n`relayTransport` (the dev broker framing), and `nostrRfqTransport` — the production one a\ndeployed solver actually listens on. Status by `rfq_id` reaches terminal states\n`settled / refused / expired / refunded / stuck`; receipts (the preimage) appear only in\n`settled`, and the chain itself is always the fallback nobody can withhold.\n\n### The Nostr transport is a separate entry point\n\n```ts\nimport { nostrRfqTransport } from \"@arkade-os/swap/nostr\";\n\nconst transport = nostrRfqTransport({\n    relays: card.transports.nostr.relays,\n    solverPubkey: card.discovery_pubkey,\n});\n```\n\n`nostr-tools` is an **optional peer dependency**, so it is only required if you import this\nsubpath — a consumer doing HTTP-only swaps never resolves it, and the package root pulls in\nnothing Nostr-related. The trade is that importing `@arkade-os/swap/nostr` without `nostr-tools`\ninstalled fails at resolution, which is the intended loud failure rather than a transport that\nsilently degrades.\n\nDirected traffic rides kind `24859`, which is **ephemeral** (NIP-01's 20000–29999): a conforming\nrelay does not retain it. This must match the solver's `NOSTR_KIND_DIRECTED` — the two sides\nsubscribe by `kinds`, so a mismatch is not an error either can report. They simply never see each\nother, and every request times out appearing to blame the solver.\n\n## Onchain corridor: `arkade:BTC -> onchain:BTC` (and back)\n\nThe off-board direction is implemented end to end on the user side. The user generates `P`\nitself — `sha256(P)` is the wire `payment_hash`, and the script commitment is\n`ripemd160(sha256(P))` in BOTH contracts, so one preimage unlocks the Arkade leaf and the L1 leaf.\nThe Arkade lockup is byte-identical to the lightning-send program (`htlcSendProgram` is an alias —\none artifact, one golden test); the L1 side is a two-leaf taproot HTLC with the BIP-341 NUMS\ninternal key (no key-path spend, ever): claim = `HASH160 <h160> EQUALVERIFY <claimKey> CHECKSIG`,\nrefund = `<locktime> CLTV DROP <refundKey> CHECKSIG`.\n\n```ts\nimport { hex } from \"@scure/base\";\nimport {\n    httpTransport,\n    requestOnchainSend,\n    awaitOnchainFill,\n    claimOnchainFill,\n    addAssetSwap,\n    swapSecretsToRecord,\n} from \"@arkade-os/swap\";\n\nconst swap = await requestOnchainSend(wallet, arkServerUrl, httpTransport(solverUrl), {\n    amount: 100_000,\n    amountSide: \"to\",\n    payoutPubkey,\n});\n// Persist the record, including secrets, BEFORE funding. This must succeed:\n// if addAssetSwap throws, do not call wallet.send.\nawait addAssetSwap(repository, {\n    ...record,\n    id: swap.rfqId,\n    pair: \"arkade:BTC->onchain:BTC\",\n    paymentHash: swap.htlc.paymentHash,\n    swapAddress: swap.address,\n    swapPkScript: hex.encode(swap.swapPkScript),\n    htlcPkScriptHex: hex.encode(swap.htlc.pkScript),\n    htlcLocktime: swap.htlc.refundLocktime,\n    ...swapSecretsToRecord(swap.secrets),\n});\nawait wallet.send({ address: swap.address, amount: swap.fundAmount });\n\n// Unlike lightning-send the user must STAY CLAIM-CAPABLE: watch for the fill\n// and claim before the HTLC's refund leaf opens. chain is YOUR ChainSource.\nconst utxo = await awaitOnchainFill(chain, swap.htlc, minConfirmations);\nawait claimOnchainFill(chain, {\n    htlc: swap.htlc,\n    utxo,\n    preimage: swap.secrets.preimage,\n    payoutPkScript,\n    feeRateSatVb,\n    sign,\n});\n```\n\n`requestOnchainSend` derives BOTH contracts locally from the quote's binding fields\n(`solver_pubkey`, `refund_locktime`, `htlc_pubkey`, `htlc_locktime`, `min_confirmations`) and\nrefuses on any mismatch — `lockup_address` and `htlc_address` are compare-only. `assertFundable`\nadds three onchain gates, run immediately before funding: `timelock_order` (the L1 locktime plus a\n2 h reorg margin must fall before the Arkade refund, so the user's escape hatch opens LAST),\n`claim_window_too_short`, and `confirmations_out_of_range`. `claimOnchainFill` refuses to\nbroadcast — publishing `P` — with less than 90 minutes before the refund leaf opens: past that\npoint the safe move is to let the swap die and take the Arkade covenant refund rather than race\nthe solver's refund with `P` exposed. If the solver never fills, there is nothing to do: the\ncovenant refund pays the user's address after `refund_locktime`, pushable by anyone.\n\nCrash recovery is record-driven, not chain-driven: `classifyOnchainHtlc` re-derives the HTLC's\nstate (unfunded / awaiting confirmations / claimable / refundable / claimed-with-P / swept) from\n`ChainSource` plus the stored outpoint — without the stored record a spent HTLC is\nindistinguishable from an unfunded one, which is why persisting before funding is mandatory. The\n`AssetSwap` record carries the onchain fields (`paymentHash`, `signingDescriptor`, `preimageHex`\nfor a P that cannot be re-derived, `htlcPkScriptHex`, `htlcLocktime`, `l1Txid`) and the statuses\n`awaiting_fill / claimable / claimed / refunded_l1`.\n\n**On-board corridors are covered.** `requestLightningReceive` (`lightning:BTC -> arkade:BTC`) and\n`requestOnchainReceive` (`onchain:BTC -> arkade:BTC`) mirror the send-side flows: quote → derive\nBOTH contracts locally (the role-inverted VHTLC, and the L1 HTLC for the onchain leg) → verify\nagainst the quote's compare-only addresses → gate. `requestLightningReceive` returns the solver's\nhold invoice to pay; `requestOnchainReceive` returns the L1 HTLC to fund — the payment/broadcast\nitself is the trader's own wallet's job, exactly as on the send corridors.\n\nThe invoice on the lightning-receive leg is the _solver's_, so the SDK owns the comparison rather\nthan taking the caller's facts about it: `requestLightningReceive` requires a `decodeInvoice`\ncallback (no BOLT11 dependency is added) and `verifyReceiveInvoice` binds the decoded invoice to\nthis swap's `H` and to `quote.from_amount` — an invoice on another payment hash is the one attack\nhere with no on-chain trace, since the payer pays it in full and no lockup on `H` is ever funded.\n`assertReceivable` replaces `assertFundable` on this leg: the refund CLTV is the solver's, so the\nwindow that can run out is the hold invoice's, and the claim window is measured from\n`payDeadline = min(invoice expiry, valid_until)` — returned as the absolute `invoiceExpiresAt`,\nwhich is the deadline to show a payer, not `valid_until`. The optional `maxPayAmount` caps `from_amount`\n(`price_too_high`). The trader-side\ncompletion lands in `claim.ts`: `claimReceiveLockup` waits for the solver's funding and pushes the\ncollaborative claim with the swap's own `P` and receiver key (covclaimd optional). Both request\nflows return `expectedAmount` (the quote's `to_amount`) — persist it: `pushClaim` requires it and\nrefuses, with `LockupAmountMismatchError`, to publish `P` for a lockup funded below it. Matching the\n`pkScript` is not enough on this leg, since a solver that funds the correctly derived script with\ndust still settles the payer's HTLC in full once `P` is out. The gate sums every live output and\nruns before signing — `P` reaches the Ark server at submit — and is skipped only for a lockup we\nhave already partially claimed (`partiallyClaimed`), where `P` is public anyway. The push itself is\ncore's `signAndSubmitOffchainTx` plus `claimWithPreimageIdentity`, with `verifyServerSignatures`\non: the server's countersignature is checked per input, against the leaf the local build spends,\nbefore finalizing. The `sealClaimPacket` vector is cross-checked against\ncovclaimd's own `preimage.Decrypt`, and the TLV framing against its `DeserializeClaim`, so both\nare pinned by the reference implementation rather than by this one.\n\n`RfqSwapManager` drives the lightning-receive leg too, as `kind: \"lightning_receive\"` records\ncarrying `expectedAmount` and wired to a `claimLockup` callback (`pushClaim`, with `expectedAmount`\nand `partiallyClaimed` passed through — the manager's value check decides _when_ to act, the inner\none decides whether `P` is published). Nothing is asked of the solver: the reference solver's\n`rfq_status_request` consults neither receive store, so a status poll answers `unknown` for every\none of these swaps and chain observation is the only workable design. States mean what they do on\nthe send legs with the roles swapped — `settled` is _our own_ claim landing, matched by a\nhash-verified preimage spend rather than by the txid we submitted, so a claim that lands without us\nstill counts; `claimed` is a local belief and not terminal; and **`refunded` is a loss**, the solver\nhaving taken back a lockup we failed to claim. A lockup funded below `expectedAmount` is reported\n`needs_counterparty` and never claimed, which is non-terminal — a solver that tops it up before\nthe window shuts makes it claimable again, and a lockup funded piecemeal moves `claimed` →\n`claimable` → `claimed` again, so `onSwapUpdate` states say what to do next rather than track\nprogress in one direction. A `refunded` outcome from `waitForSwapCompletion` reports no `txid` even\nwhen a claim was submitted and recorded: the chain never took it, and the record still carries\n`claimArkTxid` for anyone diagnosing the loss.\n\n**There is no client-side refund on this leg, and that is the whole answer to \"what if I cannot\nclaim in time\".** Every non-claim leaf of the covenant is the solver's, so `refundArkade` is never\ncalled for a receive record and no amount of waiting produces one. The deadline is the quote's\n`refund_locktime`: the manager claims right up to it and stops there, because publishing `P` into\nthe solver's live refund window risks losing the race and giving away the preimage anyway. Wall\nclock with no margin is already conservative — the solver's leaf is a CLTV maturing against\nmedian-time-past, which trails, so the real window runs past that instant rather than ending before\nit. Past it the outcome is not symmetric with a send: the solver reclaims the lockup, the held\nLightning HTLC lapses, and **the payer is refunded** — the trader loses the incoming payment, not\nfunds it was holding. Which is why staying online to claim is an obligation and not a preference:\ncovclaimd cannot claim this covenant today, so the claim packet's offline path does not yet run.\n\n## Swap secrets come from the wallet, not from this package\n\nThis package holds no key logic at all. It names the leg it is building and the SDK answers:\n\n```ts\n// a leg we fund — all it needs is the key that refunds it\nconst { pubkey: refundPubkey, descriptor: refundDescriptor } = await provisionRefundKey(wallet);\n// a leg we claim — the key that receives it, and the P that unlocks it\nconst { pubkey, descriptor, preimage, paymentHash, mustPersistPreimage } =\n    await provisionClaimSecret(wallet);\n```\n\nWhere the key comes from is the wallet's decision, invisible here: an HD wallet allocates a fresh\ndescriptor per swap, a static wallet answers with its one `tr(pubkey)`. The record keeps the\ndescriptor, which is public, and `contractSigner(wallet, descriptor)` recovers the signer.\n\nWhat each swap stores, and what is recoverable:\n\n| Wallet answers with       | Spending key          | Preimage (when the leg needs one)     | Secret at rest    |\n| ------------------------- | --------------------- | ------------------------------------- | ----------------- |\n| fresh HD descriptor       | re-derives from seed  | derives deterministically             | none              |\n| static `tr(pubkey)`       | the wallet's identity | derives from a public per-swap salt   | none              |\n| a signer that cannot sign |                       |                                       |                   |\n| deterministically         | the wallet's identity | random, stored on the record          | the preimage only |\n\nThe preimage split follows the **descriptor's shape**, not the wallet's type. An HD child\ndescriptor is unique to its swap, so `sha256(sign_det(...))` over the key alone is safe. A static\ndescriptor is the same key for every swap, so that derivation would repeat across swaps — one\nsolver learning its own preimage would learn every other swap's — and the uniqueness has to come\nfrom the message instead: the SDK mints 32 random bytes per swap, signs a **salted** message, and\nstores the salt in the clear.\n\n**The salt is not a secret.** Knowing it yields nothing without the seed, which is the whole\ndifference from the preimage it replaces: the record goes from carrying a per-swap _secret_ to a\nper-swap _public_ value, exactly what `signingDescriptor` already is. Recoverability is unchanged\nin shape — keep the record and the swap recovers from the seed.\n\nOnly a signer that cannot sign deterministically at all — an external or extension signer — still\ngets a random stored preimage. `mustPersistPreimage` says which you got, and it is the only thing\nto branch on. A stored preimage remains the one secret at rest in the design, and it is never a\nprivate key.\n\n```ts\nconst swap = await requestOnchainSend(/* … */);\n// `swapSecretsToRecord` stores the public descriptor always, then whichever of\n// `preimageSaltHex` (derivable) or `preimageHex` (not) the wallet produced.\nawait saveSwap({ ...record, ...swapSecretsToRecord(swap.secrets) });\n\n// Later, from the seed plus the record's public fields. Only ask for a\n// preimage the corridor gave us one for: a lightning send's P belongs to the\n// payee, so this throws on those records rather than inventing something the\n// chain will never match. `LIGHTNING_SEND_PAIR` is exported from this package.\nif (record.pair !== LIGHTNING_SEND_PAIR) {\n    const preimage = await preimageForSwapRecord(wallet, record);\n}\n\n// For a refund, take the composition instead of the guard: it turns all three\n// ways a wallet can fail to produce the sender key — the record names no\n// descriptor, the descriptor is another seed's, the wallet holds the key but\n// cannot sign — into one typed `RefundNotLocallyPossibleError` carrying which,\n// and lets a signer outage stay retryable. Wire `refundArkade` to this.\nconst sender = await senderIdentityForSwapRecord(wallet, record);\n```\n\n`RfqSwapManager` catches that error and reports `needs_counterparty` with a `blockedReason`,\ninstead of retrying a push that cannot work until the refund window closes. The state is **not**\nterminal: the lockup stays funded and watched, a solver claim still ends the swap `settled`, and a\n`canRefundArkade` probe answering `ok` — after the right wallet is restored — returns it to\n`pending`. The manager reports the same state when nothing is wired to act (`enableAutoActions:\nfalse`, or no callbacks) and the window has passed.\n\n**The two claim callbacks may be omitted.** `setCallbacks` accepts\n`AvailableRfqSwapManagerCallbacks` — the full contract with `claimOnchain` and `claimLockup`\noptional — so a consumer driving only lightning sends installs neither instead of stubbing them to\nthrow. Dispatch is already kind-gated, so neither is reachable there. `saveSwap` is optional too\n(see below); `refundArkade` stays required.\n\n`RfqSwapManagerCallbacks` itself is unchanged and still means \"fully wired\", so a helper taking one\nand calling `claimOnchain` keeps its guarantee; only the parameter widens, which every existing\ncaller satisfies. What moves from compile time to runtime is bought back as a **block**: a kind\nwhose claim is missing reports `needs_counterparty` naming the gap, non-terminal and re-evaluated\nevery pass, lifted the moment `setCallbacks` supplies it. Not `failed` — `setCallbacks` is\ninstallable late by design, and a terminal state would foreclose the late wiring this exists for.\nA manager with *no* callbacks at all keeps today's manual mode on the L1 half: it reports\n`claimable` and you act by hand.\n\n**Take `arkadeRefunder` rather than assembling `refundArkade` by hand.** It composes the atomic\npush and keeps the three rules the manager relies on structural instead of documented — an empty\nlockup returns `null`, and both `RefundNotLocallyPossibleError` and `LockupNeedsRecoveryError`\npropagate untouched.\n\n```ts\nmanager.setCallbacks({\n    // `repository` is how it reaches `profile.signer`: the live swap the manager\n    // passes carries no descriptor, so the refund key is resolved by `rfqId`.\n    refundArkade: arkadeRefunder({ ark, indexer, wallet, repository }),\n    saveSwap,\n});\n```\n\nKeep the covenant on the swap (`request*`'s `script`, as a record's `lockup`): the refund is built\nfrom it, and a swap carrying only `lockupPkScript` is refused rather than pushed.\n\n### Let the manager own the records\n\nGive `RfqSwapManager` a `repository` and it persists RFQ swaps itself — the restore loop, the\nrestore pass and every write, none of which a consumer has to compose:\n\n```ts\nconst manager = new RfqSwapManager({\n    indexer,\n    contracts: await wallet.getContractManager(),\n    repository, // any AssetSwapRepository\n});\nmanager.setCallbacks({ refundArkade, claimLockup });\n\n// Restore active swaps from bounded state pages; terminal history stays stored.\nconst { restored, failed } = await manager.restoreFromRepository();\nawait manager.start();\n\n// A NEW swap arrives with the request-time half a live record cannot carry.\nawait manager.addSwap(swap, {\n    kind: \"lightning_send\",\n    lockupAddress: request.lockupAddress,\n    profile: rfqSecretsProfile(secrets, paymentHash),\n    fundingArkTxid,\n    amount,\n});\n```\n\nThat second argument is the whole point. Composing the write by hand runs into an **origin trap**:\n`updateRfqSwapRecord(record, swap)` needs the record that does not exist yet, and\n`createRfqSwapRecord(origin, swap)` needs request-time facts the live swap never carried — so a\nswap's *first* record cannot be built from the swap alone. `addSwap`'s `origin` is where those\nfacts arrive, and the manager keeps them for the swap's life. Omit it and one of two things\nhappens: the store already holds a record, which *is* the origin, and it is read back; or it does\nnot, and you get `RfqSwapOriginRequired` at the door rather than an unwritable record a pass later.\nAn origin whose `kind` or `lockupAddress` is not this swap's is refused at that same door, for the\nsame reason: the write that would catch it happens a pass later, with the funding broadcast.\n`start(swaps)` applies the same rule and is otherwise unchanged. Restored swaps carry their own.\n\n`restoreFromRepository` returns active swaps in `restored` and active records that cannot be rebuilt\nin `failed`. Terminal history remains in the repository; `waitForSwapCompletion(rfqId)` reads one\nterminal record on demand, regardless of age. Pass `{ includeTerminal: true }` for the previous\nall-record restore result, which can use substantial memory. Built-in backends page active states by\n`rfqId`; custom repositories without `getRfqSwapsPage` retain the all-record fallback. A record\nthat cannot be rebuilt — no contract row (`LockupContractMissing`), mismatched covenant params, or\nmissing corridor handler — stays in the store and never strands the others. The legacy explicit\n`pruneRetiredSwaps()` method remains for callers that choose to delete history. Pass `{ params }`\nto take covenants from somewhere other than the contract store.\n\nFor a bounded history read, call `getRfqSwapsPage(state, afterId, limit)` on a built-in repository.\nPages are ordered by `rfqId` within one state; the cursor is exclusive and the limit is 1–500.\n`rfqSwapActivityInputsPage({ repository, indexer }, state, afterId, limit)` projects one such page\nwith at most 16 concurrent indexer fallbacks. For date-filtered history, use\n`rfqSwapActivityInputsSincePage({ repository, indexer }, state, since, cursor, limit)`, where `since`\nis inclusive Unix seconds and the returned cursor combines `updatedAt` and `rfqId`.\n`getAllRfqSwaps()`, `rfqSwapActivityInputs()`, and the\nwallet's full `getActivityHistory()` still return complete arrays and should not be used for million-row\nhistory displays. IndexedDB upgrades its RFQ store from version 3 to 4 to add the page index; the\nupgrade preserves records but an older package opening that same database name cannot roll back.\n\n**Two sinks, and both gate.** With a repository wired the canonical `RfqSwapRecord` is written\nfirst, then `saveSwap` if one is installed, and the pass counts as persisted only when both\nsucceeded — which is exactly today's rule for `saveSwap`, applied to whichever sinks exist. A\nrejection from either leaves the record dirty and monitored, so waiters stay unsettled and a\nterminal swap is not finalized until the write it claims lands. A failed canonical write skips\n`saveSwap` entirely: projecting a state the record of record has just refused would put the\nsecondary sink ahead of the primary. If your `saveSwap` writes that same repository by hand, delete\nthe duplicate when you wire the dep — otherwise every pass writes twice — and keep the callback for\ngenuinely secondary sinks. With neither wired, state stays in memory and dies with the process.\n\n**Terminal records name the transaction that ended them.** `RfqSwap.lockupSpendArkTxids` is\nstamped from the chain read that resolved the swap — the solver's claim on a send leg, its reclaim\non a receive one, the trader's own claim when a receive settles. Nothing local produces those\ntransactions, so no other field can name them, and without the stamp the only way to find them is\nanother lockup read per terminal swap. Absent when the indexer named the checkpoint but not the ark\ntransaction: fewer txids beats a wrong one.\n\n`preimageForSwapRecord` is the read path to wire, not a hand-rolled `contractPreimage` call: it\nknows which of the record's fields are derivation inputs, and it verifies the result against\n`paymentHash`. A caller that forgets to pass the salt gets a _wrong_ preimage from a wallet that can\nderive, not an error — and that surfaces as an opaque script failure at claim time.\n\nEvery refusal is a `PreimageNotRecoverableError` carrying a `reason`: `no-secrets` (the record\npredates the descriptor), `malformed-record`, `not-derivable` (nothing to derive from, or a key this\nwallet does not hold), or `hash-mismatch` (derived, but wrong — a tampered salt or the wrong seed).\nBranch on `reason`, never on message text. It is deliberately **not**\n`RefundNotLocallyPossibleError`: that one means no local refund is possible and `RfqSwapManager`\nreports `needs_counterparty` for it, which is a different verdict from a claim-path read failing.\n\nA caller-supplied preimage keeps `signingDescriptor` for the sender key and stores only\n`preimageHex` as secret material.\n\nOn an HD wallet each swap **allocates** its own descriptor rather than peeking at the current one:\ntwo swaps sharing a descriptor derive the _identical_ preimage, so one solver learning its own\npreimage would learn the other swap's. (Static wallets share their one descriptor by design — the\nper-swap salt is what separates their preimages instead.) On restore, `adoptContractDescriptor`\n(from `@arkade-os/sdk`) moves the wallet's watermark past a restored record's index so it cannot be\nhanded out twice; a static descriptor names no index and adopts as a no-op.\n\nTwo derivations, picked by the descriptor's shape:\n\n```\nHD child      sha256(sign_det(sha256(\"Arkade-RFQ-Preimage-v1\"             ‖ xonly(32) ‖ u32le(0))))\nstatic/salted sha256(sign_det(sha256(\"Arkade-Contract-Preimage-Salted-v1\" ‖ xonly(32) ‖ salt(32))))\n```\n\nThe first mirrors NArk's Boltz scheme (`SwapsManagementService.cs:128-160`) with an RFQ-scoped tag.\nNArk has no RFQ corridor yet, so this tag defines the scheme rather than matching one; it is\ndeliberately distinct from the Boltz tag so one wallet key cannot derive the same preimage for both\ncorridors.\n\nThe salted tag is corridor-generic where the first is not, and that asymmetry is deliberate: the v1\ntags must be per-corridor because v1 pins its message index, leaving the tag as the only separation\nbetween two corridors reaching the same key. The salted form mints a fresh salt per swap, so no two\nswaps share a message within a corridor or across two — the salt carries the separation, and the tag\nnames the layer rather than the corridor.\n\n**Not covered:** seed-only discovery after the swap repository is wiped. An unspent L1 HTLC reveals\ntoo little public quote data to rediscover, so the record remains required.\n\n**Gap-limit interaction:** every swap request — including one whose quote is refused — consumes one\nindex from the wallet's receive stream, and a swap index never becomes a funded receive contract,\nso it looks _unused_ to a seed-only `restore()` gap scan. Many consecutive swap allocations between\ntwo funded receive indices can therefore exceed the scan's `gapLimit` (default 20) and stop it\nbefore later-funded addresses are found. Keep the swap repository in backups (restore then adopts\neach record's descriptor via `adoptContractDescriptor`), or raise `gapLimit` on seed-only restores\nafter heavy swap use.\n\n## Upgrading from 0.0.3\n\n0.0.1–0.0.3 are published. Under npm's 0.0.x rules `^0.0.3` resolves to exactly 0.0.3, so nothing\nauto-upgrades into the changes below — but a consumer that does upgrade meets them all in one jump,\nso they are written as one migration rather than per-release fragments.\n\n**Key provisioning moved into the SDK.** `packages/swap/src/secrets.ts` is gone. `deriveSwapSecrets`,\n`randomSwapSecrets`, `preimageForRfqSecrets`, `senderIdentityForRfqSecrets`, `rfqSecretsToRecord`,\n`rfqSecretsOfRecord`, `isPerSwapDescriptor`, `RFQ_PREIMAGE_TAG` and `SwapSecrets` no longer exist.\nImport `provisionRefundKey`, `provisionClaimSecret`, `contractSigner`, `contractPreimage`,\n`isPerArtifactDescriptor` and `ARKADE_SWAP_PREIMAGE_TAG` from `@arkade-os/sdk` instead;\n`swapSecretsToRecord` and `senderIdentityForSwapRecord` stay in this package. No consumer branches\non wallet type any more, and no swap record can carry a private key.\n\n**`contractPreimage` takes an options object.** `contractPreimage(wallet, descriptor, stored?)`\nbecame `contractPreimage(wallet, descriptor, { stored?, salt? })`. Prefer `preimageForSwapRecord`,\nwhich reads both fields off the record and verifies against `paymentHash`.\n\n**Static wallets derive their preimage instead of storing it.** New records from such wallets carry\n`preimageSaltHex` and no `preimageHex`; `mustPersistPreimage` is now `false` for them, so the\n\"persist the preimage\" warning stops firing. Nothing at rest is secret unless the signer cannot sign\ndeterministically at all.\n\n**`AssetSwap` gains `preimageSaltHex?`, and `AssetSwapRepository.version` is `2`.** External\nrepository implementations must recompile — deliberately, because a field-mapped backend that drops\n`preimageSaltHex` leaves the swap unclaimable exactly as one dropping `preimageHex` does. Records\nwritten by 0.0.1–0.0.3 need no rewrite and no migration: the field is optional, older rows resolve\nthrough their stored `preimageHex` or their HD descriptor, and `DB_VERSION` is unchanged.\n\n## Breaking changes on this branch (pre-release migration notes)\n\nNotes from before 0.0.1, kept for consumers who tracked the branch.\n\n- **`refundIfUnresolved` reports an exited lockup, and its input gained `paymentHash`.**\n  `RefundOutcome` has a new `{ outcome: \"exited\"; outpoints; status }` variant: a lockup whose\n  outputs were unilaterally exited lives onchain under the VHTLC script, where no offchain refund\n  reaches it. It used to come back as `nothing_to_refund`, which reads as \"already resolved\" over\n  money still sitting at the script — the swept case gets `needs_recovery` for the same reason, and\n  this is deliberately **not** that variant: recovery into a fresh batch is a spend no batch can\n  make for an onchain output. Complete the unroll and spend the outputs onchain instead.\n\n  Two required changes for direct callers. The input gains **`paymentHash`** (`sha256(P)` hex — the\n  quote's `payment_hash`, which callers already hold): the exit is read through `readLockupFate`,\n  and the VHTLC script cannot supply it, since its `preimageHash` is a `hash160` of the same secret.\n  And the `indexer` parameter widened from `RefundIndexer` to **`LockupSpendIndexer`**, so it must\n  now carry `getVirtualTxs` as well as `getVtxos` — a real `RestIndexerProvider` already does.\n\n  A lockup funded in two sends of which only one exited reports `exited` for the whole thing and\n  leaves the live half unrefunded. That matches `RfqSwapManager`, which reports the same lockup\n  `exited` on the same any-output rule; the two must not disagree.\n- **`RfqSwapManager` can own its own persistence.** New optional\n  `RfqSwapManagerDeps.repository`, new `restoreFromRepository()` and `pruneRetiredSwaps()`, and\n  `addSwap(swap, origin?)` gains an optional second argument. Nothing narrows and nothing is\n  removed, so no existing caller changes: without a repository the manager persists through\n  `saveSwap` exactly as before. Two things to know if you wire it. `saveSwap` becomes a **second**\n  sink rather than the only one — it still gates waiters and finalization, so its semantics are\n  unchanged, but a callback that writes the same repository by hand now double-writes and should\n  drop the duplicate. And `addSwap` for a swap the store has never seen throws\n  `RfqSwapOriginRequired` unless you pass its origin, which is the only way its first record can be\n  written at all.\n- **`saveSwap` is optional at installation**, alongside the two claims — the same\n  `AvailableRfqSwapManagerCallbacks` relaxation extended one field. Omit it with a repository wired\n  and the record store is the only sink; omit both and state is process-local, which is what a\n  manager with no callbacks already did.\n- **`RfqSwap` and `RfqSwapRecord` gained `lockupSpendArkTxids?: string[]`** — the ark transactions\n  that spent the lockup, stamped by the manager from the chain read that ended the swap. Optional\n  and additive: no repository version bump, and a backend storing records whole already carries it.\n- **`RfqSwapState`, `RFQ_SWAP_TERMINAL_STATES` and `isRfqSwapTerminal` moved to\n  `src/rfqSwapState.ts`** so the record layer can read them without importing the manager at\n  runtime. `swapManager.ts` re-exports all three and the package entry point is unchanged, so no\n  import path breaks.\n- **`rfqSwapOriginOf(record)` is new** — a record's immutable half on its own. A record *is* an\n  origin plus manager state, so passing one where an origin is wanted type-checks and quietly\n  carries the old `failure`, `blockedReason` and `refundArkTxid` past `managerState`, which can\n  only set those fields and never clear them. Use this instead of spreading the record.\n- **`arkadeRefunder({ ark, indexer, wallet, repository })` ships the `refundArkade` wiring** that\n  was prose in two places. New export, nothing removed.\n- **`rfqSwapActivityInputs({ repository, indexer })` derives `SwapActivityInput[]` from the record\n  store** — the correlation helper `activity.ts` promised. `SwapActivityInput[\"kind\"]` is now\n  `RfqSwapRecord[\"kind\"]` rather than a literal union repeating it; source-compatible. Corridor\n  handlers gained an optional `activityTxids(profile)` so a leg's own claim txid comes from the\n  handler instead of a kind switch. The `indexer` is optional and consulted only for what a record\n  cannot answer: a record predating `fundingArkTxid`, and the counterparty's spend on a swap no\n  refund of ours ended. An unreachable indexer costs that record its extra txids, never a throw.\n- **`setCallbacks` takes `AvailableRfqSwapManagerCallbacks`** — `RfqSwapManagerCallbacks` with the\n  two kind-gated claims optional. Nothing breaks: the strict interface is untouched and the widened\n  parameter accepts every existing caller. A consumer driving one kind stops stubbing the claims it\n  cannot reach; in exchange, a missing claim blocks at runtime (`needs_counterparty`, non-terminal)\n  instead of being unrepresentable.\n- **The repository interface is at version `4`.** It gained\n  `getRfqSwap(rfqId): Promise<RfqSwapRecord | undefined>` — every backend is already keyed by\n  `rfqId`, so a consumer updating one record no longer scans them all. A miss returns `undefined`;\n  a record can be absent after an explicit removal. All four in-tree backends implement it\n  and `DB_VERSION` is unchanged; a custom implementor adds the two-line read and bumps its own\n  `version` to `4`.\n- **`RfqSwapOrigin` gained `fundingArkTxid?`** — the ark transaction that funded the lockup. It is\n  origin, not manager state: the caller broadcasts the funding and knows the txid, while the manager\n  watches the lockup by script and never learns it. Optional and stored whole, so no migration.\n  Consumers stashing it in `profile` should move it: `profile` is merged as\n  `{ ...profile, ...handler.project(swap) }` on every write, so a key a corridor also projects is\n  silently overwritten.\n- **`readLockupFate` names the spends it observed.** `claimed` and `returned` now carry\n  `spends: readonly LockupSpend[]`, one per spent lockup output, with the `checkpointTxid` that\n  `spentBy` names and the `arkTxid` that rode it. History correlation wants `arkTxid`; the\n  checkpoint txid is the wrong value to correlate on alone. `unknown` and `open` claim no spend.\n\n- **Every derived address changed again, in both corridors — the unilateral ladder was re-spaced.**\n  `unilateralRefundDelay` now sits **level with** `claimDelay` instead of one 512s step above it,\n  and `unilateralRefundWithoutReceiverDelay` sits `SOLO_REFUND_HEADROOM_SECONDS` (4096s, newly\n  exported) above it instead of two steps. The old ladder spaced all three leaves one step apart as\n  though they were interchangeable rungs; they are not. Only `unilateralRefundWithoutReceiver` is a\n  solo path for the funder, so it is the only one whose timing can steal, and one 512s tick was\n  never enough for a claimant to complete a unilateral exit in. The two-signature refund needs no\n  separation at all, since neither party can spend that leaf alone. This tracks the reference\n  solver's [lightning-swap-service#81](https://github.com/arkade-os/lightning-swap-service/pull/81);\n  the two derivations must produce **the same three delay values** for the same operator, which is\n  what keeps the derived addresses identical. **Deployment must be coordinated** on the same terms\n  as the entry below: for a quote not yet funded, a mismatch refuses it at `verifyLockupAddress`\n  rather than losing funds.\n\n  **An in-flight lockup funded before the upgrade needs care, and the entry below understates\n  this.** The delays are not quote fields and are not persisted on the swap record\n  (`AssetSwap` keeps `swapPkScript`, not `claimDelay`), and `RfqSwap`'s own doc tells callers to\n  *rebuild* the script on restart from the quote's binding fields — which re-derives the delays\n  under whatever ladder is compiled in. So a trader who funded on `0.0.4`, upgraded, and restarted\n  rebuilds a **new** address, and `refundIfUnresolved` finds no VTXOs there and returns\n  `nothing_to_refund` — a terminal-sounding answer for money still locked at the old script, with\n  `refundLocktime` still ticking. Until the delays are persisted and rebuilt from the stored value,\n  drain in-flight lockups before upgrading, or rebuild the old script from the pre-upgrade delays\n  by hand. This is a pre-existing gap that any address-moving change hits, not one this change\n  introduces.\n\n  `unilateralClaimDelay`'s BIP68 ceiling tightened to reserve the full headroom rather than two\n  steps. Note this guard alone is **not** mirrored in the reference solver, which still rejects\n  only above `0xffff * 512`: for an operator `unilateralExitDelay` in `(33549824, 33553920]`\n  seconds the trader throws here while the solver quotes and then fails deeper in its own script\n  build. Both refuse, at different seams with different messages, so it is a diagnosability wart\n  rather than a fund risk — and the window is unreachable in practice (~388 days).\n\n- **`secrets.ts` is gone; key provisioning moved into `@arkade-os/sdk`.** This package no longer\n  derives, mints, or names keys. It asks the SDK for what the leg needs — `provisionRefundKey(wallet)`\n  for a leg it funds, `provisionClaimSecret(wallet, { preimage? })` for one it claims — and\n  recovers with `contractSigner(wallet, descriptor)` / `contractPreimage(wallet, descriptor,\nstored?)`. The returned `ProvisionedKey` / `ProvisionedClaimSecret` replace `SwapSecrets`, and\n  `descriptor` replaces `signingDescriptor` on them. Removed from this package with no\n  replacement here: `deriveSwapSecrets`, `randomSwapSecrets`, `senderPubkeyForRfqSecrets`,\n  `preimageForRfqSecrets`, `senderIdentityForRfqSecrets`, `isPerSwapDescriptor`, `derivePreimage`,\n  `buildPreimageMessage`, `RFQ_PREIMAGE_TAG`, `isDeterministicSigner`, `adoptSwapDescriptor` (now\n  `adoptContractDescriptor` in the SDK), `SwapSecrets` / `DerivedSwapSecrets` /\n  `StoredSwapSecrets`, and `rfqSecretsToRecord` / `rfqSecretsOfRecord` — persist a provisioned\n  secret with **`swapSecretsToRecord`** from `store` instead, and read P back with\n  `contractPreimage`. `RefundNotLocallyPossibleError` and `senderIdentityForSwapRecord` stay here\n  (now in `refundBlocked.ts`): they are swap lifecycle, not key provisioning.\n- **No swap record can carry a private key.** `AssetSwap.fallbackSecrets` and the\n  `AssetSwapFallbackSecrets` types are deleted rather than kept readable, and `preimageHex` — set\n  only when the wallet reports `mustPersistPreimage` — is the record's one secret field. A record\n  written by 0.0.1–0.0.3 carries no `signingDescriptor`, so `senderIdentityForSwapRecord` refuses\n  it with `no-secrets` rather than silently mis-signing; those versions shipped before any\n  consumer, which is the window for doing this without a secret migration.\n- **`requestLightningSend` / `requestOnchainSend` return `secrets`, not top-level raw key material.**\n  `senderPrivateKey` is gone from both return types; caller-owned onchain preimages live inside\n  `secrets` and must be persisted with the record. `pushRefundWithoutReceiver` /\n  `refundIfUnresolved` take `sender: Identity` instead of `senderPrivateKey: Uint8Array` — build\n  it from the record with `senderIdentityForSwapRecord`, which is what keeps a wallet that cannot\n  sign reporting `RefundNotLocallyPossibleError` rather than a `TypeError` at the push site.\n  `AssetSwap` gains `signingDescriptor?` and `preimageHex?`.\n- **Every derived address changed, in both corridors.** The lightning-send lockup moved from the\n  3-leaf program-artifact VHTLC to the 8-leaf `VHTLC.ScriptV2` (non-interactive claim and refund\n  leaves), and the L1 HTLC's claim leaf gained a `SIZE 32 EQUALVERIFY` preimage-length guard. Both\n  are pinned by golden tests (`test/rfq.test.ts`, `test/onchainHtlc.test.ts`). **Deployment must be\n  coordinated:** trader and solver derive the lockup independently and compare (`lockup_address` /\n  `htlc_address` are compare-only), so a version mismatch does not lose funds — it refuses every\n  quote at `verifyLockupAddress`. Upgrade both sides before expecting fills.\n- **`cancelOffer` and `restoreAssetSwaps` take an options object.** `cancelOffer(wallet, url,\nofferHex, { repository, fundingTxid?, swapAddress? })` — the repository is required because the\n  call now records its own outcome. `restoreAssetSwaps(indexer, txs, existingIds, { serverPubkey,\nscanned? })` — the server key is required because a spend is classified by rebuilding the\n  covenant and matching the leaf it took.\n- **`isCancelSpend` is gone**, replaced by `classifySpend`, and `Tx.assets` with it. The old test\n  read what a transaction moved, which a wallet reports as a _net_ delta: once the deposit is a\n  registered contract, an asset offer's cancel moves the asset out and back, nets to zero, and is\n  indistinguishable from a fill. Leaves have no such failure mode.\n- **A spend that cannot be classified is no longer restored as `fulfilled`.** It leaves the funding\n  txid unanswered so a later scan decides it. Records are never written on a guess.\n- **`AssetSwap` gained `signingDescriptor?`**, and `preimageHex` now means \"P that cannot be\n  re-derived\" — caller-supplied, or minted for a static descriptor. A field-mapped backend must\n  persist the record whole: silently dropping `preimageHex` leaves a static swap permanently\n  unclaimable.\n- **The repository interface is at version `3`.** It gained `saveRfqSwap` / `getAllRfqSwaps` /\n  `removeRfqSwap` for monitored RFQ swaps, and the IndexedDB backend a matching `rfqSwaps` object\n  store at `DB_VERSION` 2. Version `2` was the shape 0.0.5 released — swaps, scan cursor, markets,\n  with `preimageSaltHex` on the swap record — and `DB_VERSION` was 1 there, so this is the database's\n  first version increase. The bump is deliberate: an implementor must acknowledge the new methods\n  rather than silently satisfy an older shape. Existing databases upgrade in place: the new store is\n  added and the three original ones are untouched. **`DB_VERSION` 2 is a one-way door** — a browser\n  whose database has upgraded cannot be rolled back to 0.0.5, which opens it at version 1 and fails\n  `VersionError` across the whole swap store, not just the RFQ half. Store RFQ records whole for the\n  same reason as above: what is in one is what nothing else can recover — the","readmeFilename":"README.md"}