@whetstone-research/doppler-sdk 0.0.1-alpha.9 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +726 -25
- package/dist/DopplerSDK.d.mts +45 -7
- package/dist/DopplerSDK.d.ts +45 -7
- package/dist/DopplerSDK.js +35 -12
- package/dist/DopplerSDK.mjs +34 -11
- package/dist/abis/bytecodes.d.mts +3 -2
- package/dist/abis/bytecodes.d.ts +3 -2
- package/dist/abis/bytecodes.js +9 -6
- package/dist/abis/bytecodes.mjs +1 -2
- package/dist/abis/index.d.mts +1507 -129
- package/dist/abis/index.d.ts +1507 -129
- package/dist/abis/index.js +43 -20
- package/dist/abis/index.mjs +2 -3
- package/dist/addresses.d.mts +16 -3
- package/dist/addresses.d.ts +16 -3
- package/dist/addresses.js +13 -5
- package/dist/addresses.mjs +2 -2
- package/dist/builders/DynamicAuctionBuilder.d.mts +119 -0
- package/dist/builders/DynamicAuctionBuilder.d.ts +119 -0
- package/dist/builders/DynamicAuctionBuilder.js +29 -0
- package/dist/builders/DynamicAuctionBuilder.js.map +1 -0
- package/dist/builders/DynamicAuctionBuilder.mjs +20 -0
- package/dist/builders/DynamicAuctionBuilder.mjs.map +1 -0
- package/dist/builders/MulticurveBuilder.d.mts +132 -0
- package/dist/builders/MulticurveBuilder.d.ts +132 -0
- package/dist/builders/MulticurveBuilder.js +29 -0
- package/dist/builders/MulticurveBuilder.js.map +1 -0
- package/dist/builders/MulticurveBuilder.mjs +20 -0
- package/dist/builders/MulticurveBuilder.mjs.map +1 -0
- package/dist/builders/StaticAuctionBuilder.d.mts +124 -0
- package/dist/builders/StaticAuctionBuilder.d.ts +124 -0
- package/dist/builders/StaticAuctionBuilder.js +29 -0
- package/dist/builders/StaticAuctionBuilder.js.map +1 -0
- package/dist/builders/StaticAuctionBuilder.mjs +20 -0
- package/dist/builders/StaticAuctionBuilder.mjs.map +1 -0
- package/dist/builders/index.d.mts +8 -0
- package/dist/builders/index.d.ts +8 -0
- package/dist/builders/index.js +56 -0
- package/dist/builders/index.js.map +1 -0
- package/dist/builders/index.mjs +23 -0
- package/dist/builders/index.mjs.map +1 -0
- package/dist/builders/shared.d.mts +116 -0
- package/dist/builders/shared.d.ts +116 -0
- package/dist/builders/shared.js +39 -0
- package/dist/builders/shared.js.map +1 -0
- package/dist/builders/shared.mjs +18 -0
- package/dist/builders/shared.mjs.map +1 -0
- package/dist/builders.d.mts +8 -131
- package/dist/builders.d.ts +8 -131
- package/dist/builders.js +44 -5
- package/dist/builders.mjs +22 -3
- package/dist/chunk-3PNCB4W5.js +4 -0
- package/dist/{chunk-KRN3ROUE.js.map → chunk-3PNCB4W5.js.map} +1 -1
- package/dist/chunk-3RK7LRAA.js +282 -0
- package/dist/chunk-3RK7LRAA.js.map +1 -0
- package/dist/chunk-4HM3ERBU.js +13 -0
- package/dist/chunk-4HM3ERBU.js.map +1 -0
- package/dist/{chunk-7W72MFJO.mjs → chunk-4TROGENW.mjs} +5 -4
- package/dist/chunk-4TROGENW.mjs.map +1 -0
- package/dist/chunk-5TL5V6UX.mjs +3 -0
- package/dist/{chunk-AZLFJNTG.mjs.map → chunk-5TL5V6UX.mjs.map} +1 -1
- package/dist/chunk-64AWG57M.mjs +192 -0
- package/dist/chunk-64AWG57M.mjs.map +1 -0
- package/dist/chunk-6KWCHTK3.js +166 -0
- package/dist/chunk-6KWCHTK3.js.map +1 -0
- package/dist/chunk-6OOWOPCX.js +1708 -0
- package/dist/chunk-6OOWOPCX.js.map +1 -0
- package/dist/chunk-7BBRPWQJ.js +257 -0
- package/dist/chunk-7BBRPWQJ.js.map +1 -0
- package/dist/{chunk-AQPINKEW.mjs → chunk-AKSEBAR7.mjs} +29 -19
- package/dist/chunk-AKSEBAR7.mjs.map +1 -0
- package/dist/chunk-AS64GWBX.js +204 -0
- package/dist/chunk-AS64GWBX.js.map +1 -0
- package/dist/chunk-AULFBXM5.mjs +331 -0
- package/dist/chunk-AULFBXM5.mjs.map +1 -0
- package/dist/chunk-AW3WR2D3.mjs +238 -0
- package/dist/chunk-AW3WR2D3.mjs.map +1 -0
- package/dist/chunk-BIQQ53O2.js +45 -0
- package/dist/chunk-BIQQ53O2.js.map +1 -0
- package/dist/chunk-C6MPV3CY.js +260 -0
- package/dist/chunk-C6MPV3CY.js.map +1 -0
- package/dist/{chunk-AYPP5JEQ.mjs → chunk-CLEQO6GU.mjs} +5 -5
- package/dist/chunk-CLEQO6GU.mjs.map +1 -0
- package/dist/chunk-CVHPLURA.js +147 -0
- package/dist/chunk-CVHPLURA.js.map +1 -0
- package/dist/chunk-D2RBCFNW.mjs +130 -0
- package/dist/chunk-D2RBCFNW.mjs.map +1 -0
- package/dist/chunk-ECD4FV3A.mjs +11 -0
- package/dist/chunk-ECD4FV3A.mjs.map +1 -0
- package/dist/chunk-EDJBZPMW.mjs +255 -0
- package/dist/chunk-EDJBZPMW.mjs.map +1 -0
- package/dist/chunk-FPAI4QYW.mjs +145 -0
- package/dist/chunk-FPAI4QYW.mjs.map +1 -0
- package/dist/chunk-HM25ZMO3.js +18 -0
- package/dist/chunk-HM25ZMO3.js.map +1 -0
- package/dist/chunk-IHC6UYKK.js +4 -0
- package/dist/{chunk-DRBRT57F.js.map → chunk-IHC6UYKK.js.map} +1 -1
- package/dist/{chunk-AXA7YT2G.mjs → chunk-J5BFFL3X.mjs} +87 -47
- package/dist/chunk-J5BFFL3X.mjs.map +1 -0
- package/dist/chunk-JIKAD4YL.js +4 -0
- package/dist/{chunk-KEXKKQVW.js.map → chunk-JIKAD4YL.js.map} +1 -1
- package/dist/{chunk-EFAPDN4J.js → chunk-JWEXGALU.js} +730 -33
- package/dist/chunk-JWEXGALU.js.map +1 -0
- package/dist/{chunk-4K5GBNQV.mjs → chunk-KDT76YQE.mjs} +52 -13
- package/dist/chunk-KDT76YQE.mjs.map +1 -0
- package/dist/chunk-LMQLMMEX.js +317 -0
- package/dist/chunk-LMQLMMEX.js.map +1 -0
- package/dist/{chunk-TOMVBPNZ.js → chunk-LS4TK6SX.js} +9 -4
- package/dist/chunk-LS4TK6SX.js.map +1 -0
- package/dist/chunk-M4WMHD3X.mjs +40 -0
- package/dist/chunk-M4WMHD3X.mjs.map +1 -0
- package/dist/chunk-MCOK3UFR.mjs +280 -0
- package/dist/chunk-MCOK3UFR.mjs.map +1 -0
- package/dist/chunk-MGQSQCFG.js +176 -0
- package/dist/chunk-MGQSQCFG.js.map +1 -0
- package/dist/chunk-MKE3BUL3.mjs +3 -0
- package/dist/{chunk-CYDWEPFL.mjs.map → chunk-MKE3BUL3.mjs.map} +1 -1
- package/dist/chunk-MNJ5OYPE.mjs +17 -0
- package/dist/chunk-MNJ5OYPE.mjs.map +1 -0
- package/dist/chunk-MNXD45J7.mjs +164 -0
- package/dist/chunk-MNXD45J7.mjs.map +1 -0
- package/dist/chunk-NGDPQC5E.js +333 -0
- package/dist/chunk-NGDPQC5E.js.map +1 -0
- package/dist/chunk-NNNCVFOH.mjs +16 -0
- package/dist/chunk-NNNCVFOH.mjs.map +1 -0
- package/dist/chunk-NZ4BJ2IC.mjs +315 -0
- package/dist/chunk-NZ4BJ2IC.mjs.map +1 -0
- package/dist/chunk-OKNM7ODQ.js +29 -0
- package/dist/chunk-OKNM7ODQ.js.map +1 -0
- package/dist/{chunk-DCFHANLR.mjs → chunk-OTG75GVH.mjs} +725 -34
- package/dist/chunk-OTG75GVH.mjs.map +1 -0
- package/dist/chunk-OZ6DGBRL.mjs +25 -0
- package/dist/chunk-OZ6DGBRL.mjs.map +1 -0
- package/dist/chunk-P25HBGP5.mjs +3 -0
- package/dist/chunk-P25HBGP5.mjs.map +1 -0
- package/dist/{chunk-XG7K4R56.js → chunk-P7KLEPVI.js} +52 -12
- package/dist/chunk-P7KLEPVI.js.map +1 -0
- package/dist/{chunk-OPKQMN46.mjs → chunk-PAPXGPJB.mjs} +9 -4
- package/dist/chunk-PAPXGPJB.mjs.map +1 -0
- package/dist/chunk-PCNXJAU5.js +19 -0
- package/dist/chunk-PCNXJAU5.js.map +1 -0
- package/dist/{chunk-PMIJTXU6.js → chunk-PD6HWEMG.js} +40 -30
- package/dist/chunk-PD6HWEMG.js.map +1 -0
- package/dist/{chunk-ER42VG7H.js → chunk-PH2KXREH.js} +20 -3
- package/dist/chunk-PH2KXREH.js.map +1 -0
- package/dist/chunk-Q5ERW5ZW.mjs +107 -0
- package/dist/chunk-Q5ERW5ZW.mjs.map +1 -0
- package/dist/chunk-Q7YNBSVH.js +28 -0
- package/dist/chunk-Q7YNBSVH.js.map +1 -0
- package/dist/{chunk-T644D54P.mjs → chunk-QKO2FZGN.mjs} +16 -4
- package/dist/chunk-QKO2FZGN.mjs.map +1 -0
- package/dist/{chunk-CIRZKWLL.js → chunk-RVFSRYI5.js} +5 -3
- package/dist/chunk-RVFSRYI5.js.map +1 -0
- package/dist/{chunk-KPBCG4X2.js → chunk-RW37KJ77.js} +11 -11
- package/dist/chunk-RW37KJ77.js.map +1 -0
- package/dist/chunk-SD7BHT2F.mjs +3 -0
- package/dist/chunk-SD7BHT2F.mjs.map +1 -0
- package/dist/chunk-SP5M57BG.mjs +258 -0
- package/dist/chunk-SP5M57BG.mjs.map +1 -0
- package/dist/chunk-TKSHYEYA.mjs +1706 -0
- package/dist/chunk-TKSHYEYA.mjs.map +1 -0
- package/dist/chunk-WTS75RUC.js +4 -0
- package/dist/chunk-WTS75RUC.js.map +1 -0
- package/dist/{chunk-EIRVZJTT.js → chunk-XRPIGMA2.js} +108 -68
- package/dist/chunk-XRPIGMA2.js.map +1 -0
- package/dist/chunk-XTKSM4QE.js +132 -0
- package/dist/chunk-XTKSM4QE.js.map +1 -0
- package/dist/chunk-XUE3CIJ5.mjs +174 -0
- package/dist/chunk-XUE3CIJ5.mjs.map +1 -0
- package/dist/chunk-YYUOLM6U.js +244 -0
- package/dist/chunk-YYUOLM6U.js.map +1 -0
- package/dist/chunk-ZH44DHVR.mjs +26 -0
- package/dist/chunk-ZH44DHVR.mjs.map +1 -0
- package/dist/chunk-ZPHOOG72.js +112 -0
- package/dist/chunk-ZPHOOG72.js.map +1 -0
- package/dist/constants.d.mts +7 -2
- package/dist/constants.d.ts +7 -2
- package/dist/constants.js +57 -38
- package/dist/constants.mjs +1 -2
- package/dist/deployments.generated.d.mts +2 -0
- package/dist/deployments.generated.d.ts +2 -0
- package/dist/deployments.generated.js +12 -0
- package/dist/deployments.generated.js.map +1 -0
- package/dist/deployments.generated.mjs +3 -0
- package/dist/deployments.generated.mjs.map +1 -0
- package/dist/entities/DopplerFactory.d.mts +139 -11
- package/dist/entities/DopplerFactory.d.ts +139 -11
- package/dist/entities/DopplerFactory.js +17 -7
- package/dist/entities/DopplerFactory.mjs +16 -6
- package/dist/entities/auction/DynamicAuction.d.mts +19 -4
- package/dist/entities/auction/DynamicAuction.d.ts +19 -4
- package/dist/entities/auction/DynamicAuction.js +6 -6
- package/dist/entities/auction/DynamicAuction.mjs +5 -5
- package/dist/entities/auction/MulticurvePool.d.mts +55 -0
- package/dist/entities/auction/MulticurvePool.d.ts +55 -0
- package/dist/entities/auction/MulticurvePool.js +18 -0
- package/dist/entities/auction/MulticurvePool.js.map +1 -0
- package/dist/entities/auction/MulticurvePool.mjs +9 -0
- package/dist/entities/auction/MulticurvePool.mjs.map +1 -0
- package/dist/entities/auction/StaticAuction.d.mts +6 -3
- package/dist/entities/auction/StaticAuction.d.ts +6 -3
- package/dist/entities/auction/StaticAuction.js +6 -6
- package/dist/entities/auction/StaticAuction.mjs +5 -5
- package/dist/entities/auction/index.d.mts +3 -0
- package/dist/entities/auction/index.d.ts +3 -0
- package/dist/entities/auction/index.js +16 -9
- package/dist/entities/auction/index.mjs +10 -7
- package/dist/entities/quoter/Quoter.d.mts +44 -2
- package/dist/entities/quoter/Quoter.d.ts +44 -2
- package/dist/entities/quoter/Quoter.js +6 -6
- package/dist/entities/quoter/Quoter.mjs +5 -5
- package/dist/entities/quoter/index.d.mts +3 -0
- package/dist/entities/quoter/index.d.ts +3 -0
- package/dist/entities/quoter/index.js +6 -6
- package/dist/entities/quoter/index.mjs +5 -5
- package/dist/entities/token/derc20/Derc20.d.mts +33 -7
- package/dist/entities/token/derc20/Derc20.d.ts +33 -7
- package/dist/entities/token/derc20/Derc20.js +4 -5
- package/dist/entities/token/derc20/Derc20.mjs +3 -4
- package/dist/entities/token/derc20/index.d.mts +3 -0
- package/dist/entities/token/derc20/index.d.ts +3 -0
- package/dist/entities/token/derc20/index.js +4 -5
- package/dist/entities/token/derc20/index.mjs +3 -4
- package/dist/entities/token/eth/Eth.d.mts +7 -3
- package/dist/entities/token/eth/Eth.d.ts +7 -3
- package/dist/entities/token/eth/Eth.js +2 -3
- package/dist/entities/token/eth/Eth.mjs +1 -2
- package/dist/entities/token/eth/index.d.mts +3 -0
- package/dist/entities/token/eth/index.d.ts +3 -0
- package/dist/entities/token/eth/index.js +2 -3
- package/dist/entities/token/eth/index.mjs +1 -2
- package/dist/entities/token/index.d.mts +3 -0
- package/dist/entities/token/index.d.ts +3 -0
- package/dist/entities/token/index.js +6 -7
- package/dist/entities/token/index.mjs +4 -5
- package/dist/index.d.mts +18 -6
- package/dist/index.d.ts +18 -6
- package/dist/index.js +305 -140
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -19
- package/dist/index.mjs.map +1 -1
- package/dist/types.d.mts +260 -22
- package/dist/types.d.ts +260 -22
- package/dist/types.js +12 -3
- package/dist/types.mjs +3 -2
- package/dist/utils/airlock.d.mts +11 -0
- package/dist/utils/airlock.d.ts +11 -0
- package/dist/utils/airlock.js +26 -0
- package/dist/utils/airlock.js.map +1 -0
- package/dist/utils/airlock.mjs +5 -0
- package/dist/utils/airlock.mjs.map +1 -0
- package/dist/utils/balanceDelta.d.mts +10 -0
- package/dist/utils/balanceDelta.d.ts +10 -0
- package/dist/utils/balanceDelta.js +12 -0
- package/dist/utils/balanceDelta.js.map +1 -0
- package/dist/utils/balanceDelta.mjs +3 -0
- package/dist/utils/balanceDelta.mjs.map +1 -0
- package/dist/utils/computeOptimalGamma.d.mts +7 -0
- package/dist/utils/computeOptimalGamma.d.ts +7 -0
- package/dist/utils/computeOptimalGamma.js +12 -0
- package/dist/utils/computeOptimalGamma.js.map +1 -0
- package/dist/utils/computeOptimalGamma.mjs +3 -0
- package/dist/utils/computeOptimalGamma.mjs.map +1 -0
- package/dist/utils/index.d.mts +11 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.js +114 -24
- package/dist/utils/index.mjs +14 -4
- package/dist/utils/isToken0Expected.d.mts +13 -0
- package/dist/utils/isToken0Expected.d.ts +13 -0
- package/dist/utils/isToken0Expected.js +12 -0
- package/dist/utils/isToken0Expected.js.map +1 -0
- package/dist/utils/isToken0Expected.mjs +3 -0
- package/dist/utils/isToken0Expected.mjs.map +1 -0
- package/dist/utils/marketCapHelpers.d.mts +309 -0
- package/dist/utils/marketCapHelpers.d.ts +309 -0
- package/dist/utils/marketCapHelpers.js +54 -0
- package/dist/utils/marketCapHelpers.js.map +1 -0
- package/dist/utils/marketCapHelpers.mjs +5 -0
- package/dist/utils/marketCapHelpers.mjs.map +1 -0
- package/dist/utils/poolKey.d.mts +17 -0
- package/dist/utils/poolKey.d.ts +17 -0
- package/dist/utils/poolKey.js +12 -0
- package/dist/utils/poolKey.js.map +1 -0
- package/dist/utils/poolKey.mjs +3 -0
- package/dist/utils/poolKey.mjs.map +1 -0
- package/dist/utils/priceHelpers.d.mts +3 -3
- package/dist/utils/priceHelpers.d.ts +3 -3
- package/dist/utils/priceHelpers.js +10 -11
- package/dist/utils/priceHelpers.mjs +2 -3
- package/dist/utils/tickMath.d.mts +8 -1
- package/dist/utils/tickMath.d.ts +8 -1
- package/dist/utils/tickMath.js +17 -14
- package/dist/utils/tickMath.mjs +1 -2
- package/dist/utils/tokenAddressMiner.d.mts +30 -0
- package/dist/utils/tokenAddressMiner.d.ts +30 -0
- package/dist/utils/tokenAddressMiner.js +14 -0
- package/dist/utils/tokenAddressMiner.js.map +1 -0
- package/dist/utils/tokenAddressMiner.mjs +5 -0
- package/dist/utils/tokenAddressMiner.mjs.map +1 -0
- package/package.json +14 -11
- package/dist/__tests__/mocks/addresses.d.mts +0 -46
- package/dist/__tests__/mocks/addresses.d.ts +0 -46
- package/dist/__tests__/mocks/addresses.js +0 -53
- package/dist/__tests__/mocks/addresses.js.map +0 -1
- package/dist/__tests__/mocks/addresses.mjs +0 -44
- package/dist/__tests__/mocks/addresses.mjs.map +0 -1
- package/dist/__tests__/mocks/clients.d.mts +0 -22
- package/dist/__tests__/mocks/clients.d.ts +0 -22
- package/dist/__tests__/mocks/clients.js +0 -17036
- package/dist/__tests__/mocks/clients.js.map +0 -1
- package/dist/__tests__/mocks/clients.mjs +0 -17032
- package/dist/__tests__/mocks/clients.mjs.map +0 -1
- package/dist/chunk-2N5JZSZ4.js +0 -14
- package/dist/chunk-2N5JZSZ4.js.map +0 -1
- package/dist/chunk-4K5GBNQV.mjs.map +0 -1
- package/dist/chunk-7F5IXZLH.js +0 -308
- package/dist/chunk-7F5IXZLH.js.map +0 -1
- package/dist/chunk-7W72MFJO.mjs.map +0 -1
- package/dist/chunk-AQPINKEW.mjs.map +0 -1
- package/dist/chunk-AXA7YT2G.mjs.map +0 -1
- package/dist/chunk-AYPP5JEQ.mjs.map +0 -1
- package/dist/chunk-AZLFJNTG.mjs +0 -3
- package/dist/chunk-CIRZKWLL.js.map +0 -1
- package/dist/chunk-CIVGL27M.mjs +0 -160
- package/dist/chunk-CIVGL27M.mjs.map +0 -1
- package/dist/chunk-CYDWEPFL.mjs +0 -3
- package/dist/chunk-DCFHANLR.mjs.map +0 -1
- package/dist/chunk-DRBRT57F.js +0 -4
- package/dist/chunk-EFAPDN4J.js.map +0 -1
- package/dist/chunk-EIRVZJTT.js.map +0 -1
- package/dist/chunk-ER42VG7H.js.map +0 -1
- package/dist/chunk-FPGJKJIR.js +0 -872
- package/dist/chunk-FPGJKJIR.js.map +0 -1
- package/dist/chunk-HRFHDSNE.js +0 -180
- package/dist/chunk-HRFHDSNE.js.map +0 -1
- package/dist/chunk-IHBIBFZK.mjs +0 -12
- package/dist/chunk-IHBIBFZK.mjs.map +0 -1
- package/dist/chunk-JIDZBQ7R.mjs +0 -870
- package/dist/chunk-JIDZBQ7R.mjs.map +0 -1
- package/dist/chunk-KEXKKQVW.js +0 -42
- package/dist/chunk-KFD6U3LQ.mjs +0 -305
- package/dist/chunk-KFD6U3LQ.mjs.map +0 -1
- package/dist/chunk-KPBCG4X2.js.map +0 -1
- package/dist/chunk-KRN3ROUE.js +0 -4
- package/dist/chunk-KT7U37XS.mjs +0 -207
- package/dist/chunk-KT7U37XS.mjs.map +0 -1
- package/dist/chunk-LOROXNH3.mjs +0 -37
- package/dist/chunk-LOROXNH3.mjs.map +0 -1
- package/dist/chunk-LZO67TYV.mjs +0 -176
- package/dist/chunk-LZO67TYV.mjs.map +0 -1
- package/dist/chunk-MZ2UBC4M.mjs +0 -80
- package/dist/chunk-MZ2UBC4M.mjs.map +0 -1
- package/dist/chunk-OPKQMN46.mjs.map +0 -1
- package/dist/chunk-PMIJTXU6.js.map +0 -1
- package/dist/chunk-T644D54P.mjs.map +0 -1
- package/dist/chunk-TOMVBPNZ.js.map +0 -1
- package/dist/chunk-UHT4QLL7.js +0 -162
- package/dist/chunk-UHT4QLL7.js.map +0 -1
- package/dist/chunk-XG7K4R56.js.map +0 -1
- package/dist/chunk-YNP2HGJZ.js +0 -82
- package/dist/chunk-YNP2HGJZ.js.map +0 -1
- package/dist/chunk-ZAIP54LX.js +0 -209
- package/dist/chunk-ZAIP54LX.js.map +0 -1
- package/dist/magic-string.es-CBLXTCZP.js +0 -1304
- package/dist/magic-string.es-CBLXTCZP.js.map +0 -1
- package/dist/magic-string.es-QHA47FSB.mjs +0 -1298
- package/dist/magic-string.es-QHA47FSB.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/deployments.generated.ts"],"names":[],"mappings":"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","file":"chunk-CVHPLURA.js","sourcesContent":["// AUTO-GENERATED FILE. DO NOT EDIT.\n// Generated by scripts/generate-addresses.mjs\n// Source: ../doppler/Deployments.json\n// WARNING: This file is an internal build artifact and is NOT part of the public API.\n// WARNING: Do NOT import from this file directly. It should not appear in IDE IntelliSense/suggestions.\n// WARNING: If you need Doppler addresses, import from @addresses.ts instead (e.g. use ADDRESSES / getAddresses).\n\n/** @internal */\nexport type GeneratedDopplerDeployments = Record<string, Record<string, string>>\n\n/** @internal */\nexport const GENERATED_DOPPLER_DEPLOYMENTS = {\n \"130\": {\n \"Airlock\": \"0x77EbfBAE15AD200758E9E2E61597c0B07d731254\",\n \"Bundler\": \"0x91231cDdD8d6C86Df602070a3081478e074b97b7\",\n \"DopplerDeployer\": \"0x0d2f38d807bfAd5C18e430516e10ab560D300caF\",\n \"DopplerLensQuoter\": \"0x82Ac010C67f70BACf7655cd8948a4AD92A173CAC\",\n \"GovernanceFactory\": \"0x99C94B9Df930E1E21a4E4a2c105dBff21bF5c5aE\",\n \"LockableUniswapV3Initializer\": \"0xA3C847eAb58eAa9cbc215C785c9cfBc19CDABD5f\",\n \"NoOpGovernanceFactory\": \"0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299\",\n \"NoOpMigrator\": \"0x917da361072ce968acD810BbfC9B64079426ebf0\",\n \"StreamableFeesLocker\": \"0x6ddfED58D238Ca3195E49d8ac3d4cEa6386E5C33\",\n \"TokenFactory\": \"0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3\",\n \"UniswapV2Migrator\": \"0xf6023127f6E937091D5B605680056A6D27524bad\",\n \"UniswapV3Initializer\": \"0x9F4e56be80f08ba1A2445645EFa6d231E27b43ec\",\n \"UniswapV4Initializer\": \"0x4B0EC16Eb40318Ca5A4346f20F04A2285C19675B\",\n \"UniswapV4Migrator\": \"0x49F3fBB2dFF7f3d03B622e3b2a6d3F2E6fdB2a5A\",\n \"UniswapV4MigratorHook\": \"0x53C050d3B09C80024138165520Bd7c078D9e2000\"\n },\n \"143\": {\n \"Airlock\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\",\n \"AirlockMultisig\": \"0x9916Ec1c1E0462F6F8f7514e414F06bf001Ac82A\",\n \"Bundler\": \"0xC99b485499f78995C6F1640dbB1413c57f8BA684\",\n \"GovernanceFactory\": \"0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45\",\n \"LaunchpadGovernanceFactory\": \"0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D\",\n \"LockableUniswapV3Initializer\": \"0x8b4C7DB9121FC885689C0A50D5a1429F15AEc2a0\",\n \"NoOpGovernanceFactory\": \"0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9\",\n \"NoOpMigrator\": \"0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731\",\n \"TokenFactory\": \"0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5\",\n \"UniswapV2Migrator\": \"0x136191B46478cAB023cbC01a36160C4Aad81677a\",\n \"UniswapV4ScheduledMulticurveInitializer\": \"0xCe3099B2F07029b086E5e92a1573C5f5A3071783\",\n \"UniswapV4ScheduledMulticurveInitializerHook\": \"0x580ca49389d83b019d07E17e99454f2F218e2dc0\"\n },\n \"1301\": {\n \"Airlock\": \"0x0d2f38d807bfAd5C18e430516e10ab560D300caF\",\n \"AirlockMultisig\": \"0x40Bcb4dDA3BcF7dba30C5d10c31EE2791ed9ddCa\",\n \"Bundler\": \"0xED344444633B965cd148F8fFCE3765938A179094\",\n \"DopplerDeployer\": \"0x77B5F559EE9cf3bfcf2fFf5731a84332D8eECAC9\",\n \"DopplerLensQuoter\": \"0x917da361072ce968acD810BbfC9B64079426ebf0\",\n \"GovernanceFactory\": \"0x4225C632b62622Bd7B0A3eC9745C0a866Ff94F6F\",\n \"LockableUniswapV3Initializer\": \"0x9dFb775dB7b005d9Dc77DA84D8b2e42C281D0344\",\n \"NoOpGovernanceFactory\": \"0x7E5D336A6E9e453c9f02E5102CC039E015Fd8fb8\",\n \"NoOpMigrator\": \"0x193F48A45B6025dDeD10bc4BaeEF65c833696387\",\n \"StreamableFeesLocker\": \"0x1728E8B3282502f275949109331E070b819B38eA\",\n \"TokenFactory\": \"0x82Ac010C67f70BACf7655cd8948a4AD92A173CAC\",\n \"UniswapV2Migrator\": \"0x620e3fec244e913d73f2163623b62d02DB69638B\",\n \"UniswapV3Initializer\": \"0xE0dC4012AC9C868F09c6e4b20d66ED46D6F258d0\",\n \"UniswapV4Initializer\": \"0x70d20cd48791E527036491dc464C8Dc58351Dd93\",\n \"UniswapV4Migrator\": \"0xb6D69eAA98E657bEEFF7ca4452768e6f707aa6b1\",\n \"UniswapV4MigratorHook\": \"0xFB0671Ec46190b09255776d2D77744fa101Ba500\",\n \"UniswapV4MulticurveInitializer\": \"0xac7939F1B4079d55A7fA4DFA314Ac0173A77bA40\",\n \"UniswapV4MulticurveInitializerHook\": \"0x11b55A121a38FDab8FAF16f9f1A4f124E3f42d40\"\n },\n \"4801\": {\n \"Airlock\": \"0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731\",\n \"GovernanceFactory\": \"0x136191B46478cAB023cbC01a36160C4Aad81677a\",\n \"TokenFactory\": \"0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D\",\n \"UniswapV2Migrator\": \"0x8b4C7DB9121FC885689C0A50D5a1429F15AEc2a0\",\n \"UniswapV3Initializer\": \"0x9916Ec1c1E0462F6F8f7514e414F06bf001Ac82A\",\n \"WETH\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\"\n },\n \"8453\": {\n \"Airlock\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\",\n \"Bundler\": \"0x136191B46478cAB023cbC01a36160C4Aad81677a\",\n \"DopplerDeployer\": \"0x49F3fBB2dFF7f3d03B622e3b2a6d3F2E6fdB2a5A\",\n \"DopplerLensQuoter\": \"0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3\",\n \"GovernanceFactory\": \"0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B\",\n \"LaunchpadGovernanceFactory\": \"0x40Bcb4dDA3BcF7dba30C5d10c31EE2791ed9ddCa\",\n \"LockableUniswapV3Initializer\": \"0xE0dC4012AC9C868F09c6e4b20d66ED46D6F258d0\",\n \"NoOpGovernanceFactory\": \"0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299\",\n \"NoOpMigrator\": \"0x6ddfED58D238Ca3195E49d8ac3d4cEa6386E5C33\",\n \"StreamableFeesLocker\": \"0x0A00775D71a42cd33D62780003035e7F5b47bD3A\",\n \"TokenFactory\": \"0x4225C632b62622Bd7B0A3eC9745C0a866Ff94F6F\",\n \"UniswapV2Migrator\": \"0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731\",\n \"UniswapV3Initializer\": \"0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5\",\n \"UniswapV4Initializer\": \"0xED344444633B965cd148F8fFCE3765938A179094\",\n \"UniswapV4Migrator\": \"0x166109C4EE7fE69164631Caa937dAA5F5cEbFef0\",\n \"UniswapV4MigratorHook\": \"0x45178A8D6d368D612B7552B217802b7F97262000\",\n \"UniswapV4MulticurveInitializer\": \"0x65dE470Da664A5be139A5D812bE5FDa0d76CC951\",\n \"UniswapV4MulticurveInitializerHook\": \"0x892D3C2B4ABEAAF67d52A7B29783E2161B7CaD40\",\n \"UniswapV4ScheduledMulticurveInitializer\": \"0xA36715dA46Ddf4A769f3290f49AF58bF8132ED8E\",\n \"UniswapV4ScheduledMulticurveInitializerHook\": \"0x3e342a06f9592459D75721d6956B570F02eF2Dc0\"\n },\n \"10143\": {\n \"Airlock\": \"0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B\",\n \"AirlockMultisig\": \"0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299\",\n \"Bundler\": \"0xf6023127f6E937091D5B605680056A6D27524bad\",\n \"DopplerDeployer\": \"0x166109C4EE7fE69164631Caa937dAA5F5cEbFef0\",\n \"DopplerLensQuoter\": \"0x2F2BAcd46d3F5c9EE052Ab392b73711dB89129DB\",\n \"GovernanceFactory\": \"0x014E1c0bd34f3B10546E554CB33B3293fECDD056\",\n \"LockableUniswapV3Initializer\": \"0x99C94B9Df930E1E21a4E4a2c105dBff21bF5c5aE\",\n \"NoOpGovernanceFactory\": \"0x094D926A969B3024ca46D2186BF13FD5CDBA9CE2\",\n \"NoOpMigrator\": \"0x5CadB034267751a364dDD4d321C99E07A307f915\",\n \"StreamableFeesLocker\": \"0x0d2f38d807bfAd5C18e430516e10ab560D300caF\",\n \"TokenFactory\": \"0x8AF018e28c273826e6b2d5a99e81c8fB63729b07\",\n \"UniswapV2Migrator\": \"0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3\",\n \"UniswapV3Initializer\": \"0x9F4e56be80f08ba1A2445645EFa6d231E27b43ec\",\n \"UniswapV4Initializer\": \"0x06FEFD02F0b6d9f57F52cfacFc113665Dfa20F0f\",\n \"UniswapV4Migrator\": \"0x4B0EC16Eb40318Ca5A4346f20F04A2285C19675B\",\n \"UniswapV4MigratorHook\": \"0x76E1f507592d9856B48482c599732d129eD6a500\",\n \"UniswapV4MulticurveInitializer\": \"0xA3C847eAb58eAa9cbc215C785c9cfBc19CDABD5f\",\n \"UniswapV4MulticurveInitializerHook\": \"0xFaF16d11737E6552156DD328cD26C530e1da2D40\",\n \"WETH\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\"\n },\n \"57073\": {\n \"Airlock\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\",\n \"Bundler\": \"0x136191B46478cAB023cbC01a36160C4Aad81677a\",\n \"DopplerDeployer\": \"0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B\",\n \"DopplerLensQuoter\": \"0x8AF018e28c273826e6b2d5a99e81c8fB63729b07\",\n \"GovernanceFactory\": \"0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9\",\n \"TokenFactory\": \"0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45\",\n \"UniswapV2Migrator\": \"0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731\",\n \"UniswapV3Initializer\": \"0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5\",\n \"UniswapV4Initializer\": \"0x014E1c0bd34f3B10546E554CB33B3293fECDD056\"\n },\n \"84532\": {\n \"Airlock\": \"0x3411306Ce66c9469BFF1535BA955503c4Bde1C6e\",\n \"AirlockMultisig\": \"0x852a09C89463D236eea2f097623574f23E225769\",\n \"BasicMultisig\": \"0x6f645FA08B7eadAD620CEC85634204b1d7A46DC2\",\n \"Bundler\": \"0xab7BACB0d5C2C10152f92D34e07F530EB3CB0Fb1\",\n \"DopplerDeployer\": \"0x82D727ffda3F874da802663fC2f3f4b83dC3AAbA\",\n \"DopplerLensQuoter\": \"0x4a8d81Db741248a36D9eb3bc6eF648Bf798B47a7\",\n \"GovernanceFactory\": \"0x9dBFaaDC8c0cB2c34bA698DD9426555336992e20\",\n \"LockableUniswapV3Initializer\": \"0x16AdA5Be50C3c2D94Af5fEae6b539C40A78Ad53c\",\n \"NoOpGovernanceFactory\": \"0x7bD798fafC99A3b17E261F8308A8C11B56935ea1\",\n \"NoOpMigrator\": \"0xF11066abbd329ac4bBA39455340539322C222eb0\",\n \"StreamableFeesLocker\": \"0x3345E557c5C0b474bE1eb4693264008B8562Aa9c\",\n \"TeamGovernanceFactory\": \"0x8aF3001ED75F86f4Dd910577ECa9C5dB7CEa765c\",\n \"TokenFactory\": \"0x9D8fd79B2a59c5d91ccBd79c3AEb4de56451Bb02\",\n \"UniswapV2Migrator\": \"0x04a898f3722c38F9Def707bD17DC78920EFA977C\",\n \"UniswapV3Initializer\": \"0x4C3062B9ccFdbCB10353F57C1B59a29d4c5CFa47\",\n \"UniswapV4Initializer\": \"0x832e4763dEEcB9941a768f2bBd18583219F018Cc\",\n \"UniswapV4Migrator\": \"0xf326D8cdB65A4ad334cFBdD7d3A3CB27Be8b770d\",\n \"UniswapV4MigratorHook\": \"0x9D0C38A80647E53D5a8a319B39De2B66B8586500\",\n \"UniswapV4MulticurveInitializer\": \"0x1718405E58c61425cDc0083262bC9f72198F5232\",\n \"UniswapV4MulticurveInitializerHook\": \"0x6a1061FC558dDe1E6fD0eFd641b370d435b56d40\",\n \"UniswapV4ScheduledMulticurveInitializer\": \"0x5C10D3e14Aae2Ef95619B25E907E013260E832E4\",\n \"UniswapV4ScheduledMulticurveInitializerHook\": \"0x5D663F9C993deFf2D17ce4232D75f347df7DADc0\",\n \"WETH\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\"\n }\n} as const\n"]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { DynamicAuction } from './chunk-J5BFFL3X.mjs';
|
|
2
|
+
import { MulticurvePool } from './chunk-MNXD45J7.mjs';
|
|
3
|
+
import { StaticAuction } from './chunk-AKSEBAR7.mjs';
|
|
4
|
+
import { Quoter } from './chunk-EDJBZPMW.mjs';
|
|
5
|
+
import { Derc20 } from './chunk-NZ4BJ2IC.mjs';
|
|
6
|
+
import { DopplerFactory } from './chunk-TKSHYEYA.mjs';
|
|
7
|
+
import { DynamicAuctionBuilder } from './chunk-MCOK3UFR.mjs';
|
|
8
|
+
import { MulticurveBuilder } from './chunk-AULFBXM5.mjs';
|
|
9
|
+
import { StaticAuctionBuilder } from './chunk-SP5M57BG.mjs';
|
|
10
|
+
import { getAirlockOwner, DEFAULT_AIRLOCK_BENEFICIARY_SHARES, getAirlockBeneficiary } from './chunk-M4WMHD3X.mjs';
|
|
11
|
+
|
|
12
|
+
// src/DopplerSDK.ts
|
|
13
|
+
var DopplerSDK = class {
|
|
14
|
+
constructor(config) {
|
|
15
|
+
this.publicClient = config.publicClient;
|
|
16
|
+
this.walletClient = config.walletClient;
|
|
17
|
+
this.chainId = config.chainId;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the factory instance for creating auctions
|
|
21
|
+
*/
|
|
22
|
+
get factory() {
|
|
23
|
+
if (!this._factory) {
|
|
24
|
+
this._factory = new DopplerFactory(this.publicClient, this.walletClient, this.chainId);
|
|
25
|
+
}
|
|
26
|
+
return this._factory;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the quoter instance for price queries
|
|
30
|
+
*/
|
|
31
|
+
get quoter() {
|
|
32
|
+
if (!this._quoter) {
|
|
33
|
+
this._quoter = new Quoter(this.publicClient, this.chainId);
|
|
34
|
+
}
|
|
35
|
+
return this._quoter;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get a StaticAuction instance for interacting with a static auction pool
|
|
39
|
+
* @param poolAddress The address of the Uniswap V3 pool
|
|
40
|
+
*/
|
|
41
|
+
async getStaticAuction(poolAddress) {
|
|
42
|
+
return new StaticAuction(this.publicClient, poolAddress);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get a DynamicAuction instance for interacting with a dynamic auction hook
|
|
46
|
+
* @param hookAddress The address of the Uniswap V4 hook
|
|
47
|
+
*/
|
|
48
|
+
async getDynamicAuction(hookAddress) {
|
|
49
|
+
return new DynamicAuction(this.publicClient, hookAddress);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get a MulticurvePool instance for interacting with a V4 multicurve pool
|
|
53
|
+
* @param poolAddress The address of the V4 pool
|
|
54
|
+
*/
|
|
55
|
+
async getMulticurvePool(poolAddress) {
|
|
56
|
+
return new MulticurvePool(this.publicClient, this.walletClient, poolAddress);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get a DERC20 token instance for interacting with a token
|
|
60
|
+
* @param tokenAddress The address of the DERC20 token
|
|
61
|
+
*/
|
|
62
|
+
getDerc20(tokenAddress) {
|
|
63
|
+
return new Derc20(this.publicClient, this.walletClient, tokenAddress);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get information about a static auction pool
|
|
67
|
+
* @param poolAddress The address of the pool
|
|
68
|
+
*/
|
|
69
|
+
async getPoolInfo(poolAddress) {
|
|
70
|
+
const auction = new StaticAuction(this.publicClient, poolAddress);
|
|
71
|
+
return auction.getPoolInfo();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get information about a dynamic auction hook
|
|
75
|
+
* @param hookAddress The address of the hook
|
|
76
|
+
*/
|
|
77
|
+
async getHookInfo(hookAddress) {
|
|
78
|
+
const auction = new DynamicAuction(this.publicClient, hookAddress);
|
|
79
|
+
return auction.getHookInfo();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Create a new static auction builder
|
|
83
|
+
*/
|
|
84
|
+
buildStaticAuction() {
|
|
85
|
+
return new StaticAuctionBuilder(this.chainId);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Create a new dynamic auction builder
|
|
89
|
+
*/
|
|
90
|
+
buildDynamicAuction() {
|
|
91
|
+
return new DynamicAuctionBuilder(this.chainId);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Create a new multicurve (V4 initializer) auction builder
|
|
95
|
+
*/
|
|
96
|
+
buildMulticurveAuction() {
|
|
97
|
+
return new MulticurveBuilder(this.chainId);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the current chain ID
|
|
101
|
+
*/
|
|
102
|
+
getChainId() {
|
|
103
|
+
return this.chainId;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get the underlying clients
|
|
107
|
+
*/
|
|
108
|
+
getClients() {
|
|
109
|
+
return {
|
|
110
|
+
publicClient: this.publicClient,
|
|
111
|
+
walletClient: this.walletClient
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Get the airlock owner address for the configured chain
|
|
116
|
+
*/
|
|
117
|
+
async getAirlockOwner() {
|
|
118
|
+
return getAirlockOwner(this.publicClient);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Convenience helper for building the airlock beneficiary entry with the default 5% (0.05e18 WAD shares)
|
|
122
|
+
*/
|
|
123
|
+
async getAirlockBeneficiary(shares = DEFAULT_AIRLOCK_BENEFICIARY_SHARES) {
|
|
124
|
+
return getAirlockBeneficiary(this.publicClient, shares);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
export { DopplerSDK };
|
|
129
|
+
//# sourceMappingURL=chunk-D2RBCFNW.mjs.map
|
|
130
|
+
//# sourceMappingURL=chunk-D2RBCFNW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/DopplerSDK.ts"],"names":[],"mappings":"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","file":"chunk-D2RBCFNW.mjs","sourcesContent":["import type { Address, WalletClient } from 'viem'\nimport type { BeneficiaryData, DopplerSDKConfig, HookInfo, PoolInfo, SupportedPublicClient } from './types'\nimport type { SupportedChainId } from './addresses'\nimport { DopplerFactory } from './entities/DopplerFactory'\nimport { StaticAuction, DynamicAuction, MulticurvePool } from './entities/auction'\nimport { Quoter } from './entities/quoter'\nimport { Derc20 } from './entities/token'\nimport { StaticAuctionBuilder, DynamicAuctionBuilder, MulticurveBuilder } from './builders'\nimport { DEFAULT_AIRLOCK_BENEFICIARY_SHARES, getAirlockBeneficiary, getAirlockOwner as fetchAirlockOwner } from './utils/airlock'\n\nexport class DopplerSDK<C extends SupportedChainId = SupportedChainId> {\n private publicClient: SupportedPublicClient\n private walletClient?: WalletClient\n public chainId: C\n private _factory?: DopplerFactory<C>\n private _quoter?: Quoter\n\n constructor(config: DopplerSDKConfig) {\n this.publicClient = config.publicClient\n this.walletClient = config.walletClient\n this.chainId = (config.chainId as unknown) as C\n }\n\n /**\n * Get the factory instance for creating auctions\n */\n get factory(): DopplerFactory<C> {\n if (!this._factory) {\n this._factory = new DopplerFactory(this.publicClient, this.walletClient, this.chainId)\n }\n return this._factory\n }\n\n /**\n * Get the quoter instance for price queries\n */\n get quoter(): Quoter {\n if (!this._quoter) {\n this._quoter = new Quoter(this.publicClient, this.chainId)\n }\n return this._quoter\n }\n\n /**\n * Get a StaticAuction instance for interacting with a static auction pool\n * @param poolAddress The address of the Uniswap V3 pool\n */\n async getStaticAuction(poolAddress: Address): Promise<StaticAuction> {\n return new StaticAuction(this.publicClient, poolAddress)\n }\n\n /**\n * Get a DynamicAuction instance for interacting with a dynamic auction hook\n * @param hookAddress The address of the Uniswap V4 hook\n */\n async getDynamicAuction(hookAddress: Address): Promise<DynamicAuction> {\n return new DynamicAuction(this.publicClient, hookAddress)\n }\n\n /**\n * Get a MulticurvePool instance for interacting with a V4 multicurve pool\n * @param poolAddress The address of the V4 pool\n */\n async getMulticurvePool(poolAddress: Address): Promise<MulticurvePool> {\n return new MulticurvePool(this.publicClient, this.walletClient, poolAddress)\n }\n\n /**\n * Get a DERC20 token instance for interacting with a token\n * @param tokenAddress The address of the DERC20 token\n */\n getDerc20(tokenAddress: Address): Derc20 {\n return new Derc20(this.publicClient, this.walletClient, tokenAddress)\n }\n\n /**\n * Get information about a static auction pool\n * @param poolAddress The address of the pool\n */\n async getPoolInfo(poolAddress: Address): Promise<PoolInfo> {\n const auction = new StaticAuction(this.publicClient, poolAddress)\n return auction.getPoolInfo()\n }\n\n /**\n * Get information about a dynamic auction hook\n * @param hookAddress The address of the hook\n */\n async getHookInfo(hookAddress: Address): Promise<HookInfo> {\n const auction = new DynamicAuction(this.publicClient, hookAddress)\n return auction.getHookInfo()\n }\n\n /**\n * Create a new static auction builder\n */\n buildStaticAuction(): StaticAuctionBuilder<C> {\n return new StaticAuctionBuilder(this.chainId)\n }\n\n /**\n * Create a new dynamic auction builder\n */\n buildDynamicAuction(): DynamicAuctionBuilder<C> {\n return new DynamicAuctionBuilder(this.chainId)\n }\n\n /**\n * Create a new multicurve (V4 initializer) auction builder\n */\n buildMulticurveAuction(): MulticurveBuilder<C> {\n return new MulticurveBuilder(this.chainId)\n }\n\n /**\n * Get the current chain ID\n */\n getChainId(): C {\n return this.chainId\n }\n\n /**\n * Get the underlying clients\n */\n getClients(): { publicClient: SupportedPublicClient; walletClient?: WalletClient } {\n return {\n publicClient: this.publicClient,\n walletClient: this.walletClient\n }\n }\n\n /**\n * Get the airlock owner address for the configured chain\n */\n async getAirlockOwner(): Promise<Address> {\n return fetchAirlockOwner(this.publicClient)\n }\n\n /**\n * Convenience helper for building the airlock beneficiary entry with the default 5% (0.05e18 WAD shares)\n */\n async getAirlockBeneficiary(shares: bigint = DEFAULT_AIRLOCK_BENEFICIARY_SHARES): Promise<BeneficiaryData> {\n return getAirlockBeneficiary(this.publicClient, shares)\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/utils/balanceDelta.ts
|
|
2
|
+
function decodeBalanceDelta(delta) {
|
|
3
|
+
const mask = (1n << 128n) - 1n;
|
|
4
|
+
const amount0 = BigInt.asIntN(128, delta >> 128n);
|
|
5
|
+
const amount1 = BigInt.asIntN(128, delta & mask);
|
|
6
|
+
return { amount0, amount1 };
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { decodeBalanceDelta };
|
|
10
|
+
//# sourceMappingURL=chunk-ECD4FV3A.mjs.map
|
|
11
|
+
//# sourceMappingURL=chunk-ECD4FV3A.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/balanceDelta.ts"],"names":[],"mappings":";AAIO,SAAS,mBAAmB,KAAA,EAAqD;AACtF,EAAA,MAAM,IAAA,GAAA,CAAQ,MAAM,IAAA,IAAQ,EAAA;AAC5B,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,GAAA,EAAK,SAAS,IAAI,CAAA;AAChD,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,GAAA,EAAK,QAAQ,IAAI,CAAA;AAC/C,EAAA,OAAO,EAAE,SAAS,OAAA,EAAQ;AAC5B","file":"chunk-ECD4FV3A.mjs","sourcesContent":["/**\n * Decode a Uniswap V4 BalanceDelta (int256) value into separate int128 deltas.\n * The upper 128 bits represent amount0, the lower 128 bits represent amount1.\n */\nexport function decodeBalanceDelta(delta: bigint): { amount0: bigint; amount1: bigint } {\n const mask = (1n << 128n) - 1n\n const amount0 = BigInt.asIntN(128, delta >> 128n)\n const amount1 = BigInt.asIntN(128, delta & mask)\n return { amount0, amount1 }\n}\n\n"]}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { quoterV2Abi, uniswapV2Router02Abi, v4QuoterAbi } from './chunk-OTG75GVH.mjs';
|
|
2
|
+
import { getAddresses } from './chunk-AW3WR2D3.mjs';
|
|
3
|
+
import { decodeAbiParameters } from 'viem';
|
|
4
|
+
|
|
5
|
+
var Quoter = class {
|
|
6
|
+
get rpc() {
|
|
7
|
+
return this.publicClient;
|
|
8
|
+
}
|
|
9
|
+
constructor(publicClient, chainId) {
|
|
10
|
+
this.publicClient = publicClient;
|
|
11
|
+
this.chainId = chainId;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get a price quote for swapping an exact amount of input tokens on Uniswap V3
|
|
15
|
+
* @param params Parameters for the quote
|
|
16
|
+
* @returns Quote result including output amount and price impact
|
|
17
|
+
*/
|
|
18
|
+
async quoteExactInputV3(params) {
|
|
19
|
+
const addresses = getAddresses(this.chainId);
|
|
20
|
+
try {
|
|
21
|
+
const { result } = await this.rpc.simulateContract({
|
|
22
|
+
address: addresses.v3Quoter,
|
|
23
|
+
abi: quoterV2Abi,
|
|
24
|
+
functionName: "quoteExactInputSingle",
|
|
25
|
+
args: [{
|
|
26
|
+
tokenIn: params.tokenIn,
|
|
27
|
+
tokenOut: params.tokenOut,
|
|
28
|
+
amountIn: params.amountIn,
|
|
29
|
+
fee: params.fee,
|
|
30
|
+
sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0)
|
|
31
|
+
}]
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
amountOut: result[0],
|
|
35
|
+
sqrtPriceX96After: result[1],
|
|
36
|
+
initializedTicksCrossed: result[2],
|
|
37
|
+
gasEstimate: result[3]
|
|
38
|
+
};
|
|
39
|
+
} catch (err) {
|
|
40
|
+
const revertData = err?.cause?.data || err.data;
|
|
41
|
+
if (revertData && typeof revertData === "string" && revertData.startsWith("0x")) {
|
|
42
|
+
try {
|
|
43
|
+
const [amount, sqrtPriceX96After] = decodeAbiParameters(
|
|
44
|
+
[{ type: "uint256" }, { type: "uint160" }, { type: "int24" }],
|
|
45
|
+
revertData
|
|
46
|
+
);
|
|
47
|
+
return {
|
|
48
|
+
amountOut: amount,
|
|
49
|
+
sqrtPriceX96After,
|
|
50
|
+
initializedTicksCrossed: 0,
|
|
51
|
+
gasEstimate: 0n
|
|
52
|
+
};
|
|
53
|
+
} catch (_) {
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
throw err;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get a price quote for receiving an exact amount of output tokens on Uniswap V3
|
|
61
|
+
* @param params Parameters for the quote
|
|
62
|
+
* @returns Quote result including required input amount
|
|
63
|
+
*/
|
|
64
|
+
async quoteExactOutputV3(params) {
|
|
65
|
+
const addresses = getAddresses(this.chainId);
|
|
66
|
+
try {
|
|
67
|
+
const { result } = await this.rpc.simulateContract({
|
|
68
|
+
address: addresses.v3Quoter,
|
|
69
|
+
abi: quoterV2Abi,
|
|
70
|
+
functionName: "quoteExactOutputSingle",
|
|
71
|
+
args: [{
|
|
72
|
+
tokenIn: params.tokenIn,
|
|
73
|
+
tokenOut: params.tokenOut,
|
|
74
|
+
amount: params.amountOut,
|
|
75
|
+
fee: params.fee,
|
|
76
|
+
sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0)
|
|
77
|
+
}]
|
|
78
|
+
});
|
|
79
|
+
return {
|
|
80
|
+
amountIn: result[0],
|
|
81
|
+
sqrtPriceX96After: result[1],
|
|
82
|
+
initializedTicksCrossed: result[2],
|
|
83
|
+
gasEstimate: result[3]
|
|
84
|
+
};
|
|
85
|
+
} catch (err) {
|
|
86
|
+
const revertData = err?.cause?.data || err.data;
|
|
87
|
+
if (revertData && typeof revertData === "string" && revertData.startsWith("0x")) {
|
|
88
|
+
try {
|
|
89
|
+
const [amount, sqrtPriceX96After] = decodeAbiParameters(
|
|
90
|
+
[{ type: "uint256" }, { type: "uint160" }, { type: "int24" }],
|
|
91
|
+
revertData
|
|
92
|
+
);
|
|
93
|
+
return {
|
|
94
|
+
amountIn: amount,
|
|
95
|
+
sqrtPriceX96After,
|
|
96
|
+
initializedTicksCrossed: 0,
|
|
97
|
+
gasEstimate: 0n
|
|
98
|
+
};
|
|
99
|
+
} catch (_) {
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
throw err;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get a price quote for swapping an exact amount of input tokens on Uniswap V2
|
|
107
|
+
* @param params Parameters for the quote
|
|
108
|
+
* @returns Array of amounts for each step in the path
|
|
109
|
+
*/
|
|
110
|
+
async quoteExactInputV2(params) {
|
|
111
|
+
const addresses = getAddresses(this.chainId);
|
|
112
|
+
if (!addresses.univ2Router02) {
|
|
113
|
+
throw new Error("Uniswap V2 Router not available on this chain");
|
|
114
|
+
}
|
|
115
|
+
const result = await this.rpc.readContract({
|
|
116
|
+
address: addresses.univ2Router02,
|
|
117
|
+
abi: uniswapV2Router02Abi,
|
|
118
|
+
functionName: "getAmountsOut",
|
|
119
|
+
args: [params.amountIn, params.path]
|
|
120
|
+
});
|
|
121
|
+
return [...result];
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get a price quote for receiving an exact amount of output tokens on Uniswap V2
|
|
125
|
+
* @param params Parameters for the quote
|
|
126
|
+
* @returns Array of amounts for each step in the path
|
|
127
|
+
*/
|
|
128
|
+
async quoteExactOutputV2(params) {
|
|
129
|
+
const addresses = getAddresses(this.chainId);
|
|
130
|
+
if (!addresses.univ2Router02) {
|
|
131
|
+
throw new Error("Uniswap V2 Router not available on this chain");
|
|
132
|
+
}
|
|
133
|
+
const result = await this.rpc.readContract({
|
|
134
|
+
address: addresses.univ2Router02,
|
|
135
|
+
abi: uniswapV2Router02Abi,
|
|
136
|
+
functionName: "getAmountsIn",
|
|
137
|
+
args: [params.amountOut, params.path]
|
|
138
|
+
});
|
|
139
|
+
return [...result];
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get a price quote for swapping an exact amount of input tokens on Uniswap V4
|
|
143
|
+
* @param params Parameters for the quote
|
|
144
|
+
* @returns Quote result for V4 pools
|
|
145
|
+
*/
|
|
146
|
+
async quoteExactInputV4(params) {
|
|
147
|
+
const addresses = getAddresses(this.chainId);
|
|
148
|
+
const quoterAddress = addresses.uniswapV4Quoter;
|
|
149
|
+
if (!quoterAddress) {
|
|
150
|
+
throw new Error("No V4 quoter available on this chain");
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const { result } = await this.rpc.simulateContract({
|
|
154
|
+
address: quoterAddress,
|
|
155
|
+
abi: v4QuoterAbi,
|
|
156
|
+
functionName: "quoteExactInputSingle",
|
|
157
|
+
args: [{
|
|
158
|
+
poolKey: params.poolKey,
|
|
159
|
+
zeroForOne: params.zeroForOne,
|
|
160
|
+
exactAmount: params.exactAmount,
|
|
161
|
+
hookData: params.hookData ?? "0x"
|
|
162
|
+
}]
|
|
163
|
+
});
|
|
164
|
+
return {
|
|
165
|
+
amountOut: result[0],
|
|
166
|
+
gasEstimate: result[1]
|
|
167
|
+
};
|
|
168
|
+
} catch (simulateError) {
|
|
169
|
+
throw simulateError;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get a price quote for receiving an exact amount of output tokens on Uniswap V4
|
|
174
|
+
* @param params Parameters for the quote
|
|
175
|
+
* @returns Quote result for V4 pools
|
|
176
|
+
*/
|
|
177
|
+
async quoteExactOutputV4(params) {
|
|
178
|
+
const addresses = getAddresses(this.chainId);
|
|
179
|
+
const quoterAddress = addresses.dopplerLens;
|
|
180
|
+
if (!quoterAddress) {
|
|
181
|
+
throw new Error("No V4 quoter available on this chain");
|
|
182
|
+
}
|
|
183
|
+
const { result } = await this.rpc.simulateContract({
|
|
184
|
+
address: quoterAddress,
|
|
185
|
+
abi: v4QuoterAbi,
|
|
186
|
+
functionName: "quoteExactOutputSingle",
|
|
187
|
+
args: [{
|
|
188
|
+
poolKey: params.poolKey,
|
|
189
|
+
zeroForOne: params.zeroForOne,
|
|
190
|
+
exactAmount: params.exactAmount,
|
|
191
|
+
hookData: params.hookData ?? "0x"
|
|
192
|
+
}]
|
|
193
|
+
});
|
|
194
|
+
return {
|
|
195
|
+
amountIn: result[0],
|
|
196
|
+
gasEstimate: result[1]
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Quote a single exact-input trade using the Uniswap V4 Quoter (not Lens)
|
|
201
|
+
* @param params Parameters for the quote
|
|
202
|
+
*/
|
|
203
|
+
async quoteExactInputV4Quoter(params) {
|
|
204
|
+
const addresses = getAddresses(this.chainId);
|
|
205
|
+
const quoterAddress = addresses.uniswapV4Quoter;
|
|
206
|
+
if (!quoterAddress) {
|
|
207
|
+
throw new Error("Uniswap V4 Quoter address not available on this chain");
|
|
208
|
+
}
|
|
209
|
+
const { result } = await this.rpc.simulateContract({
|
|
210
|
+
address: quoterAddress,
|
|
211
|
+
abi: v4QuoterAbi,
|
|
212
|
+
functionName: "quoteExactInputSingle",
|
|
213
|
+
args: [{
|
|
214
|
+
poolKey: params.poolKey,
|
|
215
|
+
zeroForOne: params.zeroForOne,
|
|
216
|
+
exactAmount: params.exactAmount,
|
|
217
|
+
hookData: params.hookData ?? "0x"
|
|
218
|
+
}]
|
|
219
|
+
});
|
|
220
|
+
return {
|
|
221
|
+
amountOut: result[0],
|
|
222
|
+
gasEstimate: result[1]
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Quote a single exact-output trade using the Uniswap V4 Quoter (not Lens)
|
|
227
|
+
* @param params Parameters for the quote
|
|
228
|
+
*/
|
|
229
|
+
async quoteExactOutputV4Quoter(params) {
|
|
230
|
+
const addresses = getAddresses(this.chainId);
|
|
231
|
+
const quoterAddress = addresses.uniswapV4Quoter;
|
|
232
|
+
if (!quoterAddress) {
|
|
233
|
+
throw new Error("Uniswap V4 Quoter address not available on this chain");
|
|
234
|
+
}
|
|
235
|
+
const { result } = await this.rpc.simulateContract({
|
|
236
|
+
address: quoterAddress,
|
|
237
|
+
abi: v4QuoterAbi,
|
|
238
|
+
functionName: "quoteExactOutputSingle",
|
|
239
|
+
args: [{
|
|
240
|
+
poolKey: params.poolKey,
|
|
241
|
+
zeroForOne: params.zeroForOne,
|
|
242
|
+
exactAmount: params.exactAmount,
|
|
243
|
+
hookData: params.hookData ?? "0x"
|
|
244
|
+
}]
|
|
245
|
+
});
|
|
246
|
+
return {
|
|
247
|
+
amountIn: result[0],
|
|
248
|
+
gasEstimate: result[1]
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
export { Quoter };
|
|
254
|
+
//# sourceMappingURL=chunk-EDJBZPMW.mjs.map
|
|
255
|
+
//# sourceMappingURL=chunk-EDJBZPMW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/entities/quoter/Quoter.ts"],"names":[],"mappings":"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","file":"chunk-EDJBZPMW.mjs","sourcesContent":["import { type Address, encodeFunctionData, decodeAbiParameters, type Hex, type PublicClient } from 'viem'\nimport { quoterV2Abi, uniswapV2Router02Abi, v4QuoterAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\nimport type { SupportedPublicClient } from '../../types'\n\n/**\n * Unified Quoter for getting price quotes across Uniswap V2, V3, and V4\n * \n * This class provides a unified interface for price discovery across all\n * supported Uniswap versions, abstracting away the differences between\n * V2 router, V3 quoter, and V4 quoter contracts.\n */\nexport class Quoter {\n private publicClient: SupportedPublicClient\n private chainId: number\n private get rpc(): PublicClient {\n return this.publicClient as PublicClient\n }\n \n constructor(publicClient: SupportedPublicClient, chainId: number) {\n this.publicClient = publicClient\n this.chainId = chainId\n }\n \n /**\n * Get a price quote for swapping an exact amount of input tokens on Uniswap V3\n * @param params Parameters for the quote\n * @returns Quote result including output amount and price impact\n */\n async quoteExactInputV3(params: {\n tokenIn: Address\n tokenOut: Address\n amountIn: bigint\n fee: number\n sqrtPriceLimitX96?: bigint\n }): Promise<{\n amountOut: bigint\n sqrtPriceX96After: bigint\n initializedTicksCrossed: number\n gasEstimate: bigint\n }> {\n const addresses = getAddresses(this.chainId)\n \n try {\n const { result } = await this.rpc.simulateContract({\n address: addresses.v3Quoter,\n abi: quoterV2Abi,\n functionName: 'quoteExactInputSingle',\n args: [{\n tokenIn: params.tokenIn,\n tokenOut: params.tokenOut,\n amountIn: params.amountIn,\n fee: params.fee,\n sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0),\n }],\n })\n return {\n amountOut: result[0],\n sqrtPriceX96After: result[1],\n initializedTicksCrossed: result[2],\n gasEstimate: result[3],\n }\n } catch (err: unknown) {\n const revertData: Hex | undefined = (err as { cause?: { data?: Hex }; data?: Hex })?.cause?.data || (err as { data?: Hex }).data\n if (revertData && typeof revertData === 'string' && revertData.startsWith('0x')) {\n try {\n // Uniswap V3 QuoterV2 encodes (uint256 amount, uint160 sqrtPriceX96After, int24 tickAfter)\n const [amount, sqrtPriceX96After] = decodeAbiParameters(\n [{ type: 'uint256' }, { type: 'uint160' }, { type: 'int24' }],\n revertData as Hex,\n ) as unknown as [bigint, bigint, number]\n return {\n amountOut: amount,\n sqrtPriceX96After,\n initializedTicksCrossed: 0,\n gasEstimate: 0n,\n }\n } catch (_) {\n // fall through\n }\n }\n throw err\n }\n }\n \n /**\n * Get a price quote for receiving an exact amount of output tokens on Uniswap V3\n * @param params Parameters for the quote\n * @returns Quote result including required input amount\n */\n async quoteExactOutputV3(params: {\n tokenIn: Address\n tokenOut: Address\n amountOut: bigint\n fee: number\n sqrtPriceLimitX96?: bigint\n }): Promise<{\n amountIn: bigint\n sqrtPriceX96After: bigint\n initializedTicksCrossed: number\n gasEstimate: bigint\n }> {\n const addresses = getAddresses(this.chainId)\n \n try {\n const { result } = await this.rpc.simulateContract({\n address: addresses.v3Quoter,\n abi: quoterV2Abi,\n functionName: 'quoteExactOutputSingle',\n args: [{\n tokenIn: params.tokenIn,\n tokenOut: params.tokenOut,\n amount: params.amountOut,\n fee: params.fee,\n sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0),\n }],\n })\n return {\n amountIn: result[0],\n sqrtPriceX96After: result[1],\n initializedTicksCrossed: result[2],\n gasEstimate: result[3],\n }\n } catch (err: unknown) {\n const revertData: Hex | undefined = (err as { cause?: { data?: Hex }; data?: Hex })?.cause?.data || (err as { data?: Hex }).data\n if (revertData && typeof revertData === 'string' && revertData.startsWith('0x')) {\n try {\n // Uniswap V3 QuoterV2 encodes (uint256 amount, uint160 sqrtPriceX96After, int24 tickAfter)\n const [amount, sqrtPriceX96After] = decodeAbiParameters(\n [{ type: 'uint256' }, { type: 'uint160' }, { type: 'int24' }],\n revertData as Hex,\n ) as unknown as [bigint, bigint, number]\n return {\n amountIn: amount,\n sqrtPriceX96After,\n initializedTicksCrossed: 0,\n gasEstimate: 0n,\n }\n } catch (_) {\n // fall through\n }\n }\n throw err\n }\n }\n \n /**\n * Get a price quote for swapping an exact amount of input tokens on Uniswap V2\n * @param params Parameters for the quote\n * @returns Array of amounts for each step in the path\n */\n async quoteExactInputV2(params: {\n amountIn: bigint\n path: Address[]\n }): Promise<bigint[]> {\n const addresses = getAddresses(this.chainId)\n \n if (!addresses.univ2Router02) {\n throw new Error('Uniswap V2 Router not available on this chain')\n }\n \n const result = await this.rpc.readContract({\n address: addresses.univ2Router02,\n abi: uniswapV2Router02Abi,\n functionName: 'getAmountsOut',\n args: [params.amountIn, params.path],\n })\n \n return [...result] // Convert readonly array to mutable array\n }\n \n /**\n * Get a price quote for receiving an exact amount of output tokens on Uniswap V2\n * @param params Parameters for the quote\n * @returns Array of amounts for each step in the path\n */\n async quoteExactOutputV2(params: {\n amountOut: bigint\n path: Address[]\n }): Promise<bigint[]> {\n const addresses = getAddresses(this.chainId)\n \n if (!addresses.univ2Router02) {\n throw new Error('Uniswap V2 Router not available on this chain')\n }\n \n const result = await this.rpc.readContract({\n address: addresses.univ2Router02,\n abi: uniswapV2Router02Abi,\n functionName: 'getAmountsIn',\n args: [params.amountOut, params.path],\n })\n \n return [...result] // Convert readonly array to mutable array\n }\n \n /**\n * Get a price quote for swapping an exact amount of input tokens on Uniswap V4\n * @param params Parameters for the quote\n * @returns Quote result for V4 pools\n */\n async quoteExactInputV4(params: {\n poolKey: {\n currency0: Address\n currency1: Address\n fee: number\n tickSpacing: number\n hooks: Address\n }\n zeroForOne: boolean\n exactAmount: bigint\n hookData?: string\n }): Promise<{\n amountOut: bigint\n gasEstimate: bigint\n }> {\n const addresses = getAddresses(this.chainId)\n \n const quoterAddress = addresses.uniswapV4Quoter\n \n if (!quoterAddress) {\n throw new Error('No V4 quoter available on this chain')\n }\n \n try {\n // First try simulateContract for better gas estimation\n const { result } = await this.rpc.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactInputSingle',\n args: [{\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n }],\n })\n \n return {\n amountOut: result[0],\n gasEstimate: result[1],\n }\n } catch (simulateError) {\n // If simulation fails, throw the error\n // Most V4 quoters need simulation, not direct reads\n throw simulateError\n }\n }\n\n /**\n * Get a price quote for receiving an exact amount of output tokens on Uniswap V4\n * @param params Parameters for the quote\n * @returns Quote result for V4 pools\n */\n async quoteExactOutputV4(params: {\n poolKey: {\n currency0: Address\n currency1: Address\n fee: number\n tickSpacing: number\n hooks: Address\n }\n zeroForOne: boolean\n exactAmount: bigint\n hookData?: string\n }): Promise<{\n amountIn: bigint\n gasEstimate: bigint\n }> {\n const addresses = getAddresses(this.chainId)\n \n // Use v4Quoter if available, otherwise use dopplerLens (they're the same contract)\n const quoterAddress = addresses.dopplerLens\n \n if (!quoterAddress) {\n throw new Error('No V4 quoter available on this chain')\n }\n\n const { result } = await this.rpc.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactOutputSingle',\n args: [{\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n }],\n })\n \n return {\n amountIn: result[0],\n gasEstimate: result[1],\n }\n }\n\n /**\n * Quote a single exact-input trade using the Uniswap V4 Quoter (not Lens)\n * @param params Parameters for the quote\n */\n async quoteExactInputV4Quoter(params: {\n poolKey: {\n currency0: Address\n currency1: Address\n fee: number\n tickSpacing: number\n hooks: Address\n }\n zeroForOne: boolean\n exactAmount: bigint\n hookData?: string\n }): Promise<{\n amountOut: bigint\n gasEstimate: bigint\n }> {\n const addresses = getAddresses(this.chainId)\n const quoterAddress = addresses.uniswapV4Quoter\n\n if (!quoterAddress) {\n throw new Error('Uniswap V4 Quoter address not available on this chain')\n }\n\n const { result } = await this.rpc.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactInputSingle',\n args: [{\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n }],\n })\n\n return {\n amountOut: result[0],\n gasEstimate: result[1],\n }\n }\n\n /**\n * Quote a single exact-output trade using the Uniswap V4 Quoter (not Lens)\n * @param params Parameters for the quote\n */\n async quoteExactOutputV4Quoter(params: {\n poolKey: {\n currency0: Address\n currency1: Address\n fee: number\n tickSpacing: number\n hooks: Address\n }\n zeroForOne: boolean\n exactAmount: bigint\n hookData?: string\n }): Promise<{\n amountIn: bigint\n gasEstimate: bigint\n }> {\n const addresses = getAddresses(this.chainId)\n const quoterAddress = addresses.uniswapV4Quoter\n\n if (!quoterAddress) {\n throw new Error('Uniswap V4 Quoter address not available on this chain')\n }\n\n const { result } = await this.rpc.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactOutputSingle',\n args: [{\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n }],\n })\n\n return {\n amountIn: result[0],\n gasEstimate: result[1],\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
// src/deployments.generated.ts
|
|
2
|
+
var GENERATED_DOPPLER_DEPLOYMENTS = {
|
|
3
|
+
"130": {
|
|
4
|
+
"Airlock": "0x77EbfBAE15AD200758E9E2E61597c0B07d731254",
|
|
5
|
+
"Bundler": "0x91231cDdD8d6C86Df602070a3081478e074b97b7",
|
|
6
|
+
"DopplerDeployer": "0x0d2f38d807bfAd5C18e430516e10ab560D300caF",
|
|
7
|
+
"DopplerLensQuoter": "0x82Ac010C67f70BACf7655cd8948a4AD92A173CAC",
|
|
8
|
+
"GovernanceFactory": "0x99C94B9Df930E1E21a4E4a2c105dBff21bF5c5aE",
|
|
9
|
+
"LockableUniswapV3Initializer": "0xA3C847eAb58eAa9cbc215C785c9cfBc19CDABD5f",
|
|
10
|
+
"NoOpGovernanceFactory": "0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299",
|
|
11
|
+
"NoOpMigrator": "0x917da361072ce968acD810BbfC9B64079426ebf0",
|
|
12
|
+
"StreamableFeesLocker": "0x6ddfED58D238Ca3195E49d8ac3d4cEa6386E5C33",
|
|
13
|
+
"TokenFactory": "0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3",
|
|
14
|
+
"UniswapV2Migrator": "0xf6023127f6E937091D5B605680056A6D27524bad",
|
|
15
|
+
"UniswapV3Initializer": "0x9F4e56be80f08ba1A2445645EFa6d231E27b43ec",
|
|
16
|
+
"UniswapV4Initializer": "0x4B0EC16Eb40318Ca5A4346f20F04A2285C19675B",
|
|
17
|
+
"UniswapV4Migrator": "0x49F3fBB2dFF7f3d03B622e3b2a6d3F2E6fdB2a5A",
|
|
18
|
+
"UniswapV4MigratorHook": "0x53C050d3B09C80024138165520Bd7c078D9e2000"
|
|
19
|
+
},
|
|
20
|
+
"143": {
|
|
21
|
+
"Airlock": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12",
|
|
22
|
+
"AirlockMultisig": "0x9916Ec1c1E0462F6F8f7514e414F06bf001Ac82A",
|
|
23
|
+
"Bundler": "0xC99b485499f78995C6F1640dbB1413c57f8BA684",
|
|
24
|
+
"GovernanceFactory": "0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45",
|
|
25
|
+
"LaunchpadGovernanceFactory": "0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D",
|
|
26
|
+
"LockableUniswapV3Initializer": "0x8b4C7DB9121FC885689C0A50D5a1429F15AEc2a0",
|
|
27
|
+
"NoOpGovernanceFactory": "0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9",
|
|
28
|
+
"NoOpMigrator": "0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731",
|
|
29
|
+
"TokenFactory": "0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5",
|
|
30
|
+
"UniswapV2Migrator": "0x136191B46478cAB023cbC01a36160C4Aad81677a",
|
|
31
|
+
"UniswapV4ScheduledMulticurveInitializer": "0xCe3099B2F07029b086E5e92a1573C5f5A3071783",
|
|
32
|
+
"UniswapV4ScheduledMulticurveInitializerHook": "0x580ca49389d83b019d07E17e99454f2F218e2dc0"
|
|
33
|
+
},
|
|
34
|
+
"1301": {
|
|
35
|
+
"Airlock": "0x0d2f38d807bfAd5C18e430516e10ab560D300caF",
|
|
36
|
+
"AirlockMultisig": "0x40Bcb4dDA3BcF7dba30C5d10c31EE2791ed9ddCa",
|
|
37
|
+
"Bundler": "0xED344444633B965cd148F8fFCE3765938A179094",
|
|
38
|
+
"DopplerDeployer": "0x77B5F559EE9cf3bfcf2fFf5731a84332D8eECAC9",
|
|
39
|
+
"DopplerLensQuoter": "0x917da361072ce968acD810BbfC9B64079426ebf0",
|
|
40
|
+
"GovernanceFactory": "0x4225C632b62622Bd7B0A3eC9745C0a866Ff94F6F",
|
|
41
|
+
"LockableUniswapV3Initializer": "0x9dFb775dB7b005d9Dc77DA84D8b2e42C281D0344",
|
|
42
|
+
"NoOpGovernanceFactory": "0x7E5D336A6E9e453c9f02E5102CC039E015Fd8fb8",
|
|
43
|
+
"NoOpMigrator": "0x193F48A45B6025dDeD10bc4BaeEF65c833696387",
|
|
44
|
+
"StreamableFeesLocker": "0x1728E8B3282502f275949109331E070b819B38eA",
|
|
45
|
+
"TokenFactory": "0x82Ac010C67f70BACf7655cd8948a4AD92A173CAC",
|
|
46
|
+
"UniswapV2Migrator": "0x620e3fec244e913d73f2163623b62d02DB69638B",
|
|
47
|
+
"UniswapV3Initializer": "0xE0dC4012AC9C868F09c6e4b20d66ED46D6F258d0",
|
|
48
|
+
"UniswapV4Initializer": "0x70d20cd48791E527036491dc464C8Dc58351Dd93",
|
|
49
|
+
"UniswapV4Migrator": "0xb6D69eAA98E657bEEFF7ca4452768e6f707aa6b1",
|
|
50
|
+
"UniswapV4MigratorHook": "0xFB0671Ec46190b09255776d2D77744fa101Ba500",
|
|
51
|
+
"UniswapV4MulticurveInitializer": "0xac7939F1B4079d55A7fA4DFA314Ac0173A77bA40",
|
|
52
|
+
"UniswapV4MulticurveInitializerHook": "0x11b55A121a38FDab8FAF16f9f1A4f124E3f42d40"
|
|
53
|
+
},
|
|
54
|
+
"4801": {
|
|
55
|
+
"Airlock": "0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731",
|
|
56
|
+
"GovernanceFactory": "0x136191B46478cAB023cbC01a36160C4Aad81677a",
|
|
57
|
+
"TokenFactory": "0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D",
|
|
58
|
+
"UniswapV2Migrator": "0x8b4C7DB9121FC885689C0A50D5a1429F15AEc2a0",
|
|
59
|
+
"UniswapV3Initializer": "0x9916Ec1c1E0462F6F8f7514e414F06bf001Ac82A",
|
|
60
|
+
"WETH": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12"
|
|
61
|
+
},
|
|
62
|
+
"8453": {
|
|
63
|
+
"Airlock": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12",
|
|
64
|
+
"Bundler": "0x136191B46478cAB023cbC01a36160C4Aad81677a",
|
|
65
|
+
"DopplerDeployer": "0x49F3fBB2dFF7f3d03B622e3b2a6d3F2E6fdB2a5A",
|
|
66
|
+
"DopplerLensQuoter": "0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3",
|
|
67
|
+
"GovernanceFactory": "0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B",
|
|
68
|
+
"LaunchpadGovernanceFactory": "0x40Bcb4dDA3BcF7dba30C5d10c31EE2791ed9ddCa",
|
|
69
|
+
"LockableUniswapV3Initializer": "0xE0dC4012AC9C868F09c6e4b20d66ED46D6F258d0",
|
|
70
|
+
"NoOpGovernanceFactory": "0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299",
|
|
71
|
+
"NoOpMigrator": "0x6ddfED58D238Ca3195E49d8ac3d4cEa6386E5C33",
|
|
72
|
+
"StreamableFeesLocker": "0x0A00775D71a42cd33D62780003035e7F5b47bD3A",
|
|
73
|
+
"TokenFactory": "0x4225C632b62622Bd7B0A3eC9745C0a866Ff94F6F",
|
|
74
|
+
"UniswapV2Migrator": "0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731",
|
|
75
|
+
"UniswapV3Initializer": "0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5",
|
|
76
|
+
"UniswapV4Initializer": "0xED344444633B965cd148F8fFCE3765938A179094",
|
|
77
|
+
"UniswapV4Migrator": "0x166109C4EE7fE69164631Caa937dAA5F5cEbFef0",
|
|
78
|
+
"UniswapV4MigratorHook": "0x45178A8D6d368D612B7552B217802b7F97262000",
|
|
79
|
+
"UniswapV4MulticurveInitializer": "0x65dE470Da664A5be139A5D812bE5FDa0d76CC951",
|
|
80
|
+
"UniswapV4MulticurveInitializerHook": "0x892D3C2B4ABEAAF67d52A7B29783E2161B7CaD40",
|
|
81
|
+
"UniswapV4ScheduledMulticurveInitializer": "0xA36715dA46Ddf4A769f3290f49AF58bF8132ED8E",
|
|
82
|
+
"UniswapV4ScheduledMulticurveInitializerHook": "0x3e342a06f9592459D75721d6956B570F02eF2Dc0"
|
|
83
|
+
},
|
|
84
|
+
"10143": {
|
|
85
|
+
"Airlock": "0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B",
|
|
86
|
+
"AirlockMultisig": "0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299",
|
|
87
|
+
"Bundler": "0xf6023127f6E937091D5B605680056A6D27524bad",
|
|
88
|
+
"DopplerDeployer": "0x166109C4EE7fE69164631Caa937dAA5F5cEbFef0",
|
|
89
|
+
"DopplerLensQuoter": "0x2F2BAcd46d3F5c9EE052Ab392b73711dB89129DB",
|
|
90
|
+
"GovernanceFactory": "0x014E1c0bd34f3B10546E554CB33B3293fECDD056",
|
|
91
|
+
"LockableUniswapV3Initializer": "0x99C94B9Df930E1E21a4E4a2c105dBff21bF5c5aE",
|
|
92
|
+
"NoOpGovernanceFactory": "0x094D926A969B3024ca46D2186BF13FD5CDBA9CE2",
|
|
93
|
+
"NoOpMigrator": "0x5CadB034267751a364dDD4d321C99E07A307f915",
|
|
94
|
+
"StreamableFeesLocker": "0x0d2f38d807bfAd5C18e430516e10ab560D300caF",
|
|
95
|
+
"TokenFactory": "0x8AF018e28c273826e6b2d5a99e81c8fB63729b07",
|
|
96
|
+
"UniswapV2Migrator": "0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3",
|
|
97
|
+
"UniswapV3Initializer": "0x9F4e56be80f08ba1A2445645EFa6d231E27b43ec",
|
|
98
|
+
"UniswapV4Initializer": "0x06FEFD02F0b6d9f57F52cfacFc113665Dfa20F0f",
|
|
99
|
+
"UniswapV4Migrator": "0x4B0EC16Eb40318Ca5A4346f20F04A2285C19675B",
|
|
100
|
+
"UniswapV4MigratorHook": "0x76E1f507592d9856B48482c599732d129eD6a500",
|
|
101
|
+
"UniswapV4MulticurveInitializer": "0xA3C847eAb58eAa9cbc215C785c9cfBc19CDABD5f",
|
|
102
|
+
"UniswapV4MulticurveInitializerHook": "0xFaF16d11737E6552156DD328cD26C530e1da2D40",
|
|
103
|
+
"WETH": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12"
|
|
104
|
+
},
|
|
105
|
+
"57073": {
|
|
106
|
+
"Airlock": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12",
|
|
107
|
+
"Bundler": "0x136191B46478cAB023cbC01a36160C4Aad81677a",
|
|
108
|
+
"DopplerDeployer": "0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B",
|
|
109
|
+
"DopplerLensQuoter": "0x8AF018e28c273826e6b2d5a99e81c8fB63729b07",
|
|
110
|
+
"GovernanceFactory": "0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9",
|
|
111
|
+
"TokenFactory": "0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45",
|
|
112
|
+
"UniswapV2Migrator": "0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731",
|
|
113
|
+
"UniswapV3Initializer": "0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5",
|
|
114
|
+
"UniswapV4Initializer": "0x014E1c0bd34f3B10546E554CB33B3293fECDD056"
|
|
115
|
+
},
|
|
116
|
+
"84532": {
|
|
117
|
+
"Airlock": "0x3411306Ce66c9469BFF1535BA955503c4Bde1C6e",
|
|
118
|
+
"AirlockMultisig": "0x852a09C89463D236eea2f097623574f23E225769",
|
|
119
|
+
"BasicMultisig": "0x6f645FA08B7eadAD620CEC85634204b1d7A46DC2",
|
|
120
|
+
"Bundler": "0xab7BACB0d5C2C10152f92D34e07F530EB3CB0Fb1",
|
|
121
|
+
"DopplerDeployer": "0x82D727ffda3F874da802663fC2f3f4b83dC3AAbA",
|
|
122
|
+
"DopplerLensQuoter": "0x4a8d81Db741248a36D9eb3bc6eF648Bf798B47a7",
|
|
123
|
+
"GovernanceFactory": "0x9dBFaaDC8c0cB2c34bA698DD9426555336992e20",
|
|
124
|
+
"LockableUniswapV3Initializer": "0x16AdA5Be50C3c2D94Af5fEae6b539C40A78Ad53c",
|
|
125
|
+
"NoOpGovernanceFactory": "0x7bD798fafC99A3b17E261F8308A8C11B56935ea1",
|
|
126
|
+
"NoOpMigrator": "0xF11066abbd329ac4bBA39455340539322C222eb0",
|
|
127
|
+
"StreamableFeesLocker": "0x3345E557c5C0b474bE1eb4693264008B8562Aa9c",
|
|
128
|
+
"TeamGovernanceFactory": "0x8aF3001ED75F86f4Dd910577ECa9C5dB7CEa765c",
|
|
129
|
+
"TokenFactory": "0x9D8fd79B2a59c5d91ccBd79c3AEb4de56451Bb02",
|
|
130
|
+
"UniswapV2Migrator": "0x04a898f3722c38F9Def707bD17DC78920EFA977C",
|
|
131
|
+
"UniswapV3Initializer": "0x4C3062B9ccFdbCB10353F57C1B59a29d4c5CFa47",
|
|
132
|
+
"UniswapV4Initializer": "0x832e4763dEEcB9941a768f2bBd18583219F018Cc",
|
|
133
|
+
"UniswapV4Migrator": "0xf326D8cdB65A4ad334cFBdD7d3A3CB27Be8b770d",
|
|
134
|
+
"UniswapV4MigratorHook": "0x9D0C38A80647E53D5a8a319B39De2B66B8586500",
|
|
135
|
+
"UniswapV4MulticurveInitializer": "0x1718405E58c61425cDc0083262bC9f72198F5232",
|
|
136
|
+
"UniswapV4MulticurveInitializerHook": "0x6a1061FC558dDe1E6fD0eFd641b370d435b56d40",
|
|
137
|
+
"UniswapV4ScheduledMulticurveInitializer": "0x5C10D3e14Aae2Ef95619B25E907E013260E832E4",
|
|
138
|
+
"UniswapV4ScheduledMulticurveInitializerHook": "0x5D663F9C993deFf2D17ce4232D75f347df7DADc0",
|
|
139
|
+
"WETH": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12"
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
export { GENERATED_DOPPLER_DEPLOYMENTS };
|
|
144
|
+
//# sourceMappingURL=chunk-FPAI4QYW.mjs.map
|
|
145
|
+
//# sourceMappingURL=chunk-FPAI4QYW.mjs.map
|