{"_id":"@circle-fin/swap-kit","_rev":"36-eced283f1c2ddadb53d4586d823bc92d","name":"@circle-fin/swap-kit","dist-tags":{"latest":"1.7.0"},"versions":{"1.0.0":{"name":"@circle-fin/swap-kit","version":"1.0.0","_id":"@circle-fin/swap-kit@1.0.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"c69cd3f1ea4545b856865023e2350a2ad455d06c","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.0.0.tgz","fileCount":9,"integrity":"sha512-pxK+YDNNR3vDW9GOi2cRLKj1Iu/EdFSFGQsCCjUDfv5se2MC4YdZ+cXMBvGUnJbgS3bmzSwZqtOhUJdfCD6JzQ==","signatures":[{"sig":"MEYCIQCSI8VTfqPLW5GA2c3CRhh4i7w8u+WDY0/yY6VutNXsiAIhAJ9YF4CZHRT1wlSwrZRSLTFb1I3Wy+g9hG8DYPkvCQRc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1536030},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"e92a6d718de13a37fb56100cd3cf875e18aba81c","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.4","description":"SDK for seamless token swaps","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.0.0"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.0.0_1773791990046_0.724019523206906","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@circle-fin/swap-kit","version":"1.0.1","_id":"@circle-fin/swap-kit@1.0.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"8d7be96f35aac43d58bfee8da620191400f7ac58","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.0.1.tgz","fileCount":9,"integrity":"sha512-0EILyv/Z1ZZUFJJJqrp3UAzFP61qPP7Gisl2CAzMisWhtmRP01xy4JWvM8nnwgeBJ2GJcmRXjFLwwdn0EecEAg==","signatures":[{"sig":"MEQCIH2epctAFPO733gxKczBp5mBMvme3q9y/IaVltZSVHkRAiBkQ7gfn6ubmumYmMQGBYaRJwZ+aQo+9hRGmOqFGV0a7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1547797},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"da2a241ccb420f4c40b52f5f2c4ccaa3a61efad6","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.4","description":"SDK for seamless token swaps","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.0.1"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.0.1_1774042706175_0.30204145159551343","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@circle-fin/swap-kit","version":"1.0.2","_id":"@circle-fin/swap-kit@1.0.2","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"c50ac59610946babc624e4d653aeb1149284e1ba","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.0.2.tgz","fileCount":9,"integrity":"sha512-8nWl1+HyF01Ng9CIV+zkcDW7wqQvHXGK++fnlyA6gU+kAkRcuRHfx5L/JaHto9kpWF88IEZEpOK2OeRgSwh6oQ==","signatures":[{"sig":"MEUCIDhVQEdy1QCvhIftK2ddYd22fR6H1/2Kz0T/VzTdhX3sAiEA4uqKQtQ6kR1/l2x7GlHnHVlOaXrCxy+avCjd957tAxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1549924},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"71eb251b09def4446f2e98842e551cfec2a3558f","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"SDK for seamless token swaps","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.0.2"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.0.2_1774883562199_0.17892863558094874","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@circle-fin/swap-kit","version":"1.0.3","_id":"@circle-fin/swap-kit@1.0.3","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"9d663187a27fac030e57e08ccdfdb603cd9a4ffb","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.0.3.tgz","fileCount":9,"integrity":"sha512-pxT9FVqGKDFurN/kKeYYl0eM2TZdMigt02ZdS49gLiJv2F0h1mLoTz2KwidWzexliBlNP4gzNN9agkay3C61eQ==","signatures":[{"sig":"MEYCIQDllUu9rpSeBVpH0QnbZhF+pxm2BB5Dm5r3hrs/f3BF2AIhANnVYizipA32T4Lb72rxhkNWxJo/WqE2hhBFugtK29ZR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1550002},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1360ab07a58d9150c35683182060dc417bcae6df","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"SDK for seamless token swaps","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.0.3"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.0.3_1775246741841_0.2756175564843948","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@circle-fin/swap-kit","version":"1.1.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.1.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"517aa23e60fe902c51f02f6368357d2778365471","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.1.0.tgz","fileCount":9,"integrity":"sha512-7t39mfpJKyZ/v/No8jPxHTf41WGRNzsZGbqVKRRUH0d5erJgo9nP8N4TP0d8M1V9kShfDW07JMKdq6c6H6XcfQ==","signatures":[{"sig":"MEUCIQCqafwcCUlEDV/pi+zqMjWH1pN2bZCPpvF2aUgAaHd18AIgGLlfwPVZ+VUIwFYz1bBJAfIYNW4axyRVCNOrg+t8kDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1573552},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"fb7023b2d68e64780339930381ed2330be282f71","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.1.0"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.1.0_1775771526586_0.5338626030648057","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@circle-fin/swap-kit","version":"1.1.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.1.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"4e55548fbde95b04031f971ffe2c4ac6ab544bec","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.1.1.tgz","fileCount":9,"integrity":"sha512-sUfJfKRyI7A2jMAy6hTAMirmtaGAJJUbHN0pFH7fioGKSHvoAj/F74X3YwIJGVwFkCcKANgkk8gZFkhUq9Syeg==","signatures":[{"sig":"MEYCIQC4vdw3qtOFC9LFY5654Ia2R7+JVRpmxnoAH3p7sLxzDAIhAJJv+RVPj3AZYiQx+qBCJUBQk+rFncRNjfWcPQGd/eaN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1646291},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1618ab7a978fadeb57af7a87a42d535b4b6fd82f","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.1.1"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.1.1_1777964467962_0.017093614657909706","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@circle-fin/swap-kit","version":"1.2.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.2.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"jasperkim_crcl","email":"jasper.kim@circle.com"},{"name":"haommmmmm","email":"hao.min@circle.com"},{"name":"han.chen.circle","email":"han.chen@circle.com"},{"name":"bagarwal_crcl","email":"bhushit.agarwal@circle.com"},{"name":"charleszzz_circle","email":"charles.zhang@circle.com"},{"name":"yingyingzhengcrcl","email":"yingying.zheng+1@circle.com"},{"name":"ariayhu","email":"yue.hu@circle.com"},{"name":"elvin-circle","email":"elvin.du@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"030fede9b7fb4f902edc13e3c07dc7dda3306c12","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.2.0.tgz","fileCount":9,"integrity":"sha512-U3JUdWiGIzjskjO2FKAd8vXTR+HkM23i7xUj/8VnLoysiEzamcUAra7+DsxAr7GExvjZ5LzS57+ZE5WMjDwCHA==","signatures":[{"sig":"MEQCIEj7HBr5cEF50YFviMe1NijXzJPQZIPVWeY4/EgYj4eyAiBeZe7sWWrWZL1but+oiziwFOk+mbN6w9kdLmwG9aDIhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1672010},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"4c80435b3db3e481c813002f5da48736e8763842","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.1.2"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.2.0_1778289322486_0.5898632544224909","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@circle-fin/swap-kit","version":"1.2.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.2.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"jasperkim_crcl","email":"jasper.kim@circle.com"},{"name":"haommmmmm","email":"hao.min@circle.com"},{"name":"han.chen.circle","email":"han.chen@circle.com"},{"name":"bagarwal_crcl","email":"bhushit.agarwal@circle.com"},{"name":"litao110102","email":"li.tao+2@circle.com"},{"name":"charleszzz_circle","email":"charles.zhang@circle.com"},{"name":"yingyingzhengcrcl","email":"yingying.zheng+1@circle.com"},{"name":"ariayhu","email":"yue.hu@circle.com"},{"name":"elvin-circle","email":"elvin.du@circle.com"},{"name":"mayuroza","email":"mayur.oza@circle.com"},{"name":"harshalbhangale-crcl","email":"harshal.bhangale@circle.com"},{"name":"bipul-sinha_crcl","email":"bipul.sinha@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"300c385987c035f64fae2fefe2c32bc8927def1f","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.2.1.tgz","fileCount":9,"integrity":"sha512-znPlYycF/F/kXh8BAO0DQ5EifPfWb2Hq+e5JZUFML/6q9m7AyXduPy/UfG/7Y+rgphO1JwbSG7xXTVcVQkD8sw==","signatures":[{"sig":"MEUCIDaPlho+yeUmJvyt1pDnrwfmSz1QMhxN46/ACzcPNq1bAiEA4L6f0C3sa/3R3Gy9tjdh3cDSJFfLJ1a44PIjaNLp6BM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1672151},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"d745ff14913dffb58d4349485768042779986043","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.1.3"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.2.1_1778722689404_0.040630434298900564","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@circle-fin/swap-kit","version":"1.2.2","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.2.2","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"620a25dda629f8e16cbd9f82c1826192110e2915","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.2.2.tgz","fileCount":9,"integrity":"sha512-Abr6D1vWqz71lxihvClWV0vhNsIk4y2nuwR7UG/S8cNV831rMrKRWznPfcJ5vSZsgJHOYuO/FLCvL3J5jnl3LQ==","signatures":[{"sig":"MEUCIEFrBKOSEDenAflGFORAmBpJlaKs/ajrT1nKUmB4SRZrAiEAlD4QNtfEIEyftcXD/JqbBTuJpC0RyNDtjjATRugP5ps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1678267},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"77d189653ad962bf6825e459fa9f2a2a9fddfa78","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.1.4"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.2.2_1779147290102_0.6000391242549927","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@circle-fin/swap-kit","version":"1.2.3","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.2.3","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"4dd34f8b741f1a809a9ed4928b15419895ec46aa","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.2.3.tgz","fileCount":9,"integrity":"sha512-m+Bby+WuPpQ9RPXVJLs2D5PZRL9YhPvt81iOirAd+y/Laylixfx2hqJlCH+XMdXARjyVte5Q0xSuo+b9hLm1zA==","signatures":[{"sig":"MEUCIQCh3YJ2qaM6wOcvkx72AsZyPE+41+iqwNoDytGluY4uIwIgTj1rt1kDJhcD5lgULqKdR7Vacp+qGTDbPiazz3OVtCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1680952},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"bf5ce2b0de083a0f78b4474b8fd466e80c9f9149","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.1.5"},"publishConfig":{"access":"public","directory":"../../dist/kits/swap-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.2.3_1780010114003_0.5801529310861118","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@circle-fin/swap-kit","version":"1.3.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.3.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"ae8bf5ceb5f27363b46842f401524ecbbc849df6","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.3.0.tgz","fileCount":11,"integrity":"sha512-BmVfCHI5ZPYWxqyU6GwnE4HZvdJSzUlHQW/wtivb04kHDsR5zKMzjl3NBfp0PBCw+nRogrYyyL7U4Ka2p8TU3w==","signatures":[{"sig":"MEQCIFPl6Ts7aS79hCBJ6K8VEJHCKbmMkDwGT2UoADWN+2hjAiAMJ+213D5WGYATZv5XzeY7uvHQB1lVZAn/KvsmE+xirg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2499266},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1240b913d570266a456f694a4c404f898e3971ac","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.3.0_1782258217482_0.5226905360860346","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@circle-fin/swap-kit","version":"1.3.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.3.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"760bb27263c83462cdc53511047e9e05487a34f2","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.3.1.tgz","fileCount":11,"integrity":"sha512-RWofqWynS9uSc5J5uS9ZHCaSsLrRIXeRCIAG6nO3y1x38NUljW7YhTSXCzg/OKmIZjOp4Wmpgnm2ezWSqH3epw==","signatures":[{"sig":"MEQCIDNhG9UHtl9qOlw2ni0hpwg1izXZnkMh0GLPVme6mMP8AiBm3SZnnRy8ZsJuHjHBJMKl1lzjLUZx3qbpvf9SOiEacw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2505551},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1b8bfa2935cce6a2d20990f42432d3887f77139d","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.3.1_1782328555267_0.29617127881681515","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@circle-fin/swap-kit","version":"1.3.2","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.3.2","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"e54a153837dbb6df3bf684d0c20aec324d2300cf","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.3.2.tgz","fileCount":11,"integrity":"sha512-fczRJPY6L8To74oQCOp+REFD12vdi1v0gh6tk011OZghGU1ixAY395iiCnYJHy5GFO6LsQhQ8YC+UzqNsrQ+dw==","signatures":[{"sig":"MEUCIQD3ODDlRReJJ+b+5Sm5TJNvWtWCUmxVaOhJFlTVrgjxHAIgY2TbcbjZAXm6dD9H7jnU4eA1Cl6ZaGYg66o1v7yBQqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2512206},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"be9a2da6f763f149630c6c13c5c1f55ff41e088a","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.3.2_1783370813369_0.23451428540567298","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@circle-fin/swap-kit","version":"1.4.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.4.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"274e72a9bc17789b4dbd8e257791a7cffbcdc383","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.4.0.tgz","fileCount":11,"integrity":"sha512-GA7khC0R3KSydXAPxFp0MCLkrGOSqT9Isfw1VZP7v985K1NRNj5R8w7cgiDUr3fAGkpQIA2o5Kk0sVy1jXdeKA==","signatures":[{"sig":"MEQCIHk3mtK4ePL39eFh8jKoJIIDB0HyKnBFfiDC1ENOWBRJAiB1yXmkObuxwEfdi4wIcXCg97Huyvv567bOrVobdOBp7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2590036},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"903f729eda4c4daaa041a973d74e885cd5f28d30","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.4.0_1784139162439_0.20444990425884035","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@circle-fin/swap-kit","version":"1.5.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.5.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"a8c06db0c0de1f000dd48b5268af110c53f50821","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.5.0.tgz","fileCount":11,"integrity":"sha512-0qlHZgOmGfkowH88cp/8M9K4NQUBW3elgUofncaz86I1na9zkJfYTo/ROwH759e4PNcfmF7NuR+3lVTRrI+Faw==","signatures":[{"sig":"MEUCIHlVDeTsln1nT54YMuK8w5XX10E6pg6nT1dzZRn/BpgWAiEAg7ujG/01EkjO9g4bvlUa16iY6fUC6YdT6gsibEUfxtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2616634},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"191745f9068376056e144e612e74cdd68747fb32","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.5.0_1785274087628_0.6317868804831999","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@circle-fin/swap-kit","version":"1.5.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.5.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"7c9e43cac25ce023364795655600b1219672ad93","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.5.1.tgz","fileCount":11,"integrity":"sha512-Tsk5bboQ50wPU655NnpymYbO9PIbXcleDWrIbsLrX/NmN7sp5LyX5ZcAEKzLNJ5XBvuJSFhLnGpbqbL69KzmeQ==","signatures":[{"sig":"MEUCIQCvbC01qQH+41vgD6+fdU11HOi9SOioyUfcKXjWtwDM5AIgb0S4GCI3vzyUBfWF1nU1/enmg1K6TBDLsWHCueJSaGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2624081},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"789a49161025a99df1950726437b252becea64bc","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.5.1_1786132759231_0.23048186578012442","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@circle-fin/swap-kit","version":"1.5.2","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.5.2","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"ab3941be4806e8030ee0589fb05d45fa282e7e58","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.5.2.tgz","fileCount":11,"integrity":"sha512-uwo/herS95NC5ul47jNFBjP8E/jPSLnFRUoCmpxCA9OEGQIG8sBU8Wa5hgJqN00Oei7J3BUAKieuCtANIrvXgg==","signatures":[{"sig":"MEQCIE1Y64wwe8w8/NTTZDQGoJODMXZIuZOssqGu8pZRn/FDAiBtZ5O1mvZfaO6koHjFN+maKP14qmuZmYuNyDBAKEC37w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2647870},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"bd2baaedcf8710331a7641968a8382ecd33ef242","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.5.2_1787268341796_0.11218263963481778","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@circle-fin/swap-kit","version":"1.6.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.6.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"958d5f3e4419273013c81ec9b10417c90c086066","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.6.0.tgz","fileCount":11,"integrity":"sha512-QYWWUuAEx4mKU20IPztfmzIyTvj39t9bNUQOX2WbBVeQxZU5AKaw4qzig414LEVNvTROKFpWHLrp8tGP/4hNpA==","signatures":[{"sig":"MEUCIQCCI1P9bGTpWwV2GSosAK4CuYG2/WRQhzBlXq63wWoaSQIgBXx1lgs5fpMuZQryE3GnbKr9J30faoHJcI+xw6Rq+Ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2677492},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"d9855bd5f7195ee1b91920206108a9995ff6fa80","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.6.0_1787932908605_0.789564531892841","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@circle-fin/swap-kit","version":"1.6.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/swap-kit@1.6.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"f28a03675708af4d1f8e5d6be05707c5daf19b6d","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.6.1.tgz","fileCount":11,"integrity":"sha512-5Guc3K2mO882XLoX+PMY+nHMIjH+fURD4SatYRbz3rTwH6y3Fz9fmjCn7TVZHWDqQ9Tij8GEpWTttLyJXupQsQ==","signatures":[{"sig":"MEYCIQDsOGjU3FWBdSA2DHKYvOsfpUmR0LlBXYpk1Ru3XZfvIQIhAPq1IaPTPhhEig3iR6rWQLugwFjQuvYb6BBPCH3QHFqR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2691504},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"c2a7a00c58dbca7a65867370c7626c5394e59e5b","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"A Circle SDK for single-chain token swaps with minimal code","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-stablecoin-service-swap":"^1.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-kit_1.6.1_1788393439031_0.5966349916562816","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@circle-fin/swap-kit","version":"1.7.0","description":"A Circle SDK for single-chain token swaps with minimal code","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"engines":{"node":">=20.0.0"},"main":"./index.cjs","module":"./index.mjs","types":"./index.d.cts","dependencies":{"zod":"3.25.67","@circle-fin/provider-stablecoin-service-swap":"^1.6.0","@coral-xyz/anchor":"^0.31.1","bn.js":"^5.2.3","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","bs58":"6.0.0","@noble/curves":"1.4.2","@ethersproject/abi":"^5.8.0","@ethersproject/address":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0"},"exports":{"./package.json":"./package.json",".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","require":"./index.cjs","default":"./index.cjs"}},"publishConfig":{"access":"public"},"type":"module","sideEffects":false,"_id":"@circle-fin/swap-kit@1.7.0","gitHead":"5aa7ba5ea62678adf92458d83ef5afe1c61f4a41","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-kzACxFS+x7QEtFNE/UBe9A+RjeUDN5vKws6ztXA5XaBlazIqIMQwvXNfAiBlCtBmcYTLihsAKA7RARBiwQ9SaQ==","shasum":"2b28a6989ad555f13787c7c51ae080c1bab067e0","tarball":"https://registry.npmjs.org/@circle-fin/swap-kit/-/swap-kit-1.7.0.tgz","fileCount":11,"unpackedSize":2739437,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCpx/uw+0SMYA18xkc8VI4fGtJ7MslRaU6k2qUez3r/egIgZrhDpC53gE6Wi6uCHr+gtmunGfeg5l0iuHWqAsJ9zl0="}]},"_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"directories":{},"maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/swap-kit_1.7.0_1789519011079_0.814641953316799"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-17T23:59:49.949Z","modified":"2026-09-16T00:36:51.483Z","1.0.0":"2026-03-17T23:59:50.267Z","1.0.1":"2026-03-20T21:38:26.461Z","1.0.2":"2026-03-30T15:12:42.407Z","1.0.3":"2026-04-03T20:05:42.671Z","1.1.0":"2026-04-09T21:52:06.775Z","1.1.1":"2026-05-05T07:01:08.180Z","1.2.0":"2026-05-09T01:15:22.672Z","1.2.1":"2026-05-14T01:38:09.606Z","1.2.2":"2026-05-18T23:34:50.266Z","1.2.3":"2026-05-28T23:15:14.186Z","1.3.0":"2026-06-23T23:43:37.712Z","1.3.1":"2026-06-24T19:15:55.422Z","1.3.2":"2026-07-06T20:46:53.506Z","1.4.0":"2026-07-15T18:12:42.641Z","1.5.0":"2026-07-28T21:28:07.795Z","1.5.1":"2026-08-07T19:59:19.474Z","1.5.2":"2026-08-20T23:25:42.015Z","1.6.0":"2026-08-28T16:01:48.801Z","1.6.1":"2026-09-02T23:57:19.236Z","1.7.0":"2026-09-16T00:36:51.263Z"},"keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","swap-kit","swap","stablecoin-swap","token-swap","usdc-swapping","usdt","dai","evm","non-evm","solana","usdc-sdk"],"description":"A Circle SDK for single-chain token swaps with minimal code","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"readme":"# Swap Kit\n\n<div align=\"center\">\n\n[![npm version](https://badge.fury.io/js/@circle-fin%2Fswap-kit.svg)](https://badge.fury.io/js/@circle-fin%2Fswap-kit)\n[![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue.svg)](https://www.typescriptlang.org/)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Discord](https://img.shields.io/discord/473781666251538452?label=Discord&logo=discord)](https://discord.com/invite/buildoncircle)\n\n**A Circle SDK for single-chain token swaps with minimal code, backed by strong type safety and comprehensive validation.**\n\n_Making swapping as simple as a single function call_\n\n</div>\n\n## Table of Contents\n\n- [Swap Kit](#swap-kit)\n  - [Overview](#overview)\n  - [Installation](#installation)\n  - [Quick Start](#quick-start)\n  - [Configuration](#configuration)\n    - [Custom Fees](#custom-fees)\n    - [Custom Providers (typed)](#custom-providers-typed)\n    - [Swap Configuration Options](#swap-configuration-options)\n    - [Supported Tokens](#supported-tokens)\n    - [Using Native Token](#using-native-token)\n  - [Type Definitions](#type-definitions)\n    - [SwapParams](#swapparams)\n    - [CustomFeePolicy](#customfeepolicy)\n  - [Validation](#validation)\n  - [License](#license)\n  - [Support](#support)\n\n## Overview\n\nSwapKit provides a foundation for building tree-shakeable swap operations with:\n\n- 🔒 **Type Safety**: Full TypeScript support with strict type checking\n- ✅ **Runtime Validation**: Comprehensive Zod schemas for parameter validation\n- 📝 **Rich Documentation**: Complete JSDoc with runnable examples\n- 🎯 **Developer Experience**: IntelliSense support and clear error messages\n- 🔧 **Flexible Configuration**: Customizable fee policies and swap strategies\n\n## Developer Documentation\n\n- [Swap Kit Documentation](https://docs.arc.network/app-kit/swap)\n\n## Installation\n\n```bash\nnpm install @circle-fin/swap-kit\n# or\nyarn add @circle-fin/swap-kit\n```\n\n## Quick Start\n\nSwapKit offers two usage patterns - choose the one that fits your project best:\n\n- Chain selection is constrained to swap-supported networks. Supported chains include\n  mainnet networks with CCTP v2 and at least one supported token (USDC, USDT, EURC,\n  or other registered tokens). Current examples: Ethereum, Base, Polygon, Arbitrum,\n  Optimism, Avalanche, Monad, Solana, and others. Use `getSupportedChains()` to get\n  the complete, up-to-date list.\n\n### Class-Based Usage\n\n```typescript\nimport { SwapKit } from '@circle-fin/swap-kit'\nimport { createViemAdapterFromPrivateKey } from '@circle-fin/adapter-viem-v2'\n\n// Create a SwapKit instance\nconst kit = new SwapKit()\n\n// Create an adapter\nconst adapter = createViemAdapterFromPrivateKey({\n  privateKey: process.env.PRIVATE_KEY,\n})\n\n// Define swap parameters\nconst params = {\n  from: { adapter, chain: 'Ethereum' },\n  tokenIn: 'USDC',\n  tokenOut: 'USDT',\n  amountIn: '100.50',\n  config: {\n    apiKey: process.env.CIRCLE_API_KEY,\n    slippageBps: 300, // 3% slippage tolerance\n    allowanceStrategy: 'permit',\n  },\n}\n\n// Get an estimate\nconst estimate = await kit.estimate(params)\nconsole.log(\n  `Estimated output: ${estimate.estimatedOutput?.amount} ${estimate.estimatedOutput?.token}`,\n)\n\n// Execute the swap\nconst result = await kit.swap(params)\n```\n\n### Functional Usage (Tree-Shakeable)\n\n```typescript\nimport { createSwapKitContext, estimate, swap } from '@circle-fin/swap-kit'\nimport { createViemAdapterFromPrivateKey } from '@circle-fin/adapter-viem-v2'\n\n// Create a swap context\nconst context = createSwapKitContext()\n\n// Create an adapter\nconst adapter = createViemAdapterFromPrivateKey({\n  privateKey: process.env.PRIVATE_KEY,\n})\n\n// Define swap parameters\nconst params = {\n  from: { adapter, chain: 'Ethereum' },\n  tokenIn: 'USDC',\n  tokenOut: 'USDT',\n  amountIn: '100.50',\n  config: {\n    apiKey: process.env.CIRCLE_API_KEY,\n    slippageBps: 300,\n    allowanceStrategy: 'permit',\n  },\n}\n\n// Get an estimate\nconst quoteResult = await estimate(context, params)\nconsole.log(\n  `Estimated output: ${quoteResult.estimatedOutput?.amount} ${quoteResult.estimatedOutput?.token}`,\n)\n\n// Execute the swap\nconst result = await swap(context, params)\n```\n\nBoth patterns provide identical functionality - the class-based approach offers a familiar class-based interface, while the functional approach allows for better tree-shaking and smaller bundle sizes.\n\n## Configuration\n\n## Custom Fees\n\nSwapKit supports two approaches for charging custom developer fees.\n\n### 1. Percentage-Based Fees\n\nFor straightforward percentage-based fees:\n\n```typescript\nawait kit.swap({\n  from: { adapter, chain: Ethereum },\n  tokenIn: 'USDC',\n  tokenOut: 'DAI',\n  amountIn: '100',\n  config: {\n    apiKey: process.env.CIRCLE_API_KEY,\n    customFee: {\n      percentageBps: 1000, // 10% fee (100 = 1%)\n      recipientAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',\n    },\n  },\n})\n```\n\n### 2. Callback-Based Fees\n\nFor complex fee logic:\n\n**Class-Based:**\n\n```typescript\nconst kit = new SwapKit({\n  customFeePolicy: {\n    computeFee: async (ctx) => {\n      // Full context with adapter, chain, tokens, amounts\n      if (ctx.type === 'output') {\n        // Output fee scenario\n        // Access to minAmount and estimatedAmount\n        const user = await getUser(ctx.from.address)\n        if (user.isVIP) {\n          return (parseFloat(ctx.minAmount) * 0.05).toString()\n        }\n        return (parseFloat(ctx.estimatedAmount) * 0.1).toString()\n      }\n\n      // Input fee scenario\n      return (parseFloat(ctx.amountIn) * 0.05).toString()\n    },\n\n    resolveFeeRecipientAddress: (chain, ctx) => {\n      return chain.type === 'solana'\n        ? 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'\n        : '0x1234567890123456789012345678901234567890'\n    },\n  },\n})\n\n// Or set/update it later\nkit.setCustomFeePolicy({\n  computeFee: (ctx) => {\n    if (ctx.from.chain.name === 'Ethereum') {\n      return (parseFloat(ctx.amountIn) * 0.01).toString()\n    }\n    return (parseFloat(ctx.amountIn) * 0.005).toString()\n  },\n  resolveFeeRecipientAddress: (chain) => '0x...',\n})\n\n// Remove the fee policy when needed\nkit.removeCustomFeePolicy()\n```\n\n**Functional:**\n\n```typescript\nimport {\n  createSwapKitContext,\n  setCustomFeePolicy,\n  removeCustomFeePolicy,\n} from '@circle-fin/swap-kit'\n\nconst context = createSwapKitContext({\n  customFeePolicy: {\n    computeFee: async (ctx) => {\n      if (ctx.type === 'output') {\n        return (parseFloat(ctx.estimatedAmount) * 0.1).toString()\n      }\n      return (parseFloat(ctx.amountIn) * 0.05).toString()\n    },\n    resolveFeeRecipientAddress: (chain, ctx) => {\n      return chain.type === 'solana' ? 'Sol...' : '0x...'\n    },\n  },\n})\n\n// Or set/update later\nsetCustomFeePolicy(context, {\n  computeFee: () => '0.05',\n  resolveFeeRecipientAddress: (chain) => '0x...',\n})\n\n// Remove when needed\nremoveCustomFeePolicy(context)\n```\n\n---\n\n### Custom Providers (typed)\n\n```typescript\nimport { createSwapKitContext } from '@circle-fin/swap-kit'\n\nclass ExperimentalSwapProvider {\n  readonly name = 'ExperimentalSwapProvider'\n  // implements SwappingProvider methods (supportsRoute, estimate, swap)\n}\n\nconst extraProviders = [new ExperimentalSwapProvider()] as const\nconst context = createSwapKitContext({ providers: extraProviders })\n\n// TypeScript knows the exact provider types:\ntype RegisteredProviders = typeof context.providers\n//    ^? readonly [...DefaultProviders, ExperimentalSwapProvider]\n```\n\nThe context merges default providers with any custom providers you supply while preserving their literal\ntypes. This keeps `context.providers` strongly typed and ready for future provider integrations.\n\n### Authentication\n\nPass a Circle API key as `config.apiKey` to authenticate service-backed\noperations. Omit it to use the permissionless (keyless) path.\n\n```typescript\nconfig: {\n  apiKey: process.env.CIRCLE_API_KEY, // <ENV>_API_KEY:<keyId>:<keySecret>\n}\n```\n\nThe API key is a server-only secret — supplying it from a browser throws. Hold\nit on your server and forward the prepared transaction to the client.\n\n> **Migrating from `kitKey`:** `config.kitKey` is deprecated in favor of\n> `config.apiKey`. It keeps working, and legacy `KIT_KEY:<keyId>:<keySecret>`\n> values are still accepted, so you can move over at your own pace. When both\n> fields are set, `apiKey` wins.\n\n### Swap Configuration Options\n\n```typescript\nconst params = {\n  from: { adapter, chain: Ethereum },\n  tokenIn: 'USDC',\n  tokenOut: 'USDT',\n  amountIn: '100',\n  config: {\n    // API key for authentication (optional — omit for permissionless mode)\n    apiKey: process.env.CIRCLE_API_KEY,\n\n    // Allowance strategy (default: 'permit')\n    allowanceStrategy: 'permit', // or 'approve'\n\n    // Maximum slippage in basis points (default: 300 = 3%)\n    slippageBps: 300,\n\n    // Minimum output amount (stop-limit)\n    stopLimit: '95000000', // 95 USDT in smallest units\n\n    // Custom fee for this specific swap (percentage approach)\n    customFee: {\n      percentageBps: 100, // 1% fee\n      recipientAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',\n    },\n  },\n}\n```\n\n> **Note:** Use transaction-level `percentageBps` for simple fees, or kit-level `setCustomFeePolicy()` for complex logic. They are mutually exclusive.\n\n### Supported Tokens\n\nSwapKit supports 16 tokens for fee collection. At least one token (input OR output) must be from this list.\n\n**Stablecoins (6 decimals):**\n\n- `USDC` - USD Coin\n- `EURC` - Euro Coin\n- `USDT` - Tether USD\n- `PYUSD` - PayPal USD\n\n**Stablecoins (18 decimals):**\n\n- `DAI` - MakerDAO stablecoin\n- `USDE` - Ethena USD\n\n**Wrapped Tokens:**\n\n- `WBTC` - Wrapped Bitcoin (8 decimals)\n- `WETH` - Wrapped Ethereum (18 decimals)\n- `WSOL` - Wrapped Solana (9 decimals)\n- `WAVAX` - Wrapped Avalanche (18 decimals)\n- `WPOL` - Wrapped Polygon (18 decimals)\n\n**Native Token:**\n\n- `NATIVE` - Resolves to chain's native gas token (ETH on Ethereum, SOL on Solana, etc.)\n\n**Important:** At least one token (input OR output) must be from the supported list. Non-supported → Non-supported swaps are not allowed.\n\n**Examples:**\n\n```typescript\n// Swap between 6-decimal stablecoins\nawait kit.swap({\n  from: { adapter, chain: 'Ethereum' },\n  tokenIn: 'EURC',\n  tokenOut: 'USDC',\n  amountIn: '100.50',\n  config: { apiKey: process.env.CIRCLE_API_KEY },\n})\n\n// Swap DAI (18 decimals) to USDC\nawait kit.swap({\n  from: { adapter, chain: 'Ethereum' },\n  tokenIn: 'DAI',\n  tokenOut: 'USDC',\n  amountIn: '500.0', // Automatically handles 18-decimal precision\n  config: { apiKey: process.env.CIRCLE_API_KEY },\n})\n\n// Swap native gas token to stablecoin (generic)\nawait kit.swap({\n  from: { adapter, chain: 'Ethereum' },\n  tokenIn: 'NATIVE', // ETH on Ethereum, POL on Polygon, SOL on Solana, etc.\n  tokenOut: 'USDC',\n  amountIn: '1.5',\n  config: { apiKey: process.env.CIRCLE_API_KEY },\n})\n\n// Swap wrapped ETH to stablecoin on Polygon\nawait kit.swap({\n  from: { adapter, chain: 'Polygon' },\n  tokenIn: 'WETH', // Wrapped ETH on Polygon\n  tokenOut: 'USDC',\n  amountIn: '0.5',\n  config: { apiKey: process.env.CIRCLE_API_KEY },\n})\n```\n\n**Note:** Use `NATIVE` for the chain's native gas token. Chain-specific symbols like `ETH`, `POL` are not supported as swap token aliases — use `NATIVE` or contract addresses instead.\n\n## Type Definitions\n\n### SwapParams\n\n```typescript\ninterface SwapParams {\n  from: AdapterContext // Source adapter and chain\n  tokenIn: SupportedToken // Input token\n  tokenOut: SupportedToken // Output token\n  amountIn: string // Decimal string (e.g., '10.5')\n  config?: SwapConfig // Optional configuration\n}\n\n// SupportedToken can be:\n// - Stablecoin aliases (6 decimals): 'USDC' | 'EURC' | 'USDT' | 'PYUSD'\n// - Stablecoin aliases (18 decimals): 'DAI' | 'USDE'\n// - Wrapped tokens: 'WBTC' (8 dec) | 'WETH' | 'WSOL' (9 dec) | 'WAVAX' | 'WPOL' (18 dec)\n// - Native token: 'NATIVE' (chain's native gas token)\ntype SupportedToken =\n  | 'USDC'\n  | 'EURC'\n  | 'USDT'\n  | 'USDE'\n  | 'DAI'\n  | 'PYUSD'\n  | 'WBTC'\n  | 'WETH'\n  | 'WSOL'\n  | 'WAVAX'\n  | 'WPOL'\n  | 'NATIVE'\n```\n\n### SwapEstimate\n\nThe estimate result includes input context fields for correlating estimates with inputs:\n\n```typescript\ninterface SwapEstimate {\n  // Input context (populated from your params)\n  tokenIn: SupportedToken // e.g., 'NATIVE'\n  tokenOut: SupportedToken // e.g., 'USDC'\n  amountIn: string // e.g., '0.00001'\n  chain: string // e.g., 'Ethereum'\n  fromAddress: string // e.g., '0x2971...5EE9f'\n  toAddress: string // e.g., '0x2971...5EE9f'\n\n  // Estimate details\n  transaction: object // Raw transaction to sign and submit\n  stopLimit: string // Minimum output in base units\n  estimatedOutput?: string // Human-readable expected output\n  fees?: ServiceSwapFee[] // Fee breakdown\n}\n```\n\n### SwapResult\n\nThe swap result uses a simplified chain field:\n\n```typescript\ninterface SwapResult {\n  tokenIn: SupportedToken\n  tokenOut: SupportedToken\n  chain: string // e.g., 'Ethereum'\n  amountIn: string // Human-readable amount\n  fromAddress: string\n  toAddress: string\n  txHash: string\n  explorerUrl?: string\n  fees?: ServiceSwapFee[]\n  config?: SwapResultConfig\n}\n```\n\n### Resolving Chain Name to ChainDefinition\n\nBoth `SwapEstimate` and `SwapResult` return a simplified `chain` string (e.g., `'Ethereum'`)\nIf you need the full chain definition, use the `getChainByEnum` utility:\n\n```typescript\nimport { getChainByEnum } from '@circle-fin/swap-kit'\n\n// After getting a swap result or estimate\nconst result = await kit.swap(params)\n\n// Resolve the chain name back to full ChainDefinition\nconst chainDef = getChainByEnum(result.chain)\nconsole.log(chainDef.chainId) // 1 (for Ethereum)\nconsole.log(chainDef.rpcEndpoints) // ['https://...']\n```\n\n### CustomFeePolicy\n\n```typescript\ninterface CustomFeePolicy {\n  computeFee: (params: SwapParams) => Promise<string> | string\n  resolveFeeRecipientAddress: (\n    chain: ChainDefinition,\n    params: SwapParams,\n  ) => Promise<string> | string\n}\n```\n\n## Validation\n\nSwapKit provides comprehensive runtime validation:\n\n```typescript\nimport { assertSwapParams, swapParamsSchema } from '@circle-fin/swap-kit'\n\ntry {\n  assertSwapParams(params, swapParamsSchema)\n  // Parameters are valid\n} catch (error) {\n  console.error('Validation failed:', error.message)\n}\n```\n\n## Usage Patterns: Class vs Functional\n\nSwapKit supports both class-based and functional programming styles. Choose based on your preferences:\n\n### Use Class-Based (SwapKit) When:\n\n- ✅ You prefer traditional class-based patterns\n- ✅ Your codebase already uses class-based libraries\n- ✅ You want a familiar API similar to other SDKs\n- ✅ You don't need aggressive tree-shaking optimizations\n\n### Use Functional (createSwapKitContext + operations) When:\n\n- ✅ You prefer functional programming patterns\n- ✅ You need maximum tree-shaking for smaller bundles\n- ✅ You want to import only specific operations\n- ✅ You're building a performance-critical application\n\nBoth approaches:\n\n- ✅ Provide identical functionality\n- ✅ Use the same underlying operations\n- ✅ Offer full TypeScript support\n- ✅ Include comprehensive validation\n\n**Example: Choosing an approach**\n\n```typescript\n// Class-based: Great for general use\nimport { SwapKit } from '@circle-fin/swap-kit'\nconst kit = new SwapKit()\nawait kit.swap(params)\n\n// Functional: Great for tree-shaking\nimport { createSwapKitContext, swap } from '@circle-fin/swap-kit'\nconst context = createSwapKitContext()\nawait swap(context, params)\n```\n\n## License\n\nApache-2.0\n\n## Support\n\nFor issues and questions, please visit the [GitHub repository](https://github.com/circlefin/stablecoin-kits).\n","readmeFilename":"README.md"}