{"_id":"@anton-seriesfi/doppler-v3-sdk","_rev":"9-30b1a38d2de3d31afd78abcc8e1a2eb5","name":"@anton-seriesfi/doppler-v3-sdk","dist-tags":{"latest":"1.0.44-b"},"versions":{"1.0.9-rc2":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.9-rc2","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"_id":"@anton-seriesfi/doppler-v3-sdk@1.0.9-rc2","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"dist":{"shasum":"8a143c13edc90d2012719470e48fca8e52179c0b","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.9-rc2.tgz","fileCount":90,"integrity":"sha512-gXPHdD0q8+6+vl39N3xU6TnFI+EB3HNe2/L39md/+vxzMk+9xfiBHPeSGGOEQQhDQGPAARiTNPLykxMHi0ggSg==","signatures":[{"sig":"MEUCIB0h61fba0/dqghbgpSKtg1L6qYGpYfb4S94cwc1GIXmAiEA58YnVIh5wW0NafTb3GM9epDRT1mKQMUKZTQWNT6shTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350006},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"3769f3b3efcdfdd8b632c7850bcbe54a92e379e3","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"anton-series","email":"anton@seriesfi.com"},"_npmVersion":"10.7.0","description":"SDK for interacting with Doppler v3 protocol","directories":{},"_nodeVersion":"20.14.0","dependencies":{"viem":"^2.21.55","@delvtech/drift":"^0.0.1","@uniswap/v4-sdk":"^1.10.4","@uniswap/sdk-core":"^5.9.0","@delvtech/drift-viem":"^0.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.4","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/doppler-v3-sdk_1.0.9-rc2_1740163603573_0.4796480329788193","host":"s3://npm-registry-packages-npm-production"}},"1.0.25-beta.0":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.25-beta.0","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"license":"MIT","_id":"@anton-seriesfi/doppler-v3-sdk@1.0.25-beta.0","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"dist":{"shasum":"885af50f24a4d6850ce34ba23c9d74d7f6742519","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.25-beta.0.tgz","fileCount":98,"integrity":"sha512-B7f07MszNw/tuJd3j6JAScTm7Z6mITvf1nrHWaWPk5+2mJWStJy1+ELWS6mhXEJ9PBRl7Vok/TrTEXID5Igajg==","signatures":[{"sig":"MEUCIHJO3vI/Nj5qbGyqPJm5E1t9iKnhiLR+UkeOXDdl3RhNAiEAtmfgPgjd5lF3NiG0mmE0VxHWdh6aie2D3QPrTO7zbdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":420908},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8cb683927dbbee8a715e5fba5c6a72c946b76ae8","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"anton-series","actor":{"name":"anton-series","type":"user","email":"anton@seriesfi.com"},"email":"anton@seriesfi.com"},"_npmVersion":"10.7.0","description":"SDK for interacting with Doppler v3 protocol","directories":{},"_nodeVersion":"20.14.0","dependencies":{"viem":"^2.21.55","ponder":"^0.11.15","@delvtech/drift":"^0.8.4","@uniswap/v4-sdk":"^1.10.4","@uniswap/sdk-core":"^5.9.0","@delvtech/drift-viem":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.4","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/doppler-v3-sdk_1.0.25-beta.0_1750881364130_0.15110788944545162","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.26","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"author":{"name":"Whetstone Research","email":"contact@whetstone.cc"},"license":"MIT","_id":"@anton-seriesfi/doppler-v3-sdk@1.0.26","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"homepage":"https://github.com/whetstoneresearch/doppler-sdk","bugs":{"url":"https://github.com/whetstoneresearch/doppler-sdk/issues"},"dist":{"shasum":"d2b006053ab0d30fd0f43e56b9a2662930ec7db0","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.26.tgz","fileCount":98,"integrity":"sha512-njukF2X6mfywrmsIzs/1aKILrjDIRd2pbo5ZCQw6gO8HUNBHBePS2doqAVFsAGhkb/2kyb5awYorqTjXzJJEqw==","signatures":[{"sig":"MEYCIQCC/ZKgZT8lSIhy7rKtSbtJW2mL2nn9nBRN8VcxJqdc2gIhAM+uQtHWyCcZLhTi7caZjKlsqCRrUfce8OL2uxPYHbJg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421601},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ef488726ab7e1633e1fee69d19c54657cd31bee5","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"anton-series","actor":{"name":"anton-series","type":"user","email":"anton@seriesfi.com"},"email":"anton@seriesfi.com"},"repository":{"url":"git+https://github.com/whetstoneresearch/doppler-sdk.git","type":"git"},"_npmVersion":"10.7.0","description":"SDK for interacting with Doppler v3 protocol","directories":{},"_nodeVersion":"20.14.0","dependencies":{"viem":"^2.21.55","ponder":"^0.11.15","@delvtech/drift":"^0.8.4","@uniswap/v4-sdk":"^1.10.4","@uniswap/sdk-core":"^5.9.0","@delvtech/drift-viem":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.4","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/doppler-v3-sdk_1.0.26_1750895070787_0.059946711818402276","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.28","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"author":{"name":"Whetstone Research","email":"contact@whetstone.cc"},"license":"MIT","_id":"@anton-seriesfi/doppler-v3-sdk@1.0.28","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"homepage":"https://github.com/whetstone-research/doppler-v3-sdk","bugs":{"url":"https://github.com/whetstone-research/doppler-v3-sdk/issues"},"dist":{"shasum":"4af73173bc4a11083e625b747a1f41612a64962d","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.28.tgz","fileCount":98,"integrity":"sha512-sxEgSlWEyy6DvBP9p0bTEX96aUGhpLk1GhpcizTR0RCIn9GyatSuj9oKliDdq7PkCFsl0BxZ9FB73N0oFPzrsQ==","signatures":[{"sig":"MEQCID0H8DQTSI3uK2i4j6nLbsOm0kpk34wd6JhHkfPs056XAiAXJ5X+/FWsWnnRMxv9k2rJkf8QCDh0rR5eomVxEXodPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421264},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e81c1e944fc52081c9e01db30456817ada642fcb","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"anton-series","actor":{"name":"anton-series","type":"user","email":"anton@seriesfi.com"},"email":"anton@seriesfi.com"},"repository":{"url":"git+https://github.com/whetstone-research/doppler-v3-sdk.git","type":"git"},"_npmVersion":"10.7.0","description":"SDK for interacting with Doppler v3 protocol","directories":{},"_nodeVersion":"20.14.0","dependencies":{"viem":"^2.21.55","ponder":"^0.11.15","@delvtech/drift":"^0.8.4","@uniswap/v4-sdk":"^1.10.4","@uniswap/sdk-core":"^5.9.0","@delvtech/drift-viem":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.4","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/doppler-v3-sdk_1.0.28_1750960401138_0.0957482836134258","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.29","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"author":{"name":"Whetstone Research","email":"contact@whetstone.cc"},"license":"MIT","_id":"@anton-seriesfi/doppler-v3-sdk@1.0.29","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"homepage":"https://github.com/whetstone-research/doppler-v3-sdk","bugs":{"url":"https://github.com/whetstone-research/doppler-v3-sdk/issues"},"dist":{"shasum":"b19ea08bb722a4cf6a5d0ddd00a9f928dd782d84","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.29.tgz","fileCount":98,"integrity":"sha512-1oDPxNomRwEWeH2pZSEw1UPRX7J+Fag0sV45QnXMRaxpuJx6m9aIu5++2ESoR71wTtM09W8dMfwrgltHlpwr5A==","signatures":[{"sig":"MEYCIQCPu2W9cK6TrXV1fRka1xTL6yrxOgk/49K1+GkEvgr6jgIhAIegilkZ4WlMopB8MPVjAAsQK98cjeCHiSuH9iEQe80D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424181},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8529041a8c4f584c897ab62bee9c3679d8b910ca","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"anton-series","actor":{"name":"anton-series","type":"user","email":"anton@seriesfi.com"},"email":"anton@seriesfi.com"},"repository":{"url":"git+https://github.com/whetstone-research/doppler-v3-sdk.git","type":"git"},"_npmVersion":"10.7.0","description":"SDK for interacting with Doppler v3 protocol","directories":{},"_nodeVersion":"20.14.0","dependencies":{"viem":"^2.21.55","ponder":"^0.11.15","@delvtech/drift":"^0.8.4","@uniswap/v4-sdk":"^1.10.4","@uniswap/sdk-core":"^5.9.0","@delvtech/drift-viem":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.4","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/doppler-v3-sdk_1.0.29_1751031015155_0.0502493016976453","host":"s3://npm-registry-packages-npm-production"}},"1.0.29-maybe":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.29-maybe","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"author":{"name":"Whetstone Research","email":"contact@whetstone.cc"},"license":"MIT","_id":"@anton-seriesfi/doppler-v3-sdk@1.0.29-maybe","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"homepage":"https://github.com/whetstone-research/doppler-v3-sdk","bugs":{"url":"https://github.com/whetstone-research/doppler-v3-sdk/issues"},"dist":{"shasum":"98b06d4aab076ae0c241aac44c0c13c0f3a607e6","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.29-maybe.tgz","fileCount":98,"integrity":"sha512-xjDScrpB/+VuP+6YxMvhEOG8Vke7PGp00C3KG4vsmZpp8MtKJSd1XPcl7PEDRGVdcifnZ26ZlwBYBkyTq666YQ==","signatures":[{"sig":"MEQCIG7eK4ifelc+yQNB6zPHHzflbY8hbaH5BFRrpeDY2c3qAiA4gcT2Kbm5VrRFqA3LX3KLA4RNFjuFoewUm5vT/Qi60w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424187},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"5851e00ee66302a34a668bc56c4c914d249f3045","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"anton-series","actor":{"name":"anton-series","type":"user","email":"anton@seriesfi.com"},"email":"anton@seriesfi.com"},"repository":{"url":"git+https://github.com/whetstone-research/doppler-v3-sdk.git","type":"git"},"_npmVersion":"10.7.0","description":"SDK for interacting with Doppler v3 protocol","directories":{},"_nodeVersion":"20.14.0","dependencies":{"viem":"^2.21.55","ponder":"^0.11.15","@delvtech/drift":"^0.8.4","@uniswap/v4-sdk":"^1.10.4","@uniswap/sdk-core":"^5.9.0","@delvtech/drift-viem":"^0.8.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.4","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/doppler-v3-sdk_1.0.29-maybe_1751305324338_0.9257185738667342","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.44","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"author":{"name":"Whetstone Research","email":"contact@whetstone.cc"},"license":"MIT","_id":"@anton-seriesfi/doppler-v3-sdk@1.0.44","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"homepage":"https://github.com/whetstoneresearch/doppler-sdk","bugs":{"url":"https://github.com/whetstoneresearch/doppler-sdk/issues"},"dist":{"shasum":"9fe7f87dd57491de1fcca9abd361d7d060e0ff49","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.44.tgz","fileCount":98,"integrity":"sha512-2nmkWt2IwPLDcaiAet9vHAPh6hlMWxR0nEFHNkxZdgn8rp/6+X3EU2e36bDaLorHpzZcnIF+kPllje4lvJb3QA==","signatures":[{"sig":"MEUCIQDv8BB6JdFYH/APokLGa05E8HaUj4Aj/fJpgLnCMhBIngIgMg0FIdZQCNz8kfLfumELApAaLclB1/sCyMJMZBIwdl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432662},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"93fe04e1e23eb45b2cb8ea299e55181b1f2d83e8","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"anton-series","email":"anton@seriesfi.com"},"repository":{"url":"git+https://github.com/whetstoneresearch/doppler-sdk.git","type":"git"},"_npmVersion":"10.7.0","description":"SDK for interacting with Doppler v3 protocol","directories":{},"_nodeVersion":"20.14.0","dependencies":{"viem":"^2.21.55","ponder":"^0.11.15","@delvtech/drift":"^0.10.1","@uniswap/v4-sdk":"^1.10.4","@uniswap/sdk-core":"^5.9.0","@delvtech/drift-viem":"^0.10.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.4","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/doppler-v3-sdk_1.0.44_1752261147081_0.7814595570021448","host":"s3://npm-registry-packages-npm-production"}},"1.0.44-a":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.44-a","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"author":{"name":"Whetstone Research","email":"contact@whetstone.cc"},"license":"MIT","_id":"@anton-seriesfi/doppler-v3-sdk@1.0.44-a","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"homepage":"https://github.com/whetstoneresearch/doppler-sdk","bugs":{"url":"https://github.com/whetstoneresearch/doppler-sdk/issues"},"dist":{"shasum":"2f76d3d4255b892f1c817ce46e6dfb8ffbdfc38b","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.44-a.tgz","fileCount":98,"integrity":"sha512-teKJ/MbMxy5CHkTyNpqwqNOXs9cAX7MqhaHvkhONPNncqLSRWIWZWC1R2aUsYkAkFst2FHiSB3Vq6J+CFUrWbA==","signatures":[{"sig":"MEUCIQCjxGrM+6cc/F0X8AorcCQivsMmT/Emz4035w4WxuejSQIgce5nO6SrkUGPE5Lcmreebt2t8SHycKXoivVbYSuFQdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432663},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"93fe04e1e23eb45b2cb8ea299e55181b1f2d83e8","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"anton-series","email":"anton@seriesfi.com"},"repository":{"url":"git+https://github.com/whetstoneresearch/doppler-sdk.git","type":"git"},"_npmVersion":"10.7.0","description":"SDK for interacting with Doppler v3 protocol","directories":{},"_nodeVersion":"20.14.0","dependencies":{"viem":"^2.21.55","ponder":"^0.11.15","@delvtech/drift":"^0.10.1","@uniswap/v4-sdk":"^1.10.4","@uniswap/sdk-core":"^5.9.0","@delvtech/drift-viem":"^0.10.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.4","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/doppler-v3-sdk_1.0.44-a_1752264145408_0.01783633744144697","host":"s3://npm-registry-packages-npm-production"}},"1.0.44-b":{"name":"@anton-seriesfi/doppler-v3-sdk","version":"1.0.44-b","description":"SDK for interacting with Doppler v3 protocol","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build","build":"tsc","test":"vitest","lint":"tsc --noEmit"},"keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"author":{"name":"Whetstone Research","email":"contact@whetstone.cc"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/whetstoneresearch/doppler-sdk.git"},"homepage":"https://github.com/whetstoneresearch/doppler-sdk","bugs":{"url":"https://github.com/whetstoneresearch/doppler-sdk/issues"},"engines":{"node":">=18.0.0"},"dependencies":{"@delvtech/drift":"^0.10.1","@delvtech/drift-viem":"^0.10.1","@uniswap/sdk-core":"^5.9.0","@uniswap/v4-sdk":"^1.10.4","ponder":"^0.11.15","viem":"^2.21.55"},"devDependencies":{"typescript":"^5.4.5","vitest":"^2.1.4"},"_id":"@anton-seriesfi/doppler-v3-sdk@1.0.44-b","gitHead":"93fe04e1e23eb45b2cb8ea299e55181b1f2d83e8","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-NUZ/wficw8of1s0tolEf1LieFVDzwtArrSoO8JLmvWRK6INIDNa6cLmjKV5LhWD3y87haTHYoJBgkJbXE+j10w==","shasum":"a8ddd6919ed9c4951baf723a14d26ef10b40c8b5","tarball":"https://registry.npmjs.org/@anton-seriesfi/doppler-v3-sdk/-/doppler-v3-sdk-1.0.44-b.tgz","fileCount":98,"unpackedSize":432643,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCm7TZD+1HKYy2WtlyEy6jQbSZcdZ/gWtXXaoDfTrjruwIhAKVl30BEhnDYFy+RULf8Pi+odbEW4mXZdt1cy0OOz2M3"}]},"_npmUser":{"name":"anton-series","email":"anton@seriesfi.com"},"directories":{},"maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/doppler-v3-sdk_1.0.44-b_1752264610450_0.08414059472597168"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-21T18:46:43.516Z","modified":"2025-07-11T20:10:10.843Z","1.0.9-rc2":"2025-02-21T18:46:43.754Z","1.0.25-beta.0":"2025-06-25T19:56:04.315Z","1.0.26":"2025-06-25T23:44:30.976Z","1.0.28":"2025-06-26T17:53:21.305Z","1.0.29":"2025-06-27T13:30:15.348Z","1.0.29-maybe":"2025-06-30T17:42:04.493Z","1.0.44":"2025-07-11T19:12:27.295Z","1.0.44-a":"2025-07-11T20:02:25.602Z","1.0.44-b":"2025-07-11T20:10:10.653Z"},"bugs":{"url":"https://github.com/whetstoneresearch/doppler-sdk/issues"},"author":{"name":"Whetstone Research","email":"contact@whetstone.cc"},"license":"MIT","homepage":"https://github.com/whetstoneresearch/doppler-sdk","keywords":["defi","amm","liquidity","ethereum","uniswap-v3"],"repository":{"type":"git","url":"git+https://github.com/whetstoneresearch/doppler-sdk.git"},"description":"SDK for interacting with Doppler v3 protocol","maintainers":[{"name":"anton-series","email":"anton@seriesfi.com"}],"readme":"# Doppler V3 SDK\n\n[![npm version](https://img.shields.io/npm/v/doppler-v3-sdk.svg)](https://www.npmjs.com/package/doppler-v3-sdk)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA TypeScript SDK for interacting with Doppler V3 protocol - a Liquidity Bootstrapping Protocol built on Uniswap V3.\n\n## Features\n\n- 🏭 Factory interactions for doppler contract creation and management\n- 💰 Token operations including DERC20 and native ETH handling\n- 🔍 Historical event querying for pools and tokens\n\n## Installation\n\n```bash\n# Using npm\nnpm install doppler-v3-sdk\n\n# Using bun\nbun add doppler-v3-sdk\n```\n\n## Core Concepts\n\n### Factory Interactions\n\n```typescript\nimport { ReadFactory } from \"doppler-v3-sdk\";\n\nconst factory = new ReadFactory(\"0x...factoryAddress\");\nconst assetData = await factory.getAssetData(tokenAddress);\nconst createEvents = await factory.getCreateEvents();\n```\n\n### Token Operations\n\n```typescript\n// ERC20 Token\nconst derc20 = new ReadDerc20(tokenAddress);\nconst balance = await derc20.getBalanceOf(userAddress);\n\n// Native ETH\nconst eth = new ReadEth();\nconst ethBalance = await eth.getBalanceOf(userAddress);\n```\n\n### Pool Analytics\n\n```typescript\nconst pool = new ReadUniswapV3Pool(poolAddress);\nconst [slot0, swapEvents] = await Promise.all([\n  pool.getSlot0(),\n  pool.getSwapEvents(),\n]);\n```\n\n### Price Quoting\n\n```typescript\nconst quoter = new ReadQuoter(quoterAddress);\nconst quote = await quoter.quoteExactInput({\n  params: {\n    tokenIn: \"0x...\",\n    tokenOut: \"0x...\",\n    amountIn: parseUnits(\"1\", 18),\n    fee: 3000,\n  },\n  options: {\n    tokenDecimals: 18,\n    formatDecimals: 4,\n  },\n});\n```\n\n## Key Components\n\n| Component           | Description                                             |\n| ------------------- | ------------------------------------------------------- |\n| `ReadFactory`       | Interface for reading from the Doppler airlock contract |\n| `ReadWriteFactory`  | Interface for writing to the Doppler airlock contract   |\n| `ReadDerc20`        | DERC20 token operations with vesting support            |\n| `ReadEth`           | Native ETH operations                                   |\n| `ReadUniswapV3Pool` | Interface for Uniswap V3 pool contract operations       |\n| `ReadInitializer`   | Interface for the UniswapV3Initializer contract         |\n| `ReadQuoter`        | Price quoting engine with fixed-point precision         |\n| `ReadMigrator`      | Interface for V4 migrator contract with fee streaming   |\n\n## Examples\n\n### Basic Swap Simulation\n\n```typescript\nimport { ReadQuoter, fixed } from \"doppler-v3-sdk\";\n\nconst quoter = new ReadQuoter(\"0x...quoterAddress\");\nconst amountIn = fixed(1.5, 18); // 1.5 tokens with 18 decimals\n\nconst quote = await quoter.quoteExactInput(\n  {\n    tokenIn: \"0x...\",\n    tokenOut: \"0x...\",\n    amountIn: amountIn.toBigInt(),\n    fee: 3000,\n  },\n  { tokenDecimals: 18, formatDecimals: 4 }\n);\n\nconsole.log(`Expected output: ${quote.formattedAmountOut}`);\n```\n\nNote: for executing swaps see doppler-router [here](https://github.com/whetstoneresearch/doppler-sdk/tree/main/packages/doppler-router)\n\n### Uniswap V3 Pool Data Queries\n\n```typescript\nimport { ReadUniswapV3Pool } from \"doppler-v3-sdk\";\n\nconst pool = new ReadUniswapV3Pool(\"0x...poolAddress\");\nconst [slot0, liquidityEvents] = await Promise.all([\n  pool.getSlot0(),\n  pool.getMintEvents(),\n]);\n\nconsole.log(`Current price: ${slot0.sqrtPriceX96}`);\nconsole.log(`${liquidityEvents.length} liquidity positions found`);\n```\n\n### Creating a V3 Pool with V4 Migration and Fee Streaming\n\nThe V3 SDK now supports creating Doppler V3 pools that can migrate to Uniswap V4 with advanced fee streaming capabilities. This allows you to distribute trading fees to multiple beneficiaries over time.\n\n```typescript\nimport { \n  ReadWriteFactory, \n  BeneficiaryData,\n  V4MigratorData,\n  WAD,\n  addresses \n} from \"doppler-v3-sdk\";\n\n// Step 1: Set up beneficiaries for fee streaming\n// Shares must sum to exactly WAD (1e18)\nconst beneficiaries: BeneficiaryData[] = [\n  { \n    beneficiary: \"0x...\", // Treasury address\n    shares: WAD * 70n / 100n  // 70% of fees\n  },\n  { \n    beneficiary: \"0x...\", // Development fund\n    shares: WAD * 20n / 100n  // 20% of fees\n  },\n  { \n    beneficiary: \"0x...\", // Community rewards\n    shares: WAD * 10n / 100n  // 10% of fees\n  }\n];\n\n// Step 2: Sort beneficiaries (required by the contract)\nconst factory = new ReadWriteFactory(\n  addresses.unichain.airlock,\n  addresses.unichain.bundler\n);\nconst sortedBeneficiaries = factory.sortBeneficiaries(beneficiaries);\n\n// Step 3: Configure the V4 migrator\nconst migratorConfig: V4MigratorData = {\n  fee: 3000,                    // 0.3% fee tier\n  tickSpacing: 60,              // Tick spacing for the V4 pool\n  lockDuration: 365 * 24 * 60 * 60, // 1 year lock\n  beneficiaries: sortedBeneficiaries\n};\n\n// Step 4: Encode the migrator data (automatically includes 5% for airlock owner)\nconst encodedMigratorData = await factory.encodeV4MigratorData(migratorConfig);\n\n// Or exclude the default beneficiary:\n// const encodedMigratorData = await factory.encodeV4MigratorData(migratorConfig, false);\n\n// Step 5: Create the pool with V4 migration configuration\nconst createParams = await factory.buildConfig({\n  integrator: \"0x...\",\n  userAddress: userAddress,\n  numeraire: addresses.unichain.weth,\n  contracts: {\n    tokenFactory: addresses.unichain.tokenFactory,\n    governanceFactory: addresses.unichain.governanceFactory,\n    poolInitializer: addresses.unichain.v3Initializer,\n    liquidityMigrator: addresses.unichain.liquidityMigrator, // V4 migrator\n  },\n  tokenConfig: {\n    name: \"My Token\",\n    symbol: \"MTK\",\n    tokenURI: \"https://example.com/token-metadata.json\"\n  },\n  // Pass the encoded migrator data\n  liquidityMigratorData: encodedMigratorData,\n  // ... other parameters\n});\n\nawait factory.create(createParams);\n```\n\n#### Querying V4 Migrator State\n\nAfter deployment, you can query the migrator configuration:\n\n```typescript\nimport { ReadMigrator } from \"doppler-v3-sdk\";\n\nconst migrator = new ReadMigrator(addresses.unichain.liquidityMigrator);\n\n// Get the V4 pool configuration that will be created\nconst poolKey = await migrator.getAssetData(token0, token1);\nconsole.log(`Fee tier: ${poolKey.fee}`);\nconsole.log(`Tick spacing: ${poolKey.tickSpacing}`);\n\n// Get important contract addresses\nconst locker = await migrator.locker(); // StreamableFeesLocker address\nconst poolManager = await migrator.poolManager(); // V4 PoolManager address\n```\n\n#### Fee Streaming Benefits\n\nThe V4 migrator with StreamableFeesLocker provides several advantages:\n\n1. **Multiple Beneficiaries**: Distribute fees to multiple addresses based on shares\n2. **Time-Locked Liquidity**: Liquidity is locked for a specified duration\n3. **Streaming Fees**: Beneficiaries can claim accumulated fees over time\n4. **No-Op Governance**: Option to permanently lock liquidity by setting recipient to DEAD_ADDRESS\n5. **Updatable Beneficiaries**: Beneficiaries can update their receiving address\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","readmeFilename":"README.md"}