@whetstone-research/doppler-sdk 0.0.24 → 1.0.0
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/README.md +69 -0
- package/dist/chunk-3LTCKCJC.js +319 -0
- package/dist/chunk-3LTCKCJC.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +9 -0
- package/dist/{chunk-4XN6DQBW.js.map → chunk-PZ5AY32C.js.map} +1 -1
- package/dist/chunk-RO6R66OM.js +974 -0
- package/dist/chunk-RO6R66OM.js.map +1 -0
- package/dist/evm/index.d.ts +8533 -0
- package/dist/evm/index.js +15055 -0
- package/dist/evm/index.js.map +1 -0
- package/dist/oracle-BSvZ6pxp.d.ts +820 -0
- package/dist/pda-RVIHNLRP.js +4 -0
- package/dist/pda-RVIHNLRP.js.map +1 -0
- package/dist/solana/index.d.ts +2495 -0
- package/dist/solana/index.js +2209 -0
- package/dist/solana/index.js.map +1 -0
- package/dist/solana/react/index.d.ts +1046 -0
- package/dist/solana/react/index.js +1436 -0
- package/dist/solana/react/index.js.map +1 -0
- package/package.json +36 -20
- package/dist/DopplerSDK.d.mts +0 -106
- package/dist/DopplerSDK.d.ts +0 -106
- package/dist/DopplerSDK.js +0 -53
- package/dist/DopplerSDK.js.map +0 -1
- package/dist/DopplerSDK.mjs +0 -44
- package/dist/DopplerSDK.mjs.map +0 -1
- package/dist/abis/bytecodes/derc20.d.mts +0 -3
- package/dist/abis/bytecodes/derc20.d.ts +0 -3
- package/dist/abis/bytecodes/derc20.js +0 -9
- package/dist/abis/bytecodes/derc20.js.map +0 -1
- package/dist/abis/bytecodes/derc20.mjs +0 -3
- package/dist/abis/bytecodes/derc20.mjs.map +0 -1
- package/dist/abis/bytecodes/derc2080.d.mts +0 -3
- package/dist/abis/bytecodes/derc2080.d.ts +0 -3
- package/dist/abis/bytecodes/derc2080.js +0 -9
- package/dist/abis/bytecodes/derc2080.js.map +0 -1
- package/dist/abis/bytecodes/derc2080.mjs +0 -3
- package/dist/abis/bytecodes/derc2080.mjs.map +0 -1
- package/dist/abis/bytecodes/doppler.d.mts +0 -3
- package/dist/abis/bytecodes/doppler.d.ts +0 -3
- package/dist/abis/bytecodes/doppler.js +0 -9
- package/dist/abis/bytecodes/doppler.js.map +0 -1
- package/dist/abis/bytecodes/doppler.mjs +0 -3
- package/dist/abis/bytecodes/doppler.mjs.map +0 -1
- package/dist/abis/bytecodes/dopplerDN404.d.mts +0 -3
- package/dist/abis/bytecodes/dopplerDN404.d.ts +0 -3
- package/dist/abis/bytecodes/dopplerDN404.js +0 -9
- package/dist/abis/bytecodes/dopplerDN404.js.map +0 -1
- package/dist/abis/bytecodes/dopplerDN404.mjs +0 -3
- package/dist/abis/bytecodes/dopplerDN404.mjs.map +0 -1
- package/dist/abis/bytecodes/stateView.d.mts +0 -3
- package/dist/abis/bytecodes/stateView.d.ts +0 -3
- package/dist/abis/bytecodes/stateView.js +0 -9
- package/dist/abis/bytecodes/stateView.js.map +0 -1
- package/dist/abis/bytecodes/stateView.mjs +0 -3
- package/dist/abis/bytecodes/stateView.mjs.map +0 -1
- package/dist/abis/bytecodes.d.mts +0 -5
- package/dist/abis/bytecodes.d.ts +0 -5
- package/dist/abis/bytecodes.js +0 -33
- package/dist/abis/bytecodes.js.map +0 -1
- package/dist/abis/bytecodes.mjs +0 -8
- package/dist/abis/bytecodes.mjs.map +0 -1
- package/dist/abis/index.d.mts +0 -3871
- package/dist/abis/index.d.ts +0 -3871
- package/dist/abis/index.js +0 -130
- package/dist/abis/index.js.map +0 -1
- package/dist/abis/index.mjs +0 -9
- package/dist/abis/index.mjs.map +0 -1
- package/dist/addresses.d.mts +0 -69
- package/dist/addresses.d.ts +0 -69
- package/dist/addresses.js +0 -29
- package/dist/addresses.js.map +0 -1
- package/dist/addresses.mjs +0 -4
- package/dist/addresses.mjs.map +0 -1
- package/dist/builders/DynamicAuctionBuilder.d.mts +0 -138
- package/dist/builders/DynamicAuctionBuilder.d.ts +0 -138
- package/dist/builders/DynamicAuctionBuilder.js +0 -35
- package/dist/builders/DynamicAuctionBuilder.js.map +0 -1
- package/dist/builders/DynamicAuctionBuilder.mjs +0 -26
- package/dist/builders/DynamicAuctionBuilder.mjs.map +0 -1
- package/dist/builders/MulticurveBuilder.d.mts +0 -196
- package/dist/builders/MulticurveBuilder.d.ts +0 -196
- package/dist/builders/MulticurveBuilder.js +0 -35
- package/dist/builders/MulticurveBuilder.js.map +0 -1
- package/dist/builders/MulticurveBuilder.mjs +0 -26
- package/dist/builders/MulticurveBuilder.mjs.map +0 -1
- package/dist/builders/StaticAuctionBuilder.d.mts +0 -131
- package/dist/builders/StaticAuctionBuilder.d.ts +0 -131
- package/dist/builders/StaticAuctionBuilder.js +0 -35
- package/dist/builders/StaticAuctionBuilder.js.map +0 -1
- package/dist/builders/StaticAuctionBuilder.mjs +0 -26
- package/dist/builders/StaticAuctionBuilder.mjs.map +0 -1
- package/dist/builders/index.d.mts +0 -8
- package/dist/builders/index.d.ts +0 -8
- package/dist/builders/index.js +0 -62
- package/dist/builders/index.js.map +0 -1
- package/dist/builders/index.mjs +0 -29
- package/dist/builders/index.mjs.map +0 -1
- package/dist/builders/shared.d.mts +0 -115
- package/dist/builders/shared.d.ts +0 -115
- package/dist/builders/shared.js +0 -46
- package/dist/builders/shared.js.map +0 -1
- package/dist/builders/shared.mjs +0 -25
- package/dist/builders/shared.mjs.map +0 -1
- package/dist/chunk-25GEBO3B.mjs +0 -219
- package/dist/chunk-25GEBO3B.mjs.map +0 -1
- package/dist/chunk-2A3B3NVB.js +0 -737
- package/dist/chunk-2A3B3NVB.js.map +0 -1
- package/dist/chunk-3NMGCQJ4.mjs +0 -6
- package/dist/chunk-3NMGCQJ4.mjs.map +0 -1
- package/dist/chunk-44CYUEPG.js +0 -377
- package/dist/chunk-44CYUEPG.js.map +0 -1
- package/dist/chunk-4VWQNNNW.js +0 -233
- package/dist/chunk-4VWQNNNW.js.map +0 -1
- package/dist/chunk-4XN6DQBW.js +0 -4
- package/dist/chunk-5GQJRNFL.mjs +0 -40
- package/dist/chunk-5GQJRNFL.mjs.map +0 -1
- package/dist/chunk-5JHXBDZD.js +0 -265
- package/dist/chunk-5JHXBDZD.js.map +0 -1
- package/dist/chunk-5TQOT6CW.js +0 -8
- package/dist/chunk-5TQOT6CW.js.map +0 -1
- package/dist/chunk-65CESA3J.js +0 -46
- package/dist/chunk-65CESA3J.js.map +0 -1
- package/dist/chunk-6BQY5EPB.js +0 -144
- package/dist/chunk-6BQY5EPB.js.map +0 -1
- package/dist/chunk-6H6X3VTZ.js +0 -18
- package/dist/chunk-6H6X3VTZ.js.map +0 -1
- package/dist/chunk-7A4DBBXA.js +0 -311
- package/dist/chunk-7A4DBBXA.js.map +0 -1
- package/dist/chunk-7M57PU6V.js +0 -28
- package/dist/chunk-7M57PU6V.js.map +0 -1
- package/dist/chunk-7ZUV6WPX.mjs +0 -3
- package/dist/chunk-7ZUV6WPX.mjs.map +0 -1
- package/dist/chunk-A2CJYRRQ.js +0 -330
- package/dist/chunk-A2CJYRRQ.js.map +0 -1
- package/dist/chunk-ABT6AT7C.mjs +0 -16
- package/dist/chunk-ABT6AT7C.mjs.map +0 -1
- package/dist/chunk-BK3S6SVR.js +0 -2707
- package/dist/chunk-BK3S6SVR.js.map +0 -1
- package/dist/chunk-BQZTELUX.js +0 -45
- package/dist/chunk-BQZTELUX.js.map +0 -1
- package/dist/chunk-CFAAYL5M.mjs +0 -26
- package/dist/chunk-CFAAYL5M.mjs.map +0 -1
- package/dist/chunk-CFXXUZJY.js +0 -275
- package/dist/chunk-CFXXUZJY.js.map +0 -1
- package/dist/chunk-CWTGQAOG.mjs +0 -72
- package/dist/chunk-CWTGQAOG.mjs.map +0 -1
- package/dist/chunk-DCWF3EMP.js +0 -171
- package/dist/chunk-DCWF3EMP.js.map +0 -1
- package/dist/chunk-DOUF6NON.mjs +0 -3
- package/dist/chunk-DOUF6NON.mjs.map +0 -1
- package/dist/chunk-DQJXCZU2.mjs +0 -318
- package/dist/chunk-DQJXCZU2.mjs.map +0 -1
- package/dist/chunk-DSYPZETD.js +0 -4
- package/dist/chunk-DSYPZETD.js.map +0 -1
- package/dist/chunk-F2BYG63D.mjs +0 -145
- package/dist/chunk-F2BYG63D.mjs.map +0 -1
- package/dist/chunk-FNUBKONK.js +0 -291
- package/dist/chunk-FNUBKONK.js.map +0 -1
- package/dist/chunk-FOESYJP3.mjs +0 -3
- package/dist/chunk-FOESYJP3.mjs.map +0 -1
- package/dist/chunk-FXTGIKQG.mjs +0 -3
- package/dist/chunk-FXTGIKQG.mjs.map +0 -1
- package/dist/chunk-GSBQIVME.mjs +0 -278
- package/dist/chunk-GSBQIVME.mjs.map +0 -1
- package/dist/chunk-H3B54PFV.mjs +0 -17
- package/dist/chunk-H3B54PFV.mjs.map +0 -1
- package/dist/chunk-HJFVRV47.js +0 -120
- package/dist/chunk-HJFVRV47.js.map +0 -1
- package/dist/chunk-IIM2CSDQ.js +0 -147
- package/dist/chunk-IIM2CSDQ.js.map +0 -1
- package/dist/chunk-IUTIHSLH.mjs +0 -295
- package/dist/chunk-IUTIHSLH.mjs.map +0 -1
- package/dist/chunk-IUZ3BBQP.mjs +0 -117
- package/dist/chunk-IUZ3BBQP.mjs.map +0 -1
- package/dist/chunk-IWJOPXYN.mjs +0 -96
- package/dist/chunk-IWJOPXYN.mjs.map +0 -1
- package/dist/chunk-IX4V4UGW.mjs +0 -141
- package/dist/chunk-IX4V4UGW.mjs.map +0 -1
- package/dist/chunk-J62YDWIK.js +0 -8
- package/dist/chunk-J62YDWIK.js.map +0 -1
- package/dist/chunk-JIKAD4YL.js +0 -4
- package/dist/chunk-JIKAD4YL.js.map +0 -1
- package/dist/chunk-JLUOFAE4.mjs +0 -2531
- package/dist/chunk-JLUOFAE4.mjs.map +0 -1
- package/dist/chunk-KAZQJ24E.mjs +0 -59
- package/dist/chunk-KAZQJ24E.mjs.map +0 -1
- package/dist/chunk-KHUE77HC.js +0 -81
- package/dist/chunk-KHUE77HC.js.map +0 -1
- package/dist/chunk-KOAC3BBP.mjs +0 -11
- package/dist/chunk-KOAC3BBP.mjs.map +0 -1
- package/dist/chunk-LW3CYA27.mjs +0 -2705
- package/dist/chunk-LW3CYA27.mjs.map +0 -1
- package/dist/chunk-MEA2C5YX.js +0 -143
- package/dist/chunk-MEA2C5YX.js.map +0 -1
- package/dist/chunk-MU56HCUI.js +0 -2556
- package/dist/chunk-MU56HCUI.js.map +0 -1
- package/dist/chunk-OCIY7QEJ.mjs +0 -169
- package/dist/chunk-OCIY7QEJ.mjs.map +0 -1
- package/dist/chunk-OHA5KJ2M.mjs +0 -6
- package/dist/chunk-OHA5KJ2M.mjs.map +0 -1
- package/dist/chunk-P25HBGP5.mjs +0 -3
- package/dist/chunk-P25HBGP5.mjs.map +0 -1
- package/dist/chunk-P563HTVU.js +0 -164
- package/dist/chunk-P563HTVU.js.map +0 -1
- package/dist/chunk-P7CHGWY7.js +0 -4
- package/dist/chunk-P7CHGWY7.js.map +0 -1
- package/dist/chunk-PGYTMRP3.js +0 -277
- package/dist/chunk-PGYTMRP3.js.map +0 -1
- package/dist/chunk-QAPQGDWK.js +0 -8
- package/dist/chunk-QAPQGDWK.js.map +0 -1
- package/dist/chunk-QHBKRUBY.mjs +0 -328
- package/dist/chunk-QHBKRUBY.mjs.map +0 -1
- package/dist/chunk-QOYI7WCH.js +0 -120
- package/dist/chunk-QOYI7WCH.js.map +0 -1
- package/dist/chunk-QRTABC4Z.js +0 -8
- package/dist/chunk-QRTABC4Z.js.map +0 -1
- package/dist/chunk-QSQGLWNY.mjs +0 -3
- package/dist/chunk-QSQGLWNY.mjs.map +0 -1
- package/dist/chunk-QUBD6HUZ.mjs +0 -735
- package/dist/chunk-QUBD6HUZ.mjs.map +0 -1
- package/dist/chunk-RDTIXP6S.mjs +0 -263
- package/dist/chunk-RDTIXP6S.mjs.map +0 -1
- package/dist/chunk-RLOZWHRR.js +0 -320
- package/dist/chunk-RLOZWHRR.js.map +0 -1
- package/dist/chunk-RV64M4Q6.mjs +0 -3
- package/dist/chunk-RV64M4Q6.mjs.map +0 -1
- package/dist/chunk-SWWLOD7Q.mjs +0 -6
- package/dist/chunk-SWWLOD7Q.mjs.map +0 -1
- package/dist/chunk-T3UA4MJL.js +0 -4
- package/dist/chunk-T3UA4MJL.js.map +0 -1
- package/dist/chunk-TEWAXP5C.mjs +0 -162
- package/dist/chunk-TEWAXP5C.mjs.map +0 -1
- package/dist/chunk-THEIRDGE.mjs +0 -273
- package/dist/chunk-THEIRDGE.mjs.map +0 -1
- package/dist/chunk-U3GOWK6J.mjs +0 -6
- package/dist/chunk-U3GOWK6J.mjs.map +0 -1
- package/dist/chunk-UPVKABAV.js +0 -19
- package/dist/chunk-UPVKABAV.js.map +0 -1
- package/dist/chunk-VEIVYUYF.js +0 -4
- package/dist/chunk-VEIVYUYF.js.map +0 -1
- package/dist/chunk-VKSD3KXF.mjs +0 -275
- package/dist/chunk-VKSD3KXF.mjs.map +0 -1
- package/dist/chunk-VYSOAGRU.mjs +0 -6
- package/dist/chunk-VYSOAGRU.mjs.map +0 -1
- package/dist/chunk-WDC53TM7.mjs +0 -305
- package/dist/chunk-WDC53TM7.mjs.map +0 -1
- package/dist/chunk-WKWP42TD.mjs +0 -39
- package/dist/chunk-WKWP42TD.mjs.map +0 -1
- package/dist/chunk-WNUB3UTT.js +0 -241
- package/dist/chunk-WNUB3UTT.js.map +0 -1
- package/dist/chunk-WNWK2QMU.mjs +0 -375
- package/dist/chunk-WNWK2QMU.mjs.map +0 -1
- package/dist/chunk-WQHTNL5L.js +0 -4
- package/dist/chunk-WQHTNL5L.js.map +0 -1
- package/dist/chunk-WZF5XNBC.js +0 -297
- package/dist/chunk-WZF5XNBC.js.map +0 -1
- package/dist/chunk-X3UMAHOJ.js +0 -4
- package/dist/chunk-X3UMAHOJ.js.map +0 -1
- package/dist/chunk-XMFOZYNI.js +0 -8
- package/dist/chunk-XMFOZYNI.js.map +0 -1
- package/dist/chunk-XNMXN5SZ.mjs +0 -3
- package/dist/chunk-XNMXN5SZ.mjs.map +0 -1
- package/dist/chunk-XSJTASPK.js +0 -13
- package/dist/chunk-XSJTASPK.js.map +0 -1
- package/dist/chunk-YBK6EBA5.mjs +0 -239
- package/dist/chunk-YBK6EBA5.mjs.map +0 -1
- package/dist/chunk-YYLD3AJ7.js +0 -61
- package/dist/chunk-YYLD3AJ7.js.map +0 -1
- package/dist/chunk-ZEDJUNC6.mjs +0 -115
- package/dist/chunk-ZEDJUNC6.mjs.map +0 -1
- package/dist/constants.d.mts +0 -91
- package/dist/constants.d.ts +0 -91
- package/dist/constants.js +0 -196
- package/dist/constants.js.map +0 -1
- package/dist/constants.mjs +0 -3
- package/dist/constants.mjs.map +0 -1
- package/dist/deployments.generated.d.mts +0 -275
- package/dist/deployments.generated.d.ts +0 -275
- package/dist/deployments.generated.js +0 -12
- package/dist/deployments.generated.js.map +0 -1
- package/dist/deployments.generated.mjs +0 -3
- package/dist/deployments.generated.mjs.map +0 -1
- package/dist/entities/DopplerFactory.d.mts +0 -272
- package/dist/entities/DopplerFactory.d.ts +0 -272
- package/dist/entities/DopplerFactory.js +0 -34
- package/dist/entities/DopplerFactory.js.map +0 -1
- package/dist/entities/DopplerFactory.mjs +0 -25
- package/dist/entities/DopplerFactory.mjs.map +0 -1
- package/dist/entities/auction/DynamicAuction.d.mts +0 -72
- package/dist/entities/auction/DynamicAuction.d.ts +0 -72
- package/dist/entities/auction/DynamicAuction.js +0 -21
- package/dist/entities/auction/DynamicAuction.js.map +0 -1
- package/dist/entities/auction/DynamicAuction.mjs +0 -12
- package/dist/entities/auction/DynamicAuction.mjs.map +0 -1
- package/dist/entities/auction/MulticurvePool.d.mts +0 -78
- package/dist/entities/auction/MulticurvePool.d.ts +0 -78
- package/dist/entities/auction/MulticurvePool.js +0 -24
- package/dist/entities/auction/MulticurvePool.js.map +0 -1
- package/dist/entities/auction/MulticurvePool.mjs +0 -15
- package/dist/entities/auction/MulticurvePool.mjs.map +0 -1
- package/dist/entities/auction/RehypeDopplerHook.d.mts +0 -57
- package/dist/entities/auction/RehypeDopplerHook.d.ts +0 -57
- package/dist/entities/auction/RehypeDopplerHook.js +0 -34
- package/dist/entities/auction/RehypeDopplerHook.js.map +0 -1
- package/dist/entities/auction/RehypeDopplerHook.mjs +0 -25
- package/dist/entities/auction/RehypeDopplerHook.mjs.map +0 -1
- package/dist/entities/auction/RehypeDopplerHookMigrator.d.mts +0 -48
- package/dist/entities/auction/RehypeDopplerHookMigrator.d.ts +0 -48
- package/dist/entities/auction/RehypeDopplerHookMigrator.js +0 -34
- package/dist/entities/auction/RehypeDopplerHookMigrator.js.map +0 -1
- package/dist/entities/auction/RehypeDopplerHookMigrator.mjs +0 -25
- package/dist/entities/auction/RehypeDopplerHookMigrator.mjs.map +0 -1
- package/dist/entities/auction/StaticAuction.d.mts +0 -44
- package/dist/entities/auction/StaticAuction.d.ts +0 -44
- package/dist/entities/auction/StaticAuction.js +0 -21
- package/dist/entities/auction/StaticAuction.js.map +0 -1
- package/dist/entities/auction/StaticAuction.mjs +0 -12
- package/dist/entities/auction/StaticAuction.mjs.map +0 -1
- package/dist/entities/auction/index.d.mts +0 -9
- package/dist/entities/auction/index.d.ts +0 -9
- package/dist/entities/auction/index.js +0 -55
- package/dist/entities/auction/index.js.map +0 -1
- package/dist/entities/auction/index.mjs +0 -30
- package/dist/entities/auction/index.mjs.map +0 -1
- package/dist/entities/quoter/Quoter.d.mts +0 -150
- package/dist/entities/quoter/Quoter.d.ts +0 -150
- package/dist/entities/quoter/Quoter.js +0 -21
- package/dist/entities/quoter/Quoter.js.map +0 -1
- package/dist/entities/quoter/Quoter.mjs +0 -12
- package/dist/entities/quoter/Quoter.mjs.map +0 -1
- package/dist/entities/quoter/index.d.mts +0 -5
- package/dist/entities/quoter/index.d.ts +0 -5
- package/dist/entities/quoter/index.js +0 -22
- package/dist/entities/quoter/index.js.map +0 -1
- package/dist/entities/quoter/index.mjs +0 -13
- package/dist/entities/quoter/index.mjs.map +0 -1
- package/dist/entities/token/derc20/Derc20.d.mts +0 -102
- package/dist/entities/token/derc20/Derc20.d.ts +0 -102
- package/dist/entities/token/derc20/Derc20.js +0 -19
- package/dist/entities/token/derc20/Derc20.js.map +0 -1
- package/dist/entities/token/derc20/Derc20.mjs +0 -10
- package/dist/entities/token/derc20/Derc20.mjs.map +0 -1
- package/dist/entities/token/derc20/index.d.mts +0 -5
- package/dist/entities/token/derc20/index.d.ts +0 -5
- package/dist/entities/token/derc20/index.js +0 -20
- package/dist/entities/token/derc20/index.js.map +0 -1
- package/dist/entities/token/derc20/index.mjs +0 -11
- package/dist/entities/token/derc20/index.mjs.map +0 -1
- package/dist/entities/token/eth/Eth.d.mts +0 -54
- package/dist/entities/token/eth/Eth.d.ts +0 -54
- package/dist/entities/token/eth/Eth.js +0 -12
- package/dist/entities/token/eth/Eth.js.map +0 -1
- package/dist/entities/token/eth/Eth.mjs +0 -3
- package/dist/entities/token/eth/Eth.mjs.map +0 -1
- package/dist/entities/token/eth/index.d.mts +0 -5
- package/dist/entities/token/eth/index.d.ts +0 -5
- package/dist/entities/token/eth/index.js +0 -13
- package/dist/entities/token/eth/index.js.map +0 -1
- package/dist/entities/token/eth/index.mjs +0 -4
- package/dist/entities/token/eth/index.mjs.map +0 -1
- package/dist/entities/token/index.d.mts +0 -6
- package/dist/entities/token/index.d.ts +0 -6
- package/dist/entities/token/index.js +0 -27
- package/dist/entities/token/index.js.map +0 -1
- package/dist/entities/token/index.mjs +0 -14
- package/dist/entities/token/index.mjs.map +0 -1
- package/dist/index.d.mts +0 -39
- package/dist/index.d.ts +0 -39
- package/dist/index.js +0 -587
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -49
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.mts +0 -662
- package/dist/types.d.ts +0 -662
- package/dist/types.js +0 -34
- package/dist/types.js.map +0 -1
- package/dist/types.mjs +0 -5
- package/dist/types.mjs.map +0 -1
- package/dist/utils/airlock.d.mts +0 -11
- package/dist/utils/airlock.d.ts +0 -11
- package/dist/utils/airlock.js +0 -26
- package/dist/utils/airlock.js.map +0 -1
- package/dist/utils/airlock.mjs +0 -5
- package/dist/utils/airlock.mjs.map +0 -1
- package/dist/utils/balanceDelta.d.mts +0 -10
- package/dist/utils/balanceDelta.d.ts +0 -10
- package/dist/utils/balanceDelta.js +0 -12
- package/dist/utils/balanceDelta.js.map +0 -1
- package/dist/utils/balanceDelta.mjs +0 -3
- package/dist/utils/balanceDelta.mjs.map +0 -1
- package/dist/utils/computeOptimalGamma.d.mts +0 -7
- package/dist/utils/computeOptimalGamma.d.ts +0 -7
- package/dist/utils/computeOptimalGamma.js +0 -12
- package/dist/utils/computeOptimalGamma.js.map +0 -1
- package/dist/utils/computeOptimalGamma.mjs +0 -3
- package/dist/utils/computeOptimalGamma.mjs.map +0 -1
- package/dist/utils/dopplerHookMigrator.d.mts +0 -18
- package/dist/utils/dopplerHookMigrator.d.ts +0 -18
- package/dist/utils/dopplerHookMigrator.js +0 -20
- package/dist/utils/dopplerHookMigrator.js.map +0 -1
- package/dist/utils/dopplerHookMigrator.mjs +0 -7
- package/dist/utils/dopplerHookMigrator.mjs.map +0 -1
- package/dist/utils/index.d.mts +0 -14
- package/dist/utils/index.d.ts +0 -14
- package/dist/utils/index.js +0 -197
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/index.mjs +0 -24
- package/dist/utils/index.mjs.map +0 -1
- package/dist/utils/isToken0Expected.d.mts +0 -13
- package/dist/utils/isToken0Expected.d.ts +0 -13
- package/dist/utils/isToken0Expected.js +0 -12
- package/dist/utils/isToken0Expected.js.map +0 -1
- package/dist/utils/isToken0Expected.mjs +0 -3
- package/dist/utils/isToken0Expected.mjs.map +0 -1
- package/dist/utils/marketCapHelpers.d.mts +0 -259
- package/dist/utils/marketCapHelpers.d.ts +0 -259
- package/dist/utils/marketCapHelpers.js +0 -58
- package/dist/utils/marketCapHelpers.js.map +0 -1
- package/dist/utils/marketCapHelpers.mjs +0 -5
- package/dist/utils/marketCapHelpers.mjs.map +0 -1
- package/dist/utils/poolKey.d.mts +0 -17
- package/dist/utils/poolKey.d.ts +0 -17
- package/dist/utils/poolKey.js +0 -12
- package/dist/utils/poolKey.js.map +0 -1
- package/dist/utils/poolKey.mjs +0 -3
- package/dist/utils/poolKey.mjs.map +0 -1
- package/dist/utils/priceHelpers.d.mts +0 -86
- package/dist/utils/priceHelpers.d.ts +0 -86
- package/dist/utils/priceHelpers.js +0 -41
- package/dist/utils/priceHelpers.js.map +0 -1
- package/dist/utils/priceHelpers.mjs +0 -4
- package/dist/utils/priceHelpers.mjs.map +0 -1
- package/dist/utils/tickMath.d.mts +0 -72
- package/dist/utils/tickMath.d.ts +0 -72
- package/dist/utils/tickMath.js +0 -60
- package/dist/utils/tickMath.js.map +0 -1
- package/dist/utils/tickMath.mjs +0 -3
- package/dist/utils/tickMath.mjs.map +0 -1
- package/dist/utils/tokenAddressMiner.d.mts +0 -37
- package/dist/utils/tokenAddressMiner.d.ts +0 -37
- package/dist/utils/tokenAddressMiner.js +0 -19
- package/dist/utils/tokenAddressMiner.js.map +0 -1
- package/dist/utils/tokenAddressMiner.mjs +0 -10
- package/dist/utils/tokenAddressMiner.mjs.map +0 -1
package/dist/chunk-IUTIHSLH.mjs
DELETED
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
import { getAddresses } from './chunk-WDC53TM7.mjs';
|
|
2
|
-
import { dopplerHookAbi, airlockAbi } from './chunk-JLUOFAE4.mjs';
|
|
3
|
-
import { zeroAddress, encodeAbiParameters, keccak256 } from 'viem';
|
|
4
|
-
|
|
5
|
-
var DynamicAuction = class {
|
|
6
|
-
get rpc() {
|
|
7
|
-
return this.client;
|
|
8
|
-
}
|
|
9
|
-
constructor(client, hookAddress) {
|
|
10
|
-
this.client = client;
|
|
11
|
-
this.hookAddress = hookAddress;
|
|
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
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get the hook address
|
|
23
|
-
*/
|
|
24
|
-
getAddress() {
|
|
25
|
-
return this.hookAddress;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get current hook information
|
|
29
|
-
*/
|
|
30
|
-
async getHookInfo() {
|
|
31
|
-
const [
|
|
32
|
-
state,
|
|
33
|
-
earlyExit,
|
|
34
|
-
insufficientProceeds,
|
|
35
|
-
poolKeyRaw,
|
|
36
|
-
startingTime,
|
|
37
|
-
endingTime,
|
|
38
|
-
epochLength,
|
|
39
|
-
minimumProceeds,
|
|
40
|
-
maximumProceeds
|
|
41
|
-
] = await Promise.all([
|
|
42
|
-
this.readHookState(),
|
|
43
|
-
this.rpc.readContract({
|
|
44
|
-
address: this.hookAddress,
|
|
45
|
-
abi: dopplerHookAbi,
|
|
46
|
-
functionName: "earlyExit"
|
|
47
|
-
}),
|
|
48
|
-
this.rpc.readContract({
|
|
49
|
-
address: this.hookAddress,
|
|
50
|
-
abi: dopplerHookAbi,
|
|
51
|
-
functionName: "insufficientProceeds"
|
|
52
|
-
}),
|
|
53
|
-
this.rpc.readContract({
|
|
54
|
-
address: this.hookAddress,
|
|
55
|
-
abi: dopplerHookAbi,
|
|
56
|
-
functionName: "poolKey"
|
|
57
|
-
}),
|
|
58
|
-
this.rpc.readContract({
|
|
59
|
-
address: this.hookAddress,
|
|
60
|
-
abi: dopplerHookAbi,
|
|
61
|
-
functionName: "startingTime"
|
|
62
|
-
}),
|
|
63
|
-
this.rpc.readContract({
|
|
64
|
-
address: this.hookAddress,
|
|
65
|
-
abi: dopplerHookAbi,
|
|
66
|
-
functionName: "endingTime"
|
|
67
|
-
}),
|
|
68
|
-
this.rpc.readContract({
|
|
69
|
-
address: this.hookAddress,
|
|
70
|
-
abi: dopplerHookAbi,
|
|
71
|
-
functionName: "epochLength"
|
|
72
|
-
}),
|
|
73
|
-
this.rpc.readContract({
|
|
74
|
-
address: this.hookAddress,
|
|
75
|
-
abi: dopplerHookAbi,
|
|
76
|
-
functionName: "minimumProceeds"
|
|
77
|
-
}),
|
|
78
|
-
this.rpc.readContract({
|
|
79
|
-
address: this.hookAddress,
|
|
80
|
-
abi: dopplerHookAbi,
|
|
81
|
-
functionName: "maximumProceeds"
|
|
82
|
-
})
|
|
83
|
-
]);
|
|
84
|
-
const currentTime = BigInt(Math.floor(Date.now() / 1e3));
|
|
85
|
-
const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0);
|
|
86
|
-
const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0;
|
|
87
|
-
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
88
|
-
const isToken0 = poolKey.currency0 !== zeroAddress;
|
|
89
|
-
const tokenAddress = isToken0 ? poolKey.currency0 : poolKey.currency1;
|
|
90
|
-
const numeraireAddress = isToken0 ? poolKey.currency1 : poolKey.currency0;
|
|
91
|
-
const poolId = this.computePoolId(poolKey);
|
|
92
|
-
return {
|
|
93
|
-
hookAddress: this.hookAddress,
|
|
94
|
-
tokenAddress,
|
|
95
|
-
numeraireAddress,
|
|
96
|
-
poolId,
|
|
97
|
-
currentEpoch,
|
|
98
|
-
totalProceeds: state.totalProceeds,
|
|
99
|
-
totalTokensSold: state.totalTokensSold,
|
|
100
|
-
earlyExit,
|
|
101
|
-
insufficientProceeds,
|
|
102
|
-
startingTime,
|
|
103
|
-
endingTime,
|
|
104
|
-
epochLength,
|
|
105
|
-
minimumProceeds,
|
|
106
|
-
maximumProceeds
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Get the token address for this auction
|
|
111
|
-
*/
|
|
112
|
-
async getTokenAddress() {
|
|
113
|
-
const poolKeyRaw = await this.rpc.readContract({
|
|
114
|
-
address: this.hookAddress,
|
|
115
|
-
abi: dopplerHookAbi,
|
|
116
|
-
functionName: "poolKey"
|
|
117
|
-
});
|
|
118
|
-
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
119
|
-
const isToken0 = await this.rpc.readContract({
|
|
120
|
-
address: this.hookAddress,
|
|
121
|
-
abi: dopplerHookAbi,
|
|
122
|
-
functionName: "isToken0"
|
|
123
|
-
});
|
|
124
|
-
return isToken0 ? poolKey.currency0 : poolKey.currency1;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Get the pool ID for this auction
|
|
128
|
-
*/
|
|
129
|
-
async getPoolId() {
|
|
130
|
-
const poolKeyRaw = await this.rpc.readContract({
|
|
131
|
-
address: this.hookAddress,
|
|
132
|
-
abi: dopplerHookAbi,
|
|
133
|
-
functionName: "poolKey"
|
|
134
|
-
});
|
|
135
|
-
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
136
|
-
return this.computePoolId(poolKey);
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Check if the auction has graduated (ready for migration)
|
|
140
|
-
*/
|
|
141
|
-
async hasGraduated() {
|
|
142
|
-
const tokenAddress = await this.getTokenAddress();
|
|
143
|
-
const chainId = await this.rpc.getChainId();
|
|
144
|
-
const addresses = getAddresses(chainId);
|
|
145
|
-
const assetData = await this.rpc.readContract({
|
|
146
|
-
address: addresses.airlock,
|
|
147
|
-
abi: airlockAbi,
|
|
148
|
-
functionName: "getAssetData",
|
|
149
|
-
args: [tokenAddress]
|
|
150
|
-
});
|
|
151
|
-
const liquidityMigrator = Array.isArray(assetData) ? assetData[3] : assetData?.liquidityMigrator;
|
|
152
|
-
return liquidityMigrator === zeroAddress;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Get the current epoch
|
|
156
|
-
*/
|
|
157
|
-
async getCurrentEpoch() {
|
|
158
|
-
const [startingTime, epochLength] = await Promise.all([
|
|
159
|
-
this.rpc.readContract({
|
|
160
|
-
address: this.hookAddress,
|
|
161
|
-
abi: dopplerHookAbi,
|
|
162
|
-
functionName: "startingTime"
|
|
163
|
-
}),
|
|
164
|
-
this.rpc.readContract({
|
|
165
|
-
address: this.hookAddress,
|
|
166
|
-
abi: dopplerHookAbi,
|
|
167
|
-
functionName: "epochLength"
|
|
168
|
-
})
|
|
169
|
-
]);
|
|
170
|
-
const currentTime = BigInt(Math.floor(Date.now() / 1e3));
|
|
171
|
-
const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0);
|
|
172
|
-
return Number(elapsedTime / epochLength);
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Get the current price in the auction
|
|
176
|
-
* Returns the current tick based on the epoch and gamma parameters
|
|
177
|
-
*/
|
|
178
|
-
async getCurrentPrice() {
|
|
179
|
-
const [_state, startingTick, endingTick, gamma, startingTime, epochLength] = await Promise.all([
|
|
180
|
-
this.readHookState(),
|
|
181
|
-
this.rpc.readContract({
|
|
182
|
-
address: this.hookAddress,
|
|
183
|
-
abi: dopplerHookAbi,
|
|
184
|
-
functionName: "startingTick"
|
|
185
|
-
}),
|
|
186
|
-
this.rpc.readContract({
|
|
187
|
-
address: this.hookAddress,
|
|
188
|
-
abi: dopplerHookAbi,
|
|
189
|
-
functionName: "endingTick"
|
|
190
|
-
}),
|
|
191
|
-
this.rpc.readContract({
|
|
192
|
-
address: this.hookAddress,
|
|
193
|
-
abi: dopplerHookAbi,
|
|
194
|
-
functionName: "gamma"
|
|
195
|
-
}),
|
|
196
|
-
this.rpc.readContract({
|
|
197
|
-
address: this.hookAddress,
|
|
198
|
-
abi: dopplerHookAbi,
|
|
199
|
-
functionName: "startingTime"
|
|
200
|
-
}),
|
|
201
|
-
this.rpc.readContract({
|
|
202
|
-
address: this.hookAddress,
|
|
203
|
-
abi: dopplerHookAbi,
|
|
204
|
-
functionName: "epochLength"
|
|
205
|
-
})
|
|
206
|
-
]);
|
|
207
|
-
const currentTime = BigInt(Math.floor(Date.now() / 1e3));
|
|
208
|
-
const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0);
|
|
209
|
-
const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0;
|
|
210
|
-
const direction = endingTick > startingTick ? 1 : -1;
|
|
211
|
-
const tickMovement = Math.floor(currentEpoch * gamma * direction);
|
|
212
|
-
const currentTick = Math.floor(startingTick + tickMovement);
|
|
213
|
-
return BigInt(currentTick);
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Get total proceeds collected so far
|
|
217
|
-
*/
|
|
218
|
-
async getTotalProceeds() {
|
|
219
|
-
const state = await this.readHookState();
|
|
220
|
-
return state.totalProceeds;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Check if the auction ended early due to max proceeds
|
|
224
|
-
*/
|
|
225
|
-
async hasEndedEarly() {
|
|
226
|
-
return await this.rpc.readContract({
|
|
227
|
-
address: this.hookAddress,
|
|
228
|
-
abi: dopplerHookAbi,
|
|
229
|
-
functionName: "earlyExit"
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Compute V4 pool ID from pool key components
|
|
234
|
-
*/
|
|
235
|
-
computePoolId(poolKey) {
|
|
236
|
-
const encoded = encodeAbiParameters(
|
|
237
|
-
[
|
|
238
|
-
{ type: "address" },
|
|
239
|
-
{ type: "address" },
|
|
240
|
-
{ type: "uint24" },
|
|
241
|
-
{ type: "int24" },
|
|
242
|
-
{ type: "address" }
|
|
243
|
-
],
|
|
244
|
-
[
|
|
245
|
-
poolKey.currency0,
|
|
246
|
-
poolKey.currency1,
|
|
247
|
-
poolKey.fee,
|
|
248
|
-
poolKey.tickSpacing,
|
|
249
|
-
poolKey.hooks
|
|
250
|
-
]
|
|
251
|
-
);
|
|
252
|
-
return keccak256(encoded);
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Read hook state with backward-compatible decoding.
|
|
256
|
-
* Falls back to legacy state() ABI if the latest ABI fails to decode.
|
|
257
|
-
*/
|
|
258
|
-
async readHookState() {
|
|
259
|
-
const result = await this.rpc.readContract({
|
|
260
|
-
address: this.hookAddress,
|
|
261
|
-
abi: dopplerHookAbi,
|
|
262
|
-
functionName: "state"
|
|
263
|
-
});
|
|
264
|
-
if (Array.isArray(result)) {
|
|
265
|
-
const [
|
|
266
|
-
lastEpoch,
|
|
267
|
-
tickAccumulator,
|
|
268
|
-
totalTokensSold,
|
|
269
|
-
totalProceeds,
|
|
270
|
-
totalTokensSoldLastEpoch,
|
|
271
|
-
feesAccrued
|
|
272
|
-
] = result;
|
|
273
|
-
return {
|
|
274
|
-
lastEpoch,
|
|
275
|
-
tickAccumulator,
|
|
276
|
-
totalTokensSold,
|
|
277
|
-
totalProceeds,
|
|
278
|
-
totalTokensSoldLastEpoch,
|
|
279
|
-
feesAccrued
|
|
280
|
-
};
|
|
281
|
-
}
|
|
282
|
-
return result;
|
|
283
|
-
}
|
|
284
|
-
normalizePoolKey(value) {
|
|
285
|
-
if (Array.isArray(value)) {
|
|
286
|
-
const [currency0, currency1, fee, tickSpacing, hooks] = value;
|
|
287
|
-
return { currency0, currency1, fee, tickSpacing, hooks };
|
|
288
|
-
}
|
|
289
|
-
return value;
|
|
290
|
-
}
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
export { DynamicAuction };
|
|
294
|
-
//# sourceMappingURL=chunk-IUTIHSLH.mjs.map
|
|
295
|
-
//# sourceMappingURL=chunk-IUTIHSLH.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/entities/auction/DynamicAuction.ts"],"names":[],"mappings":"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","file":"chunk-IUTIHSLH.mjs","sourcesContent":["import {\n type Address,\n type PublicClient,\n type Hex,\n keccak256,\n encodeAbiParameters,\n zeroAddress,\n} 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 ] = 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 ]);\n\n // Calculate current epoch\n const currentTime = BigInt(Math.floor(Date.now() / 1000));\n const elapsedTime =\n currentTime > startingTime ? currentTime - startingTime : BigInt(0);\n const currentEpoch =\n 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 =\n 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 [_state, startingTick, endingTick, gamma, startingTime, 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 =\n currentTime > startingTime ? currentTime - startingTime : BigInt(0);\n const currentEpoch =\n 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 [\n Address,\n Address,\n number,\n number,\n Address,\n ];\n return { currency0, currency1, fee, tickSpacing, hooks };\n }\n return value as any;\n }\n}\n"]}
|
package/dist/chunk-IUZ3BBQP.mjs
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { WAD } from './chunk-IWJOPXYN.mjs';
|
|
2
|
-
import { encodeAbiParameters } from 'viem';
|
|
3
|
-
|
|
4
|
-
function normalizeRehypeFeeRoutingMode(mode) {
|
|
5
|
-
if (mode === void 0 || mode === 0 /* DirectBuyback */) {
|
|
6
|
-
return 0 /* DirectBuyback */;
|
|
7
|
-
}
|
|
8
|
-
if (mode === 1 /* RouteToBeneficiaryFees */) {
|
|
9
|
-
return 1 /* RouteToBeneficiaryFees */;
|
|
10
|
-
}
|
|
11
|
-
if (mode === "directBuyback") {
|
|
12
|
-
return 0 /* DirectBuyback */;
|
|
13
|
-
}
|
|
14
|
-
if (mode === "routeToBeneficiaryFees") {
|
|
15
|
-
return 1 /* RouteToBeneficiaryFees */;
|
|
16
|
-
}
|
|
17
|
-
throw new Error(
|
|
18
|
-
"Rehype feeRoutingMode must be DirectBuyback/directBuyback or RouteToBeneficiaryFees/routeToBeneficiaryFees"
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
function resolveRehypeFeeDistributionInfo(config) {
|
|
22
|
-
if (config.feeDistributionInfo) {
|
|
23
|
-
return config.feeDistributionInfo;
|
|
24
|
-
}
|
|
25
|
-
const assetBuyback = config.assetBuybackPercentWad;
|
|
26
|
-
const numeraireBuyback = config.numeraireBuybackPercentWad;
|
|
27
|
-
const beneficiary = config.beneficiaryPercentWad;
|
|
28
|
-
const lp = config.lpPercentWad;
|
|
29
|
-
if (assetBuyback === void 0 || numeraireBuyback === void 0 || beneficiary === void 0 || lp === void 0) {
|
|
30
|
-
throw new Error(
|
|
31
|
-
"Rehype feeDistributionInfo is required, or provide all deprecated legacy percentages."
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
assetFeesToAssetBuybackWad: assetBuyback,
|
|
36
|
-
assetFeesToNumeraireBuybackWad: numeraireBuyback,
|
|
37
|
-
assetFeesToBeneficiaryWad: beneficiary,
|
|
38
|
-
assetFeesToLpWad: lp,
|
|
39
|
-
numeraireFeesToAssetBuybackWad: assetBuyback,
|
|
40
|
-
numeraireFeesToNumeraireBuybackWad: numeraireBuyback,
|
|
41
|
-
numeraireFeesToBeneficiaryWad: beneficiary,
|
|
42
|
-
numeraireFeesToLpWad: lp
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
function validateRehypeFeeDistributionInfo(feeDistributionInfo) {
|
|
46
|
-
const assetRowTotal = feeDistributionInfo.assetFeesToAssetBuybackWad + feeDistributionInfo.assetFeesToNumeraireBuybackWad + feeDistributionInfo.assetFeesToBeneficiaryWad + feeDistributionInfo.assetFeesToLpWad;
|
|
47
|
-
if (assetRowTotal !== WAD) {
|
|
48
|
-
throw new Error(
|
|
49
|
-
`Rehype asset fee distribution must sum to ${WAD} (100%), but got ${assetRowTotal}`
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
const numeraireRowTotal = feeDistributionInfo.numeraireFeesToAssetBuybackWad + feeDistributionInfo.numeraireFeesToNumeraireBuybackWad + feeDistributionInfo.numeraireFeesToBeneficiaryWad + feeDistributionInfo.numeraireFeesToLpWad;
|
|
53
|
-
if (numeraireRowTotal !== WAD) {
|
|
54
|
-
throw new Error(
|
|
55
|
-
`Rehype numeraire fee distribution must sum to ${WAD} (100%), but got ${numeraireRowTotal}`
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function normalizeRehypeDopplerHookMigratorConfig(config) {
|
|
60
|
-
if (!Number.isInteger(config.customFee) || config.customFee < 0) {
|
|
61
|
-
throw new Error("Rehype customFee must be a non-negative integer");
|
|
62
|
-
}
|
|
63
|
-
if (config.customFee > 1e6) {
|
|
64
|
-
throw new Error("Rehype customFee must be <= 1000000 (100%)");
|
|
65
|
-
}
|
|
66
|
-
const feeDistributionInfo = resolveRehypeFeeDistributionInfo(config);
|
|
67
|
-
validateRehypeFeeDistributionInfo(feeDistributionInfo);
|
|
68
|
-
return {
|
|
69
|
-
buybackDestination: config.buybackDestination,
|
|
70
|
-
customFee: config.customFee,
|
|
71
|
-
feeRoutingMode: normalizeRehypeFeeRoutingMode(config.feeRoutingMode),
|
|
72
|
-
feeDistributionInfo
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
function encodeRehypeDopplerHookMigratorCalldata(params) {
|
|
76
|
-
const normalized = normalizeRehypeDopplerHookMigratorConfig(params.config);
|
|
77
|
-
return encodeAbiParameters(
|
|
78
|
-
[
|
|
79
|
-
{
|
|
80
|
-
type: "tuple",
|
|
81
|
-
components: [
|
|
82
|
-
{ name: "numeraire", type: "address" },
|
|
83
|
-
{ name: "buybackDst", type: "address" },
|
|
84
|
-
{ name: "customFee", type: "uint24" },
|
|
85
|
-
{ name: "feeRoutingMode", type: "uint8" },
|
|
86
|
-
{
|
|
87
|
-
name: "feeDistributionInfo",
|
|
88
|
-
type: "tuple",
|
|
89
|
-
components: [
|
|
90
|
-
{ name: "assetFeesToAssetBuybackWad", type: "uint256" },
|
|
91
|
-
{ name: "assetFeesToNumeraireBuybackWad", type: "uint256" },
|
|
92
|
-
{ name: "assetFeesToBeneficiaryWad", type: "uint256" },
|
|
93
|
-
{ name: "assetFeesToLpWad", type: "uint256" },
|
|
94
|
-
{ name: "numeraireFeesToAssetBuybackWad", type: "uint256" },
|
|
95
|
-
{ name: "numeraireFeesToNumeraireBuybackWad", type: "uint256" },
|
|
96
|
-
{ name: "numeraireFeesToBeneficiaryWad", type: "uint256" },
|
|
97
|
-
{ name: "numeraireFeesToLpWad", type: "uint256" }
|
|
98
|
-
]
|
|
99
|
-
}
|
|
100
|
-
]
|
|
101
|
-
}
|
|
102
|
-
],
|
|
103
|
-
[
|
|
104
|
-
{
|
|
105
|
-
numeraire: params.numeraire,
|
|
106
|
-
buybackDst: normalized.buybackDestination,
|
|
107
|
-
customFee: normalized.customFee,
|
|
108
|
-
feeRoutingMode: normalized.feeRoutingMode,
|
|
109
|
-
feeDistributionInfo: normalized.feeDistributionInfo
|
|
110
|
-
}
|
|
111
|
-
]
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export { encodeRehypeDopplerHookMigratorCalldata, normalizeRehypeDopplerHookMigratorConfig };
|
|
116
|
-
//# sourceMappingURL=chunk-IUZ3BBQP.mjs.map
|
|
117
|
-
//# sourceMappingURL=chunk-IUZ3BBQP.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/dopplerHookMigrator.ts"],"names":[],"mappings":"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","file":"chunk-IUZ3BBQP.mjs","sourcesContent":["import { encodeAbiParameters, type Address, type Hex } from 'viem';\nimport {\n RehypeFeeRoutingMode,\n type RehypeDopplerHookMigratorConfig,\n type RehypeFeeDistributionInfo,\n} from '../types';\nimport { WAD } from '../constants';\n\ntype NormalizedRehypeDopplerHookMigratorConfig = {\n buybackDestination: Address;\n customFee: number;\n feeRoutingMode: RehypeFeeRoutingMode;\n feeDistributionInfo: RehypeFeeDistributionInfo;\n};\n\nfunction normalizeRehypeFeeRoutingMode(\n mode: RehypeDopplerHookMigratorConfig['feeRoutingMode'],\n): RehypeFeeRoutingMode {\n if (mode === undefined || mode === RehypeFeeRoutingMode.DirectBuyback) {\n return RehypeFeeRoutingMode.DirectBuyback;\n }\n if (mode === RehypeFeeRoutingMode.RouteToBeneficiaryFees) {\n return RehypeFeeRoutingMode.RouteToBeneficiaryFees;\n }\n if (mode === 'directBuyback') {\n return RehypeFeeRoutingMode.DirectBuyback;\n }\n if (mode === 'routeToBeneficiaryFees') {\n return RehypeFeeRoutingMode.RouteToBeneficiaryFees;\n }\n throw new Error(\n 'Rehype feeRoutingMode must be DirectBuyback/directBuyback or RouteToBeneficiaryFees/routeToBeneficiaryFees',\n );\n}\n\nfunction resolveRehypeFeeDistributionInfo(\n config: RehypeDopplerHookMigratorConfig,\n): RehypeFeeDistributionInfo {\n if (config.feeDistributionInfo) {\n return config.feeDistributionInfo;\n }\n\n const assetBuyback = config.assetBuybackPercentWad;\n const numeraireBuyback = config.numeraireBuybackPercentWad;\n const beneficiary = config.beneficiaryPercentWad;\n const lp = config.lpPercentWad;\n\n if (\n assetBuyback === undefined ||\n numeraireBuyback === undefined ||\n beneficiary === undefined ||\n lp === undefined\n ) {\n throw new Error(\n 'Rehype feeDistributionInfo is required, or provide all deprecated legacy percentages.',\n );\n }\n\n return {\n assetFeesToAssetBuybackWad: assetBuyback,\n assetFeesToNumeraireBuybackWad: numeraireBuyback,\n assetFeesToBeneficiaryWad: beneficiary,\n assetFeesToLpWad: lp,\n numeraireFeesToAssetBuybackWad: assetBuyback,\n numeraireFeesToNumeraireBuybackWad: numeraireBuyback,\n numeraireFeesToBeneficiaryWad: beneficiary,\n numeraireFeesToLpWad: lp,\n };\n}\n\nfunction validateRehypeFeeDistributionInfo(\n feeDistributionInfo: RehypeFeeDistributionInfo,\n): void {\n const assetRowTotal =\n feeDistributionInfo.assetFeesToAssetBuybackWad +\n feeDistributionInfo.assetFeesToNumeraireBuybackWad +\n feeDistributionInfo.assetFeesToBeneficiaryWad +\n feeDistributionInfo.assetFeesToLpWad;\n if (assetRowTotal !== WAD) {\n throw new Error(\n `Rehype asset fee distribution must sum to ${WAD} (100%), but got ${assetRowTotal}`,\n );\n }\n\n const numeraireRowTotal =\n feeDistributionInfo.numeraireFeesToAssetBuybackWad +\n feeDistributionInfo.numeraireFeesToNumeraireBuybackWad +\n feeDistributionInfo.numeraireFeesToBeneficiaryWad +\n feeDistributionInfo.numeraireFeesToLpWad;\n if (numeraireRowTotal !== WAD) {\n throw new Error(\n `Rehype numeraire fee distribution must sum to ${WAD} (100%), but got ${numeraireRowTotal}`,\n );\n }\n}\n\nexport function normalizeRehypeDopplerHookMigratorConfig(\n config: RehypeDopplerHookMigratorConfig,\n): NormalizedRehypeDopplerHookMigratorConfig {\n if (!Number.isInteger(config.customFee) || config.customFee < 0) {\n throw new Error('Rehype customFee must be a non-negative integer');\n }\n if (config.customFee > 1_000_000) {\n throw new Error('Rehype customFee must be <= 1000000 (100%)');\n }\n\n const feeDistributionInfo = resolveRehypeFeeDistributionInfo(config);\n validateRehypeFeeDistributionInfo(feeDistributionInfo);\n\n return {\n buybackDestination: config.buybackDestination,\n customFee: config.customFee,\n feeRoutingMode: normalizeRehypeFeeRoutingMode(config.feeRoutingMode),\n feeDistributionInfo,\n };\n}\n\nexport function encodeRehypeDopplerHookMigratorCalldata(params: {\n numeraire: Address;\n config: RehypeDopplerHookMigratorConfig;\n}): Hex {\n const normalized = normalizeRehypeDopplerHookMigratorConfig(params.config);\n\n return encodeAbiParameters(\n [\n {\n type: 'tuple',\n components: [\n { name: 'numeraire', type: 'address' },\n { name: 'buybackDst', type: 'address' },\n { name: 'customFee', type: 'uint24' },\n { name: 'feeRoutingMode', type: 'uint8' },\n {\n name: 'feeDistributionInfo',\n type: 'tuple',\n components: [\n { name: 'assetFeesToAssetBuybackWad', type: 'uint256' },\n { name: 'assetFeesToNumeraireBuybackWad', type: 'uint256' },\n { name: 'assetFeesToBeneficiaryWad', type: 'uint256' },\n { name: 'assetFeesToLpWad', type: 'uint256' },\n { name: 'numeraireFeesToAssetBuybackWad', type: 'uint256' },\n { name: 'numeraireFeesToNumeraireBuybackWad', type: 'uint256' },\n { name: 'numeraireFeesToBeneficiaryWad', type: 'uint256' },\n { name: 'numeraireFeesToLpWad', type: 'uint256' },\n ],\n },\n ],\n },\n ],\n [\n {\n numeraire: params.numeraire,\n buybackDst: normalized.buybackDestination,\n customFee: normalized.customFee,\n feeRoutingMode: normalized.feeRoutingMode,\n feeDistributionInfo: normalized.feeDistributionInfo,\n },\n ],\n );\n}\n"]}
|
package/dist/chunk-IWJOPXYN.mjs
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { parseEther } from 'viem';
|
|
2
|
-
|
|
3
|
-
// src/constants.ts
|
|
4
|
-
var WAD = 10n ** 18n;
|
|
5
|
-
var DEAD_ADDRESS = "0x000000000000000000000000000000000000dEaD";
|
|
6
|
-
var ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
7
|
-
var FEE_TIERS = {
|
|
8
|
-
LOWEST: 100,
|
|
9
|
-
// 0.01%
|
|
10
|
-
LOW: 500,
|
|
11
|
-
// 0.05%
|
|
12
|
-
MEDIUM: 3e3,
|
|
13
|
-
// 0.30%
|
|
14
|
-
HIGH: 1e4
|
|
15
|
-
// 1.00%
|
|
16
|
-
};
|
|
17
|
-
var VALID_FEE_TIERS = [
|
|
18
|
-
100,
|
|
19
|
-
500,
|
|
20
|
-
3e3,
|
|
21
|
-
1e4
|
|
22
|
-
];
|
|
23
|
-
var V3_FEE_TIERS = VALID_FEE_TIERS;
|
|
24
|
-
var V4_MAX_FEE = 1e5;
|
|
25
|
-
var DECAY_MAX_START_FEE = 8e5;
|
|
26
|
-
var TICK_SPACINGS = {
|
|
27
|
-
100: 1,
|
|
28
|
-
500: 10,
|
|
29
|
-
3e3: 60,
|
|
30
|
-
1e4: 200
|
|
31
|
-
};
|
|
32
|
-
var DOPPLER_MAX_TICK_SPACING = 30;
|
|
33
|
-
var SECONDS_PER_DAY = 86400;
|
|
34
|
-
var SECONDS_PER_YEAR = 365 * SECONDS_PER_DAY;
|
|
35
|
-
var DEFAULT_EPOCH_LENGTH = 43200;
|
|
36
|
-
var DEFAULT_AUCTION_DURATION = 7 * SECONDS_PER_DAY;
|
|
37
|
-
var DEFAULT_LOCK_DURATION = SECONDS_PER_YEAR;
|
|
38
|
-
var DEFAULT_PD_SLUGS = 5;
|
|
39
|
-
var DAY_SECONDS = SECONDS_PER_DAY;
|
|
40
|
-
var DEFAULT_CREATE_GAS_LIMIT = 13500000n;
|
|
41
|
-
var DEFAULT_V3_START_TICK = 175e3;
|
|
42
|
-
var DEFAULT_V3_END_TICK = 225e3;
|
|
43
|
-
var DEFAULT_V3_NUM_POSITIONS = 15;
|
|
44
|
-
var DEFAULT_V3_FEE = 1e4;
|
|
45
|
-
var DEFAULT_V3_INITIAL_VOTING_DELAY = 172800;
|
|
46
|
-
var DEFAULT_V3_INITIAL_VOTING_PERIOD = 1209600;
|
|
47
|
-
var DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD = 0n;
|
|
48
|
-
var DEFAULT_V3_VESTING_DURATION = BigInt(SECONDS_PER_YEAR);
|
|
49
|
-
var DEFAULT_V3_INITIAL_SUPPLY = parseEther("1000000000");
|
|
50
|
-
var DEFAULT_V3_NUM_TOKENS_TO_SELL = parseEther("900000000");
|
|
51
|
-
var DEFAULT_V3_YEARLY_MINT_RATE = parseEther("0.02");
|
|
52
|
-
var DEFAULT_V3_PRE_MINT = parseEther("9000000");
|
|
53
|
-
var DEFAULT_V3_MAX_SHARE_TO_BE_SOLD = parseEther("0.35");
|
|
54
|
-
var DEFAULT_V4_INITIAL_VOTING_DELAY = 7200;
|
|
55
|
-
var DEFAULT_V4_INITIAL_VOTING_PERIOD = 50400;
|
|
56
|
-
var DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD = 0n;
|
|
57
|
-
var DEFAULT_V4_YEARLY_MINT_RATE = parseEther("0.02");
|
|
58
|
-
var DEFAULT_MULTICURVE_LOWER_TICKS = [
|
|
59
|
-
-202100,
|
|
60
|
-
-183100,
|
|
61
|
-
-167e3
|
|
62
|
-
];
|
|
63
|
-
var DEFAULT_MULTICURVE_UPPER_TICKS = [
|
|
64
|
-
-188200,
|
|
65
|
-
-172100,
|
|
66
|
-
-156e3
|
|
67
|
-
];
|
|
68
|
-
var DEFAULT_MULTICURVE_NUM_POSITIONS = [11, 11, 11];
|
|
69
|
-
var DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES = [
|
|
70
|
-
parseEther("0.05"),
|
|
71
|
-
// 5% for LOW tier
|
|
72
|
-
parseEther("0.125"),
|
|
73
|
-
// 12.5% for MEDIUM tier
|
|
74
|
-
parseEther("0.2")
|
|
75
|
-
// 20% for HIGH tier
|
|
76
|
-
];
|
|
77
|
-
var MIN_SQRT_RATIO = 4295128739n;
|
|
78
|
-
var MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342n;
|
|
79
|
-
var BASIS_POINTS = 1e4;
|
|
80
|
-
var FLAG_MASK = BigInt(16383);
|
|
81
|
-
var DOPPLER_FLAGS = BigInt(
|
|
82
|
-
1 << 13 | // BEFORE_INITIALIZE_FLAG
|
|
83
|
-
1 << 12 | // AFTER_INITIALIZE_FLAG
|
|
84
|
-
1 << 11 | // BEFORE_ADD_LIQUIDITY_FLAG
|
|
85
|
-
1 << 7 | // BEFORE_SWAP_FLAG
|
|
86
|
-
1 << 6 | // AFTER_SWAP_FLAG
|
|
87
|
-
1 << 5
|
|
88
|
-
// BEFORE_DONATE_FLAG
|
|
89
|
-
);
|
|
90
|
-
var DYNAMIC_FEE_FLAG = 8388608;
|
|
91
|
-
var FEE_AMOUNT_MASK = 16777215;
|
|
92
|
-
var DYNAMIC_AUCTION_VALID_FEES = [100, 500, 3e3, 1e4];
|
|
93
|
-
|
|
94
|
-
export { BASIS_POINTS, DAY_SECONDS, DEAD_ADDRESS, DECAY_MAX_START_FEE, DEFAULT_AUCTION_DURATION, DEFAULT_CREATE_GAS_LIMIT, DEFAULT_EPOCH_LENGTH, DEFAULT_LOCK_DURATION, DEFAULT_MULTICURVE_LOWER_TICKS, DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES, DEFAULT_MULTICURVE_NUM_POSITIONS, DEFAULT_MULTICURVE_UPPER_TICKS, DEFAULT_PD_SLUGS, DEFAULT_V3_END_TICK, DEFAULT_V3_FEE, DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD, DEFAULT_V3_INITIAL_SUPPLY, DEFAULT_V3_INITIAL_VOTING_DELAY, DEFAULT_V3_INITIAL_VOTING_PERIOD, DEFAULT_V3_MAX_SHARE_TO_BE_SOLD, DEFAULT_V3_NUM_POSITIONS, DEFAULT_V3_NUM_TOKENS_TO_SELL, DEFAULT_V3_PRE_MINT, DEFAULT_V3_START_TICK, DEFAULT_V3_VESTING_DURATION, DEFAULT_V3_YEARLY_MINT_RATE, DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD, DEFAULT_V4_INITIAL_VOTING_DELAY, DEFAULT_V4_INITIAL_VOTING_PERIOD, DEFAULT_V4_YEARLY_MINT_RATE, DOPPLER_FLAGS, DOPPLER_MAX_TICK_SPACING, DYNAMIC_AUCTION_VALID_FEES, DYNAMIC_FEE_FLAG, FEE_AMOUNT_MASK, FEE_TIERS, FLAG_MASK, MAX_SQRT_RATIO, MIN_SQRT_RATIO, SECONDS_PER_DAY, SECONDS_PER_YEAR, TICK_SPACINGS, V3_FEE_TIERS, V4_MAX_FEE, VALID_FEE_TIERS, WAD, ZERO_ADDRESS };
|
|
95
|
-
//# sourceMappingURL=chunk-IWJOPXYN.mjs.map
|
|
96
|
-
//# sourceMappingURL=chunk-IWJOPXYN.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants.ts"],"names":[],"mappings":";;;AAGO,IAAM,MAAM,GAAA,IAAO;AACnB,IAAM,YAAA,GACX;AACK,IAAM,YAAA,GACX;AAaK,IAAM,SAAA,GAAY;AAAA,EACvB,MAAA,EAAQ,GAAA;AAAA;AAAA,EACR,GAAA,EAAK,GAAA;AAAA;AAAA,EACL,MAAA,EAAQ,GAAA;AAAA;AAAA,EACR,IAAA,EAAM;AAAA;AACR;AASO,IAAM,eAAA,GAAsC;AAAA,EACjD,GAAA;AAAA,EAAK,GAAA;AAAA,EAAK,GAAA;AAAA,EAAM;AAClB;AAMO,IAAM,YAAA,GAAe;AAOrB,IAAM,UAAA,GAAa;AAOnB,IAAM,mBAAA,GAAsB;AAI5B,IAAM,aAAA,GAAgB;AAAA,EAC3B,GAAA,EAAK,CAAA;AAAA,EACL,GAAA,EAAK,EAAA;AAAA,EACL,GAAA,EAAM,EAAA;AAAA,EACN,GAAA,EAAO;AACT;AAMO,IAAM,wBAAA,GAA2B;AAGjC,IAAM,eAAA,GAAkB;AACxB,IAAM,mBAAmB,GAAA,GAAM;AAG/B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,2BAA2B,CAAA,GAAI;AACrC,IAAM,qBAAA,GAAwB;AAC9B,IAAM,gBAAA,GAAmB;AACzB,IAAM,WAAA,GAAc;AAGpB,IAAM,wBAAA,GAA2B;AAGjC,IAAM,qBAAA,GAAwB;AAC9B,IAAM,mBAAA,GAAsB;AAC5B,IAAM,wBAAA,GAA2B;AACjC,IAAM,cAAA,GAAiB;AACvB,IAAM,+BAAA,GAAkC;AACxC,IAAM,gCAAA,GAAmC;AACzC,IAAM,qCAAA,GAAwC;AAC9C,IAAM,2BAAA,GAA8B,OAAO,gBAAgB;AAC3D,IAAM,yBAAA,GAA4B,WAAW,YAAY;AACzD,IAAM,6BAAA,GAAgC,WAAW,WAAW;AAC5D,IAAM,2BAAA,GAA8B,WAAW,MAAM;AACrD,IAAM,mBAAA,GAAsB,WAAW,SAAS;AAChD,IAAM,+BAAA,GAAkC,WAAW,MAAM;AAGzD,IAAM,+BAAA,GAAkC;AACxC,IAAM,gCAAA,GAAmC;AACzC,IAAM,qCAAA,GAAwC;AAC9C,IAAM,2BAAA,GAA8B,WAAW,MAAM;AAKrD,IAAM,8BAAA,GAAiC;AAAA,EAC5C,OAAA;AAAA,EAAU,OAAA;AAAA,EAAU;AACtB;AACO,IAAM,8BAAA,GAAiC;AAAA,EAC5C,OAAA;AAAA,EAAU,OAAA;AAAA,EAAU;AACtB;AACO,IAAM,gCAAA,GAAmC,CAAC,EAAA,EAAI,EAAA,EAAI,EAAE;AACpD,IAAM,oCAAA,GAAuC;AAAA,EAClD,WAAW,MAAM,CAAA;AAAA;AAAA,EACjB,WAAW,OAAO,CAAA;AAAA;AAAA,EAClB,WAAW,KAAK;AAAA;AAClB;AAGO,IAAM,cAAA,GAAiB;AACvB,IAAM,cAAA,GACX;AAGK,IAAM,YAAA,GAAe;AAGrB,IAAM,SAAA,GAAY,OAAO,KAAM;AAC/B,IAAM,aAAA,GAAgB,MAAA;AAAA,EAC1B,CAAA,IAAK,EAAA;AAAA,EACH,CAAA,IAAK,EAAA;AAAA,EACL,CAAA,IAAK,EAAA;AAAA,EACL,CAAA,IAAK,CAAA;AAAA,EACL,CAAA,IAAK,CAAA;AAAA,EACL,CAAA,IAAK;AAAA;AACV;AAGO,IAAM,gBAAA,GAAmB;AACzB,IAAM,eAAA,GAAkB;AAOxB,IAAM,0BAAA,GAA6B,CAAC,GAAA,EAAK,GAAA,EAAK,KAAM,GAAK","file":"chunk-IWJOPXYN.mjs","sourcesContent":["import { Address, parseEther } from 'viem';\n\n// Common constants\nexport const WAD = 10n ** 18n;\nexport const DEAD_ADDRESS =\n '0x000000000000000000000000000000000000dEaD' as Address;\nexport const ZERO_ADDRESS =\n '0x0000000000000000000000000000000000000000' as Address;\n\n// =============================================================================\n// Fee Tiers - V3 vs V4 Distinction\n// =============================================================================\n//\n// Uniswap V3 (Static Auctions): Fees are COUPLED to tick spacings. Only 4 tiers allowed.\n// Uniswap V4 (Dynamic/Multicurve): Fees are DECOUPLED. Any fee 0-100,000 is valid.\n//\n// The standard fee tiers below are recognized by both V3 and V4, but V4 pools\n// can use ANY fee value as long as you provide an explicit tickSpacing.\n\n/** Standard fee tiers recognized by both Uniswap V3 and V4 */\nexport const FEE_TIERS = {\n LOWEST: 100, // 0.01%\n LOW: 500, // 0.05%\n MEDIUM: 3000, // 0.30%\n HIGH: 10000, // 1.00%\n} as const;\n\n/** Valid fee tier values (100, 500, 3000, 10000) */\nexport type FeeTier = (typeof FEE_TIERS)[keyof typeof FEE_TIERS];\n\n/**\n * Standard fee tiers - REQUIRED for V3 (Static Auctions).\n * V4 pools can use custom fees but these are the recommended defaults.\n */\nexport const VALID_FEE_TIERS: readonly FeeTier[] = [\n 100, 500, 3000, 10000,\n] as const;\n\n/**\n * V3 fee tiers - These are the ONLY valid fees for Uniswap V3 pools.\n * Static Auctions use V3 and must use one of these tiers.\n */\nexport const V3_FEE_TIERS = VALID_FEE_TIERS;\n\n/**\n * Maximum LP fee for V4 pools (from DopplerHookInitializer.sol).\n * V4 pools can use any fee from 0 to this value.\n * @see DopplerHookInitializer.sol line 171: `uint24 constant MAX_LP_FEE = 100_000`\n */\nexport const V4_MAX_FEE = 100_000; // 10%\n\n/**\n * Maximum allowed start fee for decay multicurve schedules.\n * This is intentionally higher than V4_MAX_FEE to support anti-sniping launches.\n * 800_000 = 80%\n */\nexport const DECAY_MAX_START_FEE = 800_000; // 80%\n\n// Tick spacings for different fee tiers (standard Uniswap V3 mapping)\n// In V4, tickSpacing is independent of fee - you can use any combination\nexport const TICK_SPACINGS = {\n 100: 1,\n 500: 10,\n 3000: 60,\n 10000: 200,\n} as const;\n\n/**\n * Maximum tick spacing allowed by Doppler.sol for dynamic (Dutch) auctions.\n * @see Doppler.sol line 159: `int24 constant MAX_TICK_SPACING = 30`\n */\nexport const DOPPLER_MAX_TICK_SPACING = 30;\n\n// Time constants\nexport const SECONDS_PER_DAY = 86400;\nexport const SECONDS_PER_YEAR = 365 * SECONDS_PER_DAY;\n\n// Default values\nexport const DEFAULT_EPOCH_LENGTH = 43200; // 12 hours in seconds (matching V4 SDK)\nexport const DEFAULT_AUCTION_DURATION = 7 * SECONDS_PER_DAY; // 7 days\nexport const DEFAULT_LOCK_DURATION = SECONDS_PER_YEAR; // 1 year\nexport const DEFAULT_PD_SLUGS = 5; // Default price discovery slugs\nexport const DAY_SECONDS = SECONDS_PER_DAY; // Alias for consistency\n\n// Default gas limit to fall back on when create() simulations do not return a value\nexport const DEFAULT_CREATE_GAS_LIMIT = 13_500_000n;\n\n// V3 Default parameters\nexport const DEFAULT_V3_START_TICK = 175000;\nexport const DEFAULT_V3_END_TICK = 225000;\nexport const DEFAULT_V3_NUM_POSITIONS = 15;\nexport const DEFAULT_V3_FEE = 10000; // 1% fee tier\nexport const DEFAULT_V3_INITIAL_VOTING_DELAY = 172800; // 2 days\nexport const DEFAULT_V3_INITIAL_VOTING_PERIOD = 1209600; // 14 days\nexport const DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD = 0n;\nexport const DEFAULT_V3_VESTING_DURATION = BigInt(SECONDS_PER_YEAR);\nexport const DEFAULT_V3_INITIAL_SUPPLY = parseEther('1000000000'); // 1 billion tokens\nexport const DEFAULT_V3_NUM_TOKENS_TO_SELL = parseEther('900000000'); // 900 million tokens\nexport const DEFAULT_V3_YEARLY_MINT_RATE = parseEther('0.02'); // 2% yearly mint rate\nexport const DEFAULT_V3_PRE_MINT = parseEther('9000000'); // 9 million tokens (0.9%)\nexport const DEFAULT_V3_MAX_SHARE_TO_BE_SOLD = parseEther('0.35'); // 35%\n\n// V4 Default parameters\nexport const DEFAULT_V4_INITIAL_VOTING_DELAY = 7200; // 2 hours\nexport const DEFAULT_V4_INITIAL_VOTING_PERIOD = 50400; // 14 hours\nexport const DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD = 0n;\nexport const DEFAULT_V4_YEARLY_MINT_RATE = parseEther('0.02'); // 2% yearly mint rate\n\n// V4 Multicurve Default Tick Ranges\n// Based on market cap tiers: LOW ($7.5k -> $30k), MEDIUM ($50k -> $150k), HIGH ($250k -> $750k)\n// Calculated for 1B token supply, $4500 numeraire (e.g., WETH on Base)\nexport const DEFAULT_MULTICURVE_LOWER_TICKS = [\n -202_100, -183_100, -167_000,\n] as const;\nexport const DEFAULT_MULTICURVE_UPPER_TICKS = [\n -188_200, -172_100, -156_000,\n] as const;\nexport const DEFAULT_MULTICURVE_NUM_POSITIONS = [11, 11, 11] as const;\nexport const DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES = [\n parseEther('0.05'), // 5% for LOW tier\n parseEther('0.125'), // 12.5% for MEDIUM tier\n parseEther('0.2'), // 20% for HIGH tier\n] as const;\n\n// Price bounds\nexport const MIN_SQRT_RATIO = 4295128739n;\nexport const MAX_SQRT_RATIO =\n 1461446703485210103287273052203988822378723970342n;\n\n// Basis points\nexport const BASIS_POINTS = 10000;\n\n// V4 Hook Flags for Doppler\nexport const FLAG_MASK = BigInt(0x3fff);\nexport const DOPPLER_FLAGS = BigInt(\n (1 << 13) | // BEFORE_INITIALIZE_FLAG\n (1 << 12) | // AFTER_INITIALIZE_FLAG\n (1 << 11) | // BEFORE_ADD_LIQUIDITY_FLAG\n (1 << 7) | // BEFORE_SWAP_FLAG\n (1 << 6) | // AFTER_SWAP_FLAG\n (1 << 5), // BEFORE_DONATE_FLAG\n);\n\n// V4 Dynamic Fee Flag\nexport const DYNAMIC_FEE_FLAG = 0x800000; // 8388608 in decimal\nexport const FEE_AMOUNT_MASK = 0xffffff; // Mask to extract actual fee from dynamic fee\n\n/**\n * @deprecated Dynamic auctions (V4) support ANY fee 0-100,000 with explicit tickSpacing.\n * This constant is kept for backwards compatibility but is no longer enforced.\n * Standard fee tiers still auto-derive tickSpacing; custom fees require explicit tickSpacing.\n */\nexport const DYNAMIC_AUCTION_VALID_FEES = [100, 500, 3000, 10000] as const;\n"]}
|