@whetstone-research/doppler-sdk 0.0.1-alpha.8 → 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-FVTIDXYK.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-DMAHXBA5.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-5IT5OXQ5.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-ZRDU6CIB.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-3OZRDL3O.js +0 -162
- package/dist/chunk-3OZRDL3O.js.map +0 -1
- package/dist/chunk-4K5GBNQV.mjs.map +0 -1
- package/dist/chunk-5IT5OXQ5.js.map +0 -1
- package/dist/chunk-7F5IXZLH.js +0 -308
- package/dist/chunk-7F5IXZLH.js.map +0 -1
- package/dist/chunk-7VP5VR7J.js +0 -82
- package/dist/chunk-7VP5VR7J.js.map +0 -1
- package/dist/chunk-7W72MFJO.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-CYDWEPFL.mjs +0 -3
- package/dist/chunk-DCFHANLR.mjs.map +0 -1
- package/dist/chunk-DMAHXBA5.mjs.map +0 -1
- package/dist/chunk-DRBRT57F.js +0 -4
- package/dist/chunk-EFAPDN4J.js.map +0 -1
- package/dist/chunk-ER42VG7H.js.map +0 -1
- package/dist/chunk-FVTIDXYK.mjs.map +0 -1
- package/dist/chunk-IHBIBFZK.mjs +0 -12
- package/dist/chunk-IHBIBFZK.mjs.map +0 -1
- package/dist/chunk-IXSKPEHB.mjs +0 -160
- package/dist/chunk-IXSKPEHB.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-O6GYIJ6X.mjs +0 -80
- package/dist/chunk-O6GYIJ6X.mjs.map +0 -1
- package/dist/chunk-OPKQMN46.mjs.map +0 -1
- package/dist/chunk-RIMM47JL.mjs +0 -176
- package/dist/chunk-RIMM47JL.mjs.map +0 -1
- package/dist/chunk-SUOMK3CU.js +0 -872
- package/dist/chunk-SUOMK3CU.js.map +0 -1
- package/dist/chunk-T644D54P.mjs.map +0 -1
- package/dist/chunk-TOMVBPNZ.js.map +0 -1
- package/dist/chunk-XEMZQHTX.mjs +0 -870
- package/dist/chunk-XEMZQHTX.mjs.map +0 -1
- package/dist/chunk-XG7K4R56.js.map +0 -1
- package/dist/chunk-XQ2VMR26.js +0 -180
- package/dist/chunk-XQ2VMR26.js.map +0 -1
- package/dist/chunk-ZAIP54LX.js +0 -209
- package/dist/chunk-ZAIP54LX.js.map +0 -1
- package/dist/chunk-ZRDU6CIB.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-FPAI4QYW.mjs","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,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/utils/isToken0Expected.ts
|
|
4
|
+
function isToken0Expected(numeraire) {
|
|
5
|
+
const numeraireBigInt = BigInt(numeraire);
|
|
6
|
+
const halfMaxUint160 = 2n ** 159n - 1n;
|
|
7
|
+
if (numeraireBigInt === 0n) {
|
|
8
|
+
return false;
|
|
9
|
+
} else if (numeraireBigInt > halfMaxUint160) {
|
|
10
|
+
return true;
|
|
11
|
+
} else {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
exports.isToken0Expected = isToken0Expected;
|
|
17
|
+
//# sourceMappingURL=chunk-HM25ZMO3.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-HM25ZMO3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/isToken0Expected.ts"],"names":[],"mappings":";;;AAUO,SAAS,iBAAiB,SAAA,EAA6B;AAC5D,EAAA,MAAM,eAAA,GAAkB,OAAO,SAAS,CAAA;AACxC,EAAA,MAAM,cAAA,GAAkB,MAAM,IAAA,GAAQ,EAAA;AAEtC,EAAA,IAAI,oBAAoB,EAAA,EAAI;AAC1B,IAAA,OAAO,KAAA;AAAA,EACT,CAAA,MAAA,IAAW,kBAAkB,cAAA,EAAgB;AAC3C,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"chunk-HM25ZMO3.js","sourcesContent":["import { Address } from \"viem\"\n\n/**\n * Determine token ordering based on numeraire address.\n * Mining will find a salt such that token address is correctly ordered relative to numeraire.\n * For numeraires > halfMaxUint160, token must be token0 (smaller address)\n * For all other cases, token should be token1 (larger address)\n * @param numeraire - Address of numeraire token\n * @returns Whether base token address is expected to be generated as token0\n */\nexport function isToken0Expected(numeraire: Address): boolean {\n const numeraireBigInt = BigInt(numeraire)\n const halfMaxUint160 = (2n ** 159n) - 1n\n\n if (numeraireBigInt === 0n) {\n return false // ETH paired, token will be > 0x0\n } else if (numeraireBigInt > halfMaxUint160) {\n return true // Large numeraire, token will be < numeraire\n } else {\n return false // Normal case, token will be > numeraire\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-IHC6UYKK.js"}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { encodeAbiParameters, keccak256 } from 'viem';
|
|
1
|
+
import { dopplerHookAbi, airlockAbi } from './chunk-OTG75GVH.mjs';
|
|
2
|
+
import { getAddresses } from './chunk-AW3WR2D3.mjs';
|
|
3
|
+
import { zeroAddress, encodeAbiParameters, keccak256 } from 'viem';
|
|
4
4
|
|
|
5
5
|
var DynamicAuction = class {
|
|
6
|
+
get rpc() {
|
|
7
|
+
return this.client;
|
|
8
|
+
}
|
|
6
9
|
constructor(client, hookAddress) {
|
|
7
10
|
this.client = client;
|
|
8
11
|
this.hookAddress = hookAddress;
|
|
9
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Wait for a transaction to be confirmed and the contract to be ready for reads
|
|
15
|
+
* @param hash - Transaction hash to wait for
|
|
16
|
+
* @param confirmations - Number of block confirmations to wait for (default: 2)
|
|
17
|
+
*/
|
|
18
|
+
async waitForDeployment(hash, confirmations = 2) {
|
|
19
|
+
await this.rpc.waitForTransactionReceipt({ hash, confirmations });
|
|
20
|
+
}
|
|
10
21
|
/**
|
|
11
22
|
* Get the hook address
|
|
12
23
|
*/
|
|
@@ -15,13 +26,13 @@ var DynamicAuction = class {
|
|
|
15
26
|
}
|
|
16
27
|
/**
|
|
17
28
|
* Get current hook information
|
|
18
|
-
|
|
29
|
+
*/
|
|
19
30
|
async getHookInfo() {
|
|
20
31
|
const [
|
|
21
32
|
state,
|
|
22
33
|
earlyExit,
|
|
23
34
|
insufficientProceeds,
|
|
24
|
-
|
|
35
|
+
poolKeyRaw,
|
|
25
36
|
startingTime,
|
|
26
37
|
endingTime,
|
|
27
38
|
epochLength,
|
|
@@ -29,52 +40,48 @@ var DynamicAuction = class {
|
|
|
29
40
|
maximumProceeds,
|
|
30
41
|
numTokensToSell
|
|
31
42
|
] = await Promise.all([
|
|
32
|
-
this.
|
|
33
|
-
|
|
34
|
-
abi: dopplerHookAbi,
|
|
35
|
-
functionName: "state"
|
|
36
|
-
}),
|
|
37
|
-
this.client.readContract({
|
|
43
|
+
this.readHookState(),
|
|
44
|
+
this.rpc.readContract({
|
|
38
45
|
address: this.hookAddress,
|
|
39
46
|
abi: dopplerHookAbi,
|
|
40
47
|
functionName: "earlyExit"
|
|
41
48
|
}),
|
|
42
|
-
this.
|
|
49
|
+
this.rpc.readContract({
|
|
43
50
|
address: this.hookAddress,
|
|
44
51
|
abi: dopplerHookAbi,
|
|
45
52
|
functionName: "insufficientProceeds"
|
|
46
53
|
}),
|
|
47
|
-
this.
|
|
54
|
+
this.rpc.readContract({
|
|
48
55
|
address: this.hookAddress,
|
|
49
56
|
abi: dopplerHookAbi,
|
|
50
57
|
functionName: "poolKey"
|
|
51
58
|
}),
|
|
52
|
-
this.
|
|
59
|
+
this.rpc.readContract({
|
|
53
60
|
address: this.hookAddress,
|
|
54
61
|
abi: dopplerHookAbi,
|
|
55
62
|
functionName: "startingTime"
|
|
56
63
|
}),
|
|
57
|
-
this.
|
|
64
|
+
this.rpc.readContract({
|
|
58
65
|
address: this.hookAddress,
|
|
59
66
|
abi: dopplerHookAbi,
|
|
60
67
|
functionName: "endingTime"
|
|
61
68
|
}),
|
|
62
|
-
this.
|
|
69
|
+
this.rpc.readContract({
|
|
63
70
|
address: this.hookAddress,
|
|
64
71
|
abi: dopplerHookAbi,
|
|
65
72
|
functionName: "epochLength"
|
|
66
73
|
}),
|
|
67
|
-
this.
|
|
74
|
+
this.rpc.readContract({
|
|
68
75
|
address: this.hookAddress,
|
|
69
76
|
abi: dopplerHookAbi,
|
|
70
77
|
functionName: "minimumProceeds"
|
|
71
78
|
}),
|
|
72
|
-
this.
|
|
79
|
+
this.rpc.readContract({
|
|
73
80
|
address: this.hookAddress,
|
|
74
81
|
abi: dopplerHookAbi,
|
|
75
82
|
functionName: "maximumProceeds"
|
|
76
83
|
}),
|
|
77
|
-
this.
|
|
84
|
+
this.rpc.readContract({
|
|
78
85
|
address: this.hookAddress,
|
|
79
86
|
abi: dopplerHookAbi,
|
|
80
87
|
functionName: "numTokensToSell"
|
|
@@ -83,7 +90,8 @@ var DynamicAuction = class {
|
|
|
83
90
|
const currentTime = BigInt(Math.floor(Date.now() / 1e3));
|
|
84
91
|
const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0);
|
|
85
92
|
const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0;
|
|
86
|
-
const
|
|
93
|
+
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
94
|
+
const isToken0 = poolKey.currency0 !== zeroAddress;
|
|
87
95
|
const tokenAddress = isToken0 ? poolKey.currency0 : poolKey.currency1;
|
|
88
96
|
const numeraireAddress = isToken0 ? poolKey.currency1 : poolKey.currency0;
|
|
89
97
|
const poolId = this.computePoolId(poolKey);
|
|
@@ -108,12 +116,13 @@ var DynamicAuction = class {
|
|
|
108
116
|
* Get the token address for this auction
|
|
109
117
|
*/
|
|
110
118
|
async getTokenAddress() {
|
|
111
|
-
const
|
|
119
|
+
const poolKeyRaw = await this.rpc.readContract({
|
|
112
120
|
address: this.hookAddress,
|
|
113
121
|
abi: dopplerHookAbi,
|
|
114
122
|
functionName: "poolKey"
|
|
115
123
|
});
|
|
116
|
-
const
|
|
124
|
+
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
125
|
+
const isToken0 = await this.rpc.readContract({
|
|
117
126
|
address: this.hookAddress,
|
|
118
127
|
abi: dopplerHookAbi,
|
|
119
128
|
functionName: "isToken0"
|
|
@@ -124,11 +133,12 @@ var DynamicAuction = class {
|
|
|
124
133
|
* Get the pool ID for this auction
|
|
125
134
|
*/
|
|
126
135
|
async getPoolId() {
|
|
127
|
-
const
|
|
136
|
+
const poolKeyRaw = await this.rpc.readContract({
|
|
128
137
|
address: this.hookAddress,
|
|
129
138
|
abi: dopplerHookAbi,
|
|
130
139
|
functionName: "poolKey"
|
|
131
140
|
});
|
|
141
|
+
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
132
142
|
return this.computePoolId(poolKey);
|
|
133
143
|
}
|
|
134
144
|
/**
|
|
@@ -136,27 +146,28 @@ var DynamicAuction = class {
|
|
|
136
146
|
*/
|
|
137
147
|
async hasGraduated() {
|
|
138
148
|
const tokenAddress = await this.getTokenAddress();
|
|
139
|
-
const chainId = await this.
|
|
149
|
+
const chainId = await this.rpc.getChainId();
|
|
140
150
|
const addresses = getAddresses(chainId);
|
|
141
|
-
const assetData = await this.
|
|
151
|
+
const assetData = await this.rpc.readContract({
|
|
142
152
|
address: addresses.airlock,
|
|
143
153
|
abi: airlockAbi,
|
|
144
154
|
functionName: "getAssetData",
|
|
145
155
|
args: [tokenAddress]
|
|
146
156
|
});
|
|
147
|
-
|
|
157
|
+
const liquidityMigrator = Array.isArray(assetData) ? assetData[3] : assetData?.liquidityMigrator;
|
|
158
|
+
return liquidityMigrator === zeroAddress;
|
|
148
159
|
}
|
|
149
160
|
/**
|
|
150
161
|
* Get the current epoch
|
|
151
162
|
*/
|
|
152
163
|
async getCurrentEpoch() {
|
|
153
164
|
const [startingTime, epochLength] = await Promise.all([
|
|
154
|
-
this.
|
|
165
|
+
this.rpc.readContract({
|
|
155
166
|
address: this.hookAddress,
|
|
156
167
|
abi: dopplerHookAbi,
|
|
157
168
|
functionName: "startingTime"
|
|
158
169
|
}),
|
|
159
|
-
this.
|
|
170
|
+
this.rpc.readContract({
|
|
160
171
|
address: this.hookAddress,
|
|
161
172
|
abi: dopplerHookAbi,
|
|
162
173
|
functionName: "epochLength"
|
|
@@ -172,39 +183,35 @@ var DynamicAuction = class {
|
|
|
172
183
|
*/
|
|
173
184
|
async getCurrentPrice() {
|
|
174
185
|
const [
|
|
175
|
-
|
|
186
|
+
_state,
|
|
176
187
|
startingTick,
|
|
177
188
|
endingTick,
|
|
178
189
|
gamma,
|
|
179
190
|
startingTime,
|
|
180
191
|
epochLength
|
|
181
192
|
] = await Promise.all([
|
|
182
|
-
this.
|
|
183
|
-
|
|
184
|
-
abi: dopplerHookAbi,
|
|
185
|
-
functionName: "state"
|
|
186
|
-
}),
|
|
187
|
-
this.client.readContract({
|
|
193
|
+
this.readHookState(),
|
|
194
|
+
this.rpc.readContract({
|
|
188
195
|
address: this.hookAddress,
|
|
189
196
|
abi: dopplerHookAbi,
|
|
190
197
|
functionName: "startingTick"
|
|
191
198
|
}),
|
|
192
|
-
this.
|
|
199
|
+
this.rpc.readContract({
|
|
193
200
|
address: this.hookAddress,
|
|
194
201
|
abi: dopplerHookAbi,
|
|
195
202
|
functionName: "endingTick"
|
|
196
203
|
}),
|
|
197
|
-
this.
|
|
204
|
+
this.rpc.readContract({
|
|
198
205
|
address: this.hookAddress,
|
|
199
206
|
abi: dopplerHookAbi,
|
|
200
207
|
functionName: "gamma"
|
|
201
208
|
}),
|
|
202
|
-
this.
|
|
209
|
+
this.rpc.readContract({
|
|
203
210
|
address: this.hookAddress,
|
|
204
211
|
abi: dopplerHookAbi,
|
|
205
212
|
functionName: "startingTime"
|
|
206
213
|
}),
|
|
207
|
-
this.
|
|
214
|
+
this.rpc.readContract({
|
|
208
215
|
address: this.hookAddress,
|
|
209
216
|
abi: dopplerHookAbi,
|
|
210
217
|
functionName: "epochLength"
|
|
@@ -222,18 +229,14 @@ var DynamicAuction = class {
|
|
|
222
229
|
* Get total proceeds collected so far
|
|
223
230
|
*/
|
|
224
231
|
async getTotalProceeds() {
|
|
225
|
-
const state = await this.
|
|
226
|
-
address: this.hookAddress,
|
|
227
|
-
abi: dopplerHookAbi,
|
|
228
|
-
functionName: "state"
|
|
229
|
-
});
|
|
232
|
+
const state = await this.readHookState();
|
|
230
233
|
return state.totalProceeds;
|
|
231
234
|
}
|
|
232
235
|
/**
|
|
233
236
|
* Check if the auction ended early due to max proceeds
|
|
234
237
|
*/
|
|
235
238
|
async hasEndedEarly() {
|
|
236
|
-
return await this.
|
|
239
|
+
return await this.rpc.readContract({
|
|
237
240
|
address: this.hookAddress,
|
|
238
241
|
abi: dopplerHookAbi,
|
|
239
242
|
functionName: "earlyExit"
|
|
@@ -261,8 +264,45 @@ var DynamicAuction = class {
|
|
|
261
264
|
);
|
|
262
265
|
return keccak256(encoded);
|
|
263
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* Read hook state with backward-compatible decoding.
|
|
269
|
+
* Falls back to legacy state() ABI if the latest ABI fails to decode.
|
|
270
|
+
*/
|
|
271
|
+
async readHookState() {
|
|
272
|
+
const result = await this.rpc.readContract({
|
|
273
|
+
address: this.hookAddress,
|
|
274
|
+
abi: dopplerHookAbi,
|
|
275
|
+
functionName: "state"
|
|
276
|
+
});
|
|
277
|
+
if (Array.isArray(result)) {
|
|
278
|
+
const [
|
|
279
|
+
lastEpoch,
|
|
280
|
+
tickAccumulator,
|
|
281
|
+
totalTokensSold,
|
|
282
|
+
totalProceeds,
|
|
283
|
+
totalTokensSoldLastEpoch,
|
|
284
|
+
feesAccrued
|
|
285
|
+
] = result;
|
|
286
|
+
return {
|
|
287
|
+
lastEpoch,
|
|
288
|
+
tickAccumulator,
|
|
289
|
+
totalTokensSold,
|
|
290
|
+
totalProceeds,
|
|
291
|
+
totalTokensSoldLastEpoch,
|
|
292
|
+
feesAccrued
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
return result;
|
|
296
|
+
}
|
|
297
|
+
normalizePoolKey(value) {
|
|
298
|
+
if (Array.isArray(value)) {
|
|
299
|
+
const [currency0, currency1, fee, tickSpacing, hooks] = value;
|
|
300
|
+
return { currency0, currency1, fee, tickSpacing, hooks };
|
|
301
|
+
}
|
|
302
|
+
return value;
|
|
303
|
+
}
|
|
264
304
|
};
|
|
265
305
|
|
|
266
306
|
export { DynamicAuction };
|
|
267
|
-
//# sourceMappingURL=chunk-
|
|
268
|
-
//# sourceMappingURL=chunk-
|
|
307
|
+
//# sourceMappingURL=chunk-J5BFFL3X.mjs.map
|
|
308
|
+
//# sourceMappingURL=chunk-J5BFFL3X.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/entities/auction/DynamicAuction.ts"],"names":[],"mappings":"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","file":"chunk-J5BFFL3X.mjs","sourcesContent":["import { type Address, type PublicClient, type Hex, encodePacked, keccak256, encodeAbiParameters, zeroAddress } from 'viem'\nimport type { HookInfo, SupportedPublicClient } from '../../types'\nimport { dopplerHookAbi, airlockAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\n\n/**\n * DynamicAuction class for interacting with dynamic auctions (Uniswap V4 hook based)\n * \n * Dynamic auctions use a Uniswap V4 hook to create a gradual Dutch auction\n * where the price moves dynamically over time according to set parameters.\n */\nexport class DynamicAuction {\n private client: SupportedPublicClient\n private hookAddress: Address\n private get rpc(): PublicClient {\n return this.client as PublicClient\n }\n \n constructor(client: SupportedPublicClient, hookAddress: Address) {\n this.client = client\n this.hookAddress = hookAddress\n }\n\n /**\n * Wait for a transaction to be confirmed and the contract to be ready for reads\n * @param hash - Transaction hash to wait for\n * @param confirmations - Number of block confirmations to wait for (default: 2)\n */\n async waitForDeployment(hash: Hex, confirmations: number = 2): Promise<void> {\n await this.rpc.waitForTransactionReceipt({ hash, confirmations })\n }\n \n /**\n * Get the hook address\n */\n getAddress(): Address {\n return this.hookAddress\n }\n \n /**\n * Get current hook information\n */\n async getHookInfo(): Promise<HookInfo> {\n // Fetch all hook data in parallel\n const [\n state,\n earlyExit,\n insufficientProceeds,\n poolKeyRaw,\n startingTime,\n endingTime,\n epochLength,\n minimumProceeds,\n maximumProceeds,\n numTokensToSell,\n ] = await Promise.all([\n this.readHookState(),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'earlyExit',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'insufficientProceeds',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'poolKey',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'startingTime',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'endingTime',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'epochLength',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'minimumProceeds',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'maximumProceeds',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'numTokensToSell',\n }),\n ])\n \n // Calculate current epoch\n const currentTime = BigInt(Math.floor(Date.now() / 1000))\n const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0)\n const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0\n \n // Determine token addresses from poolKey\n const poolKey = this.normalizePoolKey(poolKeyRaw as any)\n const isToken0 = poolKey.currency0 !== zeroAddress\n const tokenAddress = isToken0 ? poolKey.currency0 : poolKey.currency1\n const numeraireAddress = isToken0 ? poolKey.currency1 : poolKey.currency0\n \n // Compute pool ID\n const poolId = this.computePoolId(poolKey)\n \n return {\n hookAddress: this.hookAddress,\n tokenAddress,\n numeraireAddress,\n poolId,\n currentEpoch,\n totalProceeds: (state as any).totalProceeds,\n totalTokensSold: (state as any).totalTokensSold,\n earlyExit,\n insufficientProceeds,\n startingTime,\n endingTime,\n epochLength,\n minimumProceeds,\n maximumProceeds,\n }\n }\n \n /**\n * Get the token address for this auction\n */\n async getTokenAddress(): Promise<Address> {\n const poolKeyRaw = await this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'poolKey',\n })\n const poolKey = this.normalizePoolKey(poolKeyRaw as any)\n\n const isToken0 = await this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'isToken0',\n })\n \n return isToken0 ? poolKey.currency0 : poolKey.currency1\n }\n \n /**\n * Get the pool ID for this auction\n */\n async getPoolId(): Promise<string> {\n const poolKeyRaw = await this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'poolKey',\n })\n const poolKey = this.normalizePoolKey(poolKeyRaw as any)\n return this.computePoolId(poolKey)\n }\n \n /**\n * Check if the auction has graduated (ready for migration)\n */\n async hasGraduated(): Promise<boolean> {\n const tokenAddress = await this.getTokenAddress()\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [tokenAddress],\n })\n // Check if the asset is graduated (liquidityMigrator is zero)\n const liquidityMigrator = Array.isArray(assetData)\n ? (assetData as any)[3]\n : (assetData as any)?.liquidityMigrator\n return liquidityMigrator === zeroAddress\n }\n \n /**\n * Get the current epoch\n */\n async getCurrentEpoch(): Promise<number> {\n const [startingTime, epochLength] = await Promise.all([\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'startingTime',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'epochLength',\n }),\n ])\n \n const currentTime = BigInt(Math.floor(Date.now() / 1000))\n const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0)\n \n return Number(elapsedTime / epochLength)\n }\n \n /**\n * Get the current price in the auction\n * Returns the current tick based on the epoch and gamma parameters\n */\n async getCurrentPrice(): Promise<bigint> {\n const [\n _state,\n startingTick,\n endingTick,\n gamma,\n startingTime,\n epochLength,\n ] = await Promise.all([\n this.readHookState(),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'startingTick',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'endingTick',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'gamma',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'startingTime',\n }),\n this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'epochLength',\n }),\n ])\n \n // Calculate current epoch\n const currentTime = BigInt(Math.floor(Date.now() / 1000))\n const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0)\n const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0\n \n // Calculate current tick based on the auction progression\n // The tick moves from startingTick towards endingTick based on epochs and gamma\n const direction = endingTick > startingTick ? 1 : -1\n const tickMovement = Math.floor(currentEpoch * gamma * direction)\n const currentTick = Math.floor(startingTick + tickMovement)\n \n // Convert tick to price\n // price = 1.0001^tick\n // For simplicity, returning the tick as bigint for now\n // In production, you'd convert this to actual price using TickMath\n return BigInt(currentTick)\n }\n \n /**\n * Get total proceeds collected so far\n */\n async getTotalProceeds(): Promise<bigint> {\n const state = await this.readHookState()\n \n return (state as any).totalProceeds\n }\n \n /**\n * Check if the auction ended early due to max proceeds\n */\n async hasEndedEarly(): Promise<boolean> {\n return await this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'earlyExit',\n })\n }\n \n /**\n * Compute V4 pool ID from pool key components\n */\n private computePoolId(poolKey: {\n currency0: Address\n currency1: Address \n fee: number\n tickSpacing: number\n hooks: Address\n }): string {\n // V4 pools are identified by the hash of their PoolKey\n const encoded = encodeAbiParameters(\n [\n { type: 'address' },\n { type: 'address' },\n { type: 'uint24' },\n { type: 'int24' },\n { type: 'address' }\n ],\n [\n poolKey.currency0,\n poolKey.currency1,\n poolKey.fee,\n poolKey.tickSpacing,\n poolKey.hooks\n ]\n )\n return keccak256(encoded)\n }\n\n /**\n * Read hook state with backward-compatible decoding.\n * Falls back to legacy state() ABI if the latest ABI fails to decode.\n */\n private async readHookState(): Promise<any> {\n const result: any = await this.rpc.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'state',\n })\n if (Array.isArray(result)) {\n const [\n lastEpoch,\n tickAccumulator,\n totalTokensSold,\n totalProceeds,\n totalTokensSoldLastEpoch,\n feesAccrued,\n ] = result as any[]\n return {\n lastEpoch,\n tickAccumulator,\n totalTokensSold,\n totalProceeds,\n totalTokensSoldLastEpoch,\n feesAccrued,\n }\n }\n return result\n }\n\n private normalizePoolKey(value: any): {\n currency0: Address\n currency1: Address\n fee: number\n tickSpacing: number\n hooks: Address\n } {\n if (Array.isArray(value)) {\n const [currency0, currency1, fee, tickSpacing, hooks] = value as [Address, Address, number, number, Address]\n return { currency0, currency1, fee, tickSpacing, hooks }\n }\n return value as any\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-JIKAD4YL.js"}
|