@whetstone-research/doppler-sdk 0.0.23 → 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 +556 -229
- 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-3PNCB4W5.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 +37 -21
- package/dist/DopplerSDK.d.mts +0 -94
- package/dist/DopplerSDK.d.ts +0 -94
- package/dist/DopplerSDK.js +0 -51
- package/dist/DopplerSDK.js.map +0 -1
- package/dist/DopplerSDK.mjs +0 -42
- 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 -3460
- package/dist/abis/index.d.ts +0 -3460
- package/dist/abis/index.js +0 -122
- 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 -65
- package/dist/addresses.d.ts +0 -65
- 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 -183
- package/dist/builders/MulticurveBuilder.d.ts +0 -183
- 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 -45
- package/dist/builders/shared.js.map +0 -1
- package/dist/builders/shared.mjs +0 -24
- 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-3MVW6UIW.js +0 -2294
- package/dist/chunk-3MVW6UIW.js.map +0 -1
- package/dist/chunk-3NMGCQJ4.mjs +0 -6
- package/dist/chunk-3NMGCQJ4.mjs.map +0 -1
- package/dist/chunk-3PNCB4W5.js +0 -4
- 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-4XN6DQBW.js.map +0 -1
- package/dist/chunk-5TQOT6CW.js +0 -8
- package/dist/chunk-5TQOT6CW.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-6UHDSD42.js +0 -2585
- package/dist/chunk-6UHDSD42.js.map +0 -1
- package/dist/chunk-7CAAI5DL.js +0 -273
- package/dist/chunk-7CAAI5DL.js.map +0 -1
- package/dist/chunk-7M57PU6V.js +0 -28
- package/dist/chunk-7M57PU6V.js.map +0 -1
- package/dist/chunk-7P2SPZC7.mjs +0 -2583
- package/dist/chunk-7P2SPZC7.mjs.map +0 -1
- package/dist/chunk-7ZUV6WPX.mjs +0 -3
- package/dist/chunk-7ZUV6WPX.mjs.map +0 -1
- package/dist/chunk-ABT6AT7C.mjs +0 -16
- package/dist/chunk-ABT6AT7C.mjs.map +0 -1
- package/dist/chunk-C6MH7HYT.mjs +0 -138
- package/dist/chunk-C6MH7HYT.mjs.map +0 -1
- package/dist/chunk-CATH4QRQ.mjs +0 -141
- package/dist/chunk-CATH4QRQ.mjs.map +0 -1
- package/dist/chunk-CFAAYL5M.mjs +0 -26
- package/dist/chunk-CFAAYL5M.mjs.map +0 -1
- package/dist/chunk-CMNJZKTM.js +0 -140
- package/dist/chunk-CMNJZKTM.js.map +0 -1
- package/dist/chunk-CWTGQAOG.mjs +0 -72
- package/dist/chunk-CWTGQAOG.mjs.map +0 -1
- package/dist/chunk-DNB3T5P2.js +0 -269
- package/dist/chunk-DNB3T5P2.js.map +0 -1
- package/dist/chunk-DOUF6NON.mjs +0 -3
- package/dist/chunk-DOUF6NON.mjs.map +0 -1
- package/dist/chunk-DSYPZETD.js +0 -4
- package/dist/chunk-DSYPZETD.js.map +0 -1
- package/dist/chunk-E2NF4AQB.mjs +0 -2271
- package/dist/chunk-E2NF4AQB.mjs.map +0 -1
- package/dist/chunk-EH3V2BJF.js +0 -592
- package/dist/chunk-EH3V2BJF.js.map +0 -1
- package/dist/chunk-EIXUJANI.mjs +0 -590
- package/dist/chunk-EIXUJANI.mjs.map +0 -1
- package/dist/chunk-FFV6DMPA.mjs +0 -263
- package/dist/chunk-FFV6DMPA.mjs.map +0 -1
- package/dist/chunk-FLFYAWSS.mjs +0 -238
- package/dist/chunk-FLFYAWSS.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-FTRCBE3J.js +0 -320
- package/dist/chunk-FTRCBE3J.js.map +0 -1
- package/dist/chunk-FZ4FIWCR.js +0 -240
- package/dist/chunk-FZ4FIWCR.js.map +0 -1
- package/dist/chunk-GDODJJ7D.mjs +0 -36
- package/dist/chunk-GDODJJ7D.mjs.map +0 -1
- package/dist/chunk-GSBQIVME.mjs +0 -278
- package/dist/chunk-GSBQIVME.mjs.map +0 -1
- package/dist/chunk-GSTY3GO7.mjs +0 -40
- package/dist/chunk-GSTY3GO7.mjs.map +0 -1
- package/dist/chunk-H3B54PFV.mjs +0 -17
- package/dist/chunk-H3B54PFV.mjs.map +0 -1
- package/dist/chunk-H7WPK5CR.js +0 -297
- package/dist/chunk-H7WPK5CR.js.map +0 -1
- package/dist/chunk-HJFVRV47.js +0 -120
- package/dist/chunk-HJFVRV47.js.map +0 -1
- package/dist/chunk-HL7ZAAD4.mjs +0 -375
- package/dist/chunk-HL7ZAAD4.mjs.map +0 -1
- package/dist/chunk-IWJOPXYN.mjs +0 -96
- package/dist/chunk-IWJOPXYN.mjs.map +0 -1
- package/dist/chunk-J62YDWIK.js +0 -8
- package/dist/chunk-J62YDWIK.js.map +0 -1
- package/dist/chunk-JB5XXPLL.js +0 -377
- package/dist/chunk-JB5XXPLL.js.map +0 -1
- package/dist/chunk-JIKAD4YL.js +0 -4
- package/dist/chunk-JIKAD4YL.js.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-OHA5KJ2M.mjs +0 -6
- package/dist/chunk-OHA5KJ2M.mjs.map +0 -1
- package/dist/chunk-OX5CESVM.js +0 -40
- package/dist/chunk-OX5CESVM.js.map +0 -1
- package/dist/chunk-P25HBGP5.mjs +0 -3
- package/dist/chunk-P25HBGP5.mjs.map +0 -1
- package/dist/chunk-P7CHGWY7.js +0 -4
- package/dist/chunk-P7CHGWY7.js.map +0 -1
- package/dist/chunk-QAPQGDWK.js +0 -8
- package/dist/chunk-QAPQGDWK.js.map +0 -1
- package/dist/chunk-QOGBOT2M.mjs +0 -328
- package/dist/chunk-QOGBOT2M.mjs.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-RI6SDMER.mjs +0 -295
- package/dist/chunk-RI6SDMER.mjs.map +0 -1
- package/dist/chunk-RIIVW6TQ.mjs +0 -267
- package/dist/chunk-RIIVW6TQ.mjs.map +0 -1
- package/dist/chunk-RV64M4Q6.mjs +0 -3
- package/dist/chunk-RV64M4Q6.mjs.map +0 -1
- package/dist/chunk-RXUJ4DUB.js +0 -330
- package/dist/chunk-RXUJ4DUB.js.map +0 -1
- package/dist/chunk-SD7BHT2F.mjs +0 -3
- package/dist/chunk-SD7BHT2F.mjs.map +0 -1
- package/dist/chunk-SWWLOD7Q.mjs +0 -6
- package/dist/chunk-SWWLOD7Q.mjs.map +0 -1
- package/dist/chunk-TIGHBA37.js +0 -143
- package/dist/chunk-TIGHBA37.js.map +0 -1
- package/dist/chunk-TLEVIIUE.mjs +0 -34
- package/dist/chunk-TLEVIIUE.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-VCX6FG3E.mjs +0 -318
- package/dist/chunk-VCX6FG3E.mjs.map +0 -1
- package/dist/chunk-VEIVYUYF.js +0 -4
- package/dist/chunk-VEIVYUYF.js.map +0 -1
- package/dist/chunk-VYSOAGRU.mjs +0 -6
- package/dist/chunk-VYSOAGRU.mjs.map +0 -1
- package/dist/chunk-WJBJARLJ.js +0 -38
- package/dist/chunk-WJBJARLJ.js.map +0 -1
- package/dist/chunk-WNUB3UTT.js +0 -241
- package/dist/chunk-WNUB3UTT.js.map +0 -1
- package/dist/chunk-WQHTNL5L.js +0 -4
- package/dist/chunk-WQHTNL5L.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-XRYLHTVV.mjs +0 -267
- package/dist/chunk-XRYLHTVV.mjs.map +0 -1
- package/dist/chunk-XSJTASPK.js +0 -13
- package/dist/chunk-XSJTASPK.js.map +0 -1
- package/dist/chunk-XT3BAM4H.js +0 -45
- package/dist/chunk-XT3BAM4H.js.map +0 -1
- package/dist/chunk-YBK6EBA5.mjs +0 -239
- package/dist/chunk-YBK6EBA5.mjs.map +0 -1
- package/dist/chunk-YFEPTSI2.js +0 -265
- package/dist/chunk-YFEPTSI2.js.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 -267
- package/dist/deployments.generated.d.ts +0 -267
- 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 -266
- package/dist/entities/DopplerFactory.d.ts +0 -266
- package/dist/entities/DopplerFactory.js +0 -33
- package/dist/entities/DopplerFactory.js.map +0 -1
- package/dist/entities/DopplerFactory.mjs +0 -24
- 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 -74
- package/dist/entities/auction/MulticurvePool.d.ts +0 -74
- 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/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 -7
- package/dist/entities/auction/index.d.ts +0 -7
- package/dist/entities/auction/index.js +0 -35
- package/dist/entities/auction/index.js.map +0 -1
- package/dist/entities/auction/index.mjs +0 -18
- 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 -37
- package/dist/index.d.ts +0 -37
- package/dist/index.js +0 -565
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -47
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.mts +0 -607
- package/dist/types.d.ts +0 -607
- package/dist/types.js +0 -30
- 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 -11
- package/dist/utils/dopplerHookMigrator.d.ts +0 -11
- package/dist/utils/dopplerHookMigrator.js +0 -12
- package/dist/utils/dopplerHookMigrator.js.map +0 -1
- package/dist/utils/dopplerHookMigrator.mjs +0 -3
- 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 -195
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/index.mjs +0 -22
- 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-H7WPK5CR.js
DELETED
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk7CAAI5DL_js = require('./chunk-7CAAI5DL.js');
|
|
4
|
-
var chunk3MVW6UIW_js = require('./chunk-3MVW6UIW.js');
|
|
5
|
-
var viem = require('viem');
|
|
6
|
-
|
|
7
|
-
var DynamicAuction = class {
|
|
8
|
-
get rpc() {
|
|
9
|
-
return this.client;
|
|
10
|
-
}
|
|
11
|
-
constructor(client, hookAddress) {
|
|
12
|
-
this.client = client;
|
|
13
|
-
this.hookAddress = hookAddress;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Wait for a transaction to be confirmed and the contract to be ready for reads
|
|
17
|
-
* @param hash - Transaction hash to wait for
|
|
18
|
-
* @param confirmations - Number of block confirmations to wait for (default: 2)
|
|
19
|
-
*/
|
|
20
|
-
async waitForDeployment(hash, confirmations = 2) {
|
|
21
|
-
await this.rpc.waitForTransactionReceipt({ hash, confirmations });
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Get the hook address
|
|
25
|
-
*/
|
|
26
|
-
getAddress() {
|
|
27
|
-
return this.hookAddress;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Get current hook information
|
|
31
|
-
*/
|
|
32
|
-
async getHookInfo() {
|
|
33
|
-
const [
|
|
34
|
-
state,
|
|
35
|
-
earlyExit,
|
|
36
|
-
insufficientProceeds,
|
|
37
|
-
poolKeyRaw,
|
|
38
|
-
startingTime,
|
|
39
|
-
endingTime,
|
|
40
|
-
epochLength,
|
|
41
|
-
minimumProceeds,
|
|
42
|
-
maximumProceeds
|
|
43
|
-
] = await Promise.all([
|
|
44
|
-
this.readHookState(),
|
|
45
|
-
this.rpc.readContract({
|
|
46
|
-
address: this.hookAddress,
|
|
47
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
48
|
-
functionName: "earlyExit"
|
|
49
|
-
}),
|
|
50
|
-
this.rpc.readContract({
|
|
51
|
-
address: this.hookAddress,
|
|
52
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
53
|
-
functionName: "insufficientProceeds"
|
|
54
|
-
}),
|
|
55
|
-
this.rpc.readContract({
|
|
56
|
-
address: this.hookAddress,
|
|
57
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
58
|
-
functionName: "poolKey"
|
|
59
|
-
}),
|
|
60
|
-
this.rpc.readContract({
|
|
61
|
-
address: this.hookAddress,
|
|
62
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
63
|
-
functionName: "startingTime"
|
|
64
|
-
}),
|
|
65
|
-
this.rpc.readContract({
|
|
66
|
-
address: this.hookAddress,
|
|
67
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
68
|
-
functionName: "endingTime"
|
|
69
|
-
}),
|
|
70
|
-
this.rpc.readContract({
|
|
71
|
-
address: this.hookAddress,
|
|
72
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
73
|
-
functionName: "epochLength"
|
|
74
|
-
}),
|
|
75
|
-
this.rpc.readContract({
|
|
76
|
-
address: this.hookAddress,
|
|
77
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
78
|
-
functionName: "minimumProceeds"
|
|
79
|
-
}),
|
|
80
|
-
this.rpc.readContract({
|
|
81
|
-
address: this.hookAddress,
|
|
82
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
83
|
-
functionName: "maximumProceeds"
|
|
84
|
-
})
|
|
85
|
-
]);
|
|
86
|
-
const currentTime = BigInt(Math.floor(Date.now() / 1e3));
|
|
87
|
-
const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0);
|
|
88
|
-
const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0;
|
|
89
|
-
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
90
|
-
const isToken0 = poolKey.currency0 !== viem.zeroAddress;
|
|
91
|
-
const tokenAddress = isToken0 ? poolKey.currency0 : poolKey.currency1;
|
|
92
|
-
const numeraireAddress = isToken0 ? poolKey.currency1 : poolKey.currency0;
|
|
93
|
-
const poolId = this.computePoolId(poolKey);
|
|
94
|
-
return {
|
|
95
|
-
hookAddress: this.hookAddress,
|
|
96
|
-
tokenAddress,
|
|
97
|
-
numeraireAddress,
|
|
98
|
-
poolId,
|
|
99
|
-
currentEpoch,
|
|
100
|
-
totalProceeds: state.totalProceeds,
|
|
101
|
-
totalTokensSold: state.totalTokensSold,
|
|
102
|
-
earlyExit,
|
|
103
|
-
insufficientProceeds,
|
|
104
|
-
startingTime,
|
|
105
|
-
endingTime,
|
|
106
|
-
epochLength,
|
|
107
|
-
minimumProceeds,
|
|
108
|
-
maximumProceeds
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Get the token address for this auction
|
|
113
|
-
*/
|
|
114
|
-
async getTokenAddress() {
|
|
115
|
-
const poolKeyRaw = await this.rpc.readContract({
|
|
116
|
-
address: this.hookAddress,
|
|
117
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
118
|
-
functionName: "poolKey"
|
|
119
|
-
});
|
|
120
|
-
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
121
|
-
const isToken0 = await this.rpc.readContract({
|
|
122
|
-
address: this.hookAddress,
|
|
123
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
124
|
-
functionName: "isToken0"
|
|
125
|
-
});
|
|
126
|
-
return isToken0 ? poolKey.currency0 : poolKey.currency1;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Get the pool ID for this auction
|
|
130
|
-
*/
|
|
131
|
-
async getPoolId() {
|
|
132
|
-
const poolKeyRaw = await this.rpc.readContract({
|
|
133
|
-
address: this.hookAddress,
|
|
134
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
135
|
-
functionName: "poolKey"
|
|
136
|
-
});
|
|
137
|
-
const poolKey = this.normalizePoolKey(poolKeyRaw);
|
|
138
|
-
return this.computePoolId(poolKey);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Check if the auction has graduated (ready for migration)
|
|
142
|
-
*/
|
|
143
|
-
async hasGraduated() {
|
|
144
|
-
const tokenAddress = await this.getTokenAddress();
|
|
145
|
-
const chainId = await this.rpc.getChainId();
|
|
146
|
-
const addresses = chunk7CAAI5DL_js.getAddresses(chainId);
|
|
147
|
-
const assetData = await this.rpc.readContract({
|
|
148
|
-
address: addresses.airlock,
|
|
149
|
-
abi: chunk3MVW6UIW_js.airlockAbi,
|
|
150
|
-
functionName: "getAssetData",
|
|
151
|
-
args: [tokenAddress]
|
|
152
|
-
});
|
|
153
|
-
const liquidityMigrator = Array.isArray(assetData) ? assetData[3] : assetData?.liquidityMigrator;
|
|
154
|
-
return liquidityMigrator === viem.zeroAddress;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Get the current epoch
|
|
158
|
-
*/
|
|
159
|
-
async getCurrentEpoch() {
|
|
160
|
-
const [startingTime, epochLength] = await Promise.all([
|
|
161
|
-
this.rpc.readContract({
|
|
162
|
-
address: this.hookAddress,
|
|
163
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
164
|
-
functionName: "startingTime"
|
|
165
|
-
}),
|
|
166
|
-
this.rpc.readContract({
|
|
167
|
-
address: this.hookAddress,
|
|
168
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
169
|
-
functionName: "epochLength"
|
|
170
|
-
})
|
|
171
|
-
]);
|
|
172
|
-
const currentTime = BigInt(Math.floor(Date.now() / 1e3));
|
|
173
|
-
const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0);
|
|
174
|
-
return Number(elapsedTime / epochLength);
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Get the current price in the auction
|
|
178
|
-
* Returns the current tick based on the epoch and gamma parameters
|
|
179
|
-
*/
|
|
180
|
-
async getCurrentPrice() {
|
|
181
|
-
const [_state, startingTick, endingTick, gamma, startingTime, epochLength] = await Promise.all([
|
|
182
|
-
this.readHookState(),
|
|
183
|
-
this.rpc.readContract({
|
|
184
|
-
address: this.hookAddress,
|
|
185
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
186
|
-
functionName: "startingTick"
|
|
187
|
-
}),
|
|
188
|
-
this.rpc.readContract({
|
|
189
|
-
address: this.hookAddress,
|
|
190
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
191
|
-
functionName: "endingTick"
|
|
192
|
-
}),
|
|
193
|
-
this.rpc.readContract({
|
|
194
|
-
address: this.hookAddress,
|
|
195
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
196
|
-
functionName: "gamma"
|
|
197
|
-
}),
|
|
198
|
-
this.rpc.readContract({
|
|
199
|
-
address: this.hookAddress,
|
|
200
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
201
|
-
functionName: "startingTime"
|
|
202
|
-
}),
|
|
203
|
-
this.rpc.readContract({
|
|
204
|
-
address: this.hookAddress,
|
|
205
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
206
|
-
functionName: "epochLength"
|
|
207
|
-
})
|
|
208
|
-
]);
|
|
209
|
-
const currentTime = BigInt(Math.floor(Date.now() / 1e3));
|
|
210
|
-
const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0);
|
|
211
|
-
const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0;
|
|
212
|
-
const direction = endingTick > startingTick ? 1 : -1;
|
|
213
|
-
const tickMovement = Math.floor(currentEpoch * gamma * direction);
|
|
214
|
-
const currentTick = Math.floor(startingTick + tickMovement);
|
|
215
|
-
return BigInt(currentTick);
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Get total proceeds collected so far
|
|
219
|
-
*/
|
|
220
|
-
async getTotalProceeds() {
|
|
221
|
-
const state = await this.readHookState();
|
|
222
|
-
return state.totalProceeds;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Check if the auction ended early due to max proceeds
|
|
226
|
-
*/
|
|
227
|
-
async hasEndedEarly() {
|
|
228
|
-
return await this.rpc.readContract({
|
|
229
|
-
address: this.hookAddress,
|
|
230
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
231
|
-
functionName: "earlyExit"
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Compute V4 pool ID from pool key components
|
|
236
|
-
*/
|
|
237
|
-
computePoolId(poolKey) {
|
|
238
|
-
const encoded = viem.encodeAbiParameters(
|
|
239
|
-
[
|
|
240
|
-
{ type: "address" },
|
|
241
|
-
{ type: "address" },
|
|
242
|
-
{ type: "uint24" },
|
|
243
|
-
{ type: "int24" },
|
|
244
|
-
{ type: "address" }
|
|
245
|
-
],
|
|
246
|
-
[
|
|
247
|
-
poolKey.currency0,
|
|
248
|
-
poolKey.currency1,
|
|
249
|
-
poolKey.fee,
|
|
250
|
-
poolKey.tickSpacing,
|
|
251
|
-
poolKey.hooks
|
|
252
|
-
]
|
|
253
|
-
);
|
|
254
|
-
return viem.keccak256(encoded);
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Read hook state with backward-compatible decoding.
|
|
258
|
-
* Falls back to legacy state() ABI if the latest ABI fails to decode.
|
|
259
|
-
*/
|
|
260
|
-
async readHookState() {
|
|
261
|
-
const result = await this.rpc.readContract({
|
|
262
|
-
address: this.hookAddress,
|
|
263
|
-
abi: chunk3MVW6UIW_js.dopplerHookAbi,
|
|
264
|
-
functionName: "state"
|
|
265
|
-
});
|
|
266
|
-
if (Array.isArray(result)) {
|
|
267
|
-
const [
|
|
268
|
-
lastEpoch,
|
|
269
|
-
tickAccumulator,
|
|
270
|
-
totalTokensSold,
|
|
271
|
-
totalProceeds,
|
|
272
|
-
totalTokensSoldLastEpoch,
|
|
273
|
-
feesAccrued
|
|
274
|
-
] = result;
|
|
275
|
-
return {
|
|
276
|
-
lastEpoch,
|
|
277
|
-
tickAccumulator,
|
|
278
|
-
totalTokensSold,
|
|
279
|
-
totalProceeds,
|
|
280
|
-
totalTokensSoldLastEpoch,
|
|
281
|
-
feesAccrued
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
return result;
|
|
285
|
-
}
|
|
286
|
-
normalizePoolKey(value) {
|
|
287
|
-
if (Array.isArray(value)) {
|
|
288
|
-
const [currency0, currency1, fee, tickSpacing, hooks] = value;
|
|
289
|
-
return { currency0, currency1, fee, tickSpacing, hooks };
|
|
290
|
-
}
|
|
291
|
-
return value;
|
|
292
|
-
}
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
exports.DynamicAuction = DynamicAuction;
|
|
296
|
-
//# sourceMappingURL=chunk-H7WPK5CR.js.map
|
|
297
|
-
//# sourceMappingURL=chunk-H7WPK5CR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/entities/auction/DynamicAuction.ts"],"names":["dopplerHookAbi","zeroAddress","getAddresses","airlockAbi","encodeAbiParameters","keccak256"],"mappings":"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","file":"chunk-H7WPK5CR.js","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-HJFVRV47.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk4VWQNNNW_js = require('./chunk-4VWQNNNW.js');
|
|
4
|
-
var chunk6BQY5EPB_js = require('./chunk-6BQY5EPB.js');
|
|
5
|
-
|
|
6
|
-
// src/builders/shared.ts
|
|
7
|
-
function computeTicks(priceRange, tickSpacing) {
|
|
8
|
-
const startTick = Math.floor(
|
|
9
|
-
Math.log(priceRange.startPrice) / Math.log(1.0001) / tickSpacing
|
|
10
|
-
) * tickSpacing;
|
|
11
|
-
const endTick = Math.ceil(Math.log(priceRange.endPrice) / Math.log(1.0001) / tickSpacing) * tickSpacing;
|
|
12
|
-
return { startTick, endTick };
|
|
13
|
-
}
|
|
14
|
-
var MARKET_CAP_PRESET_ORDER = [
|
|
15
|
-
"low",
|
|
16
|
-
"medium",
|
|
17
|
-
"high"
|
|
18
|
-
];
|
|
19
|
-
var MARKET_CAP_PRESETS = {
|
|
20
|
-
low: {
|
|
21
|
-
tickLower: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_LOWER_TICKS[0],
|
|
22
|
-
tickUpper: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_UPPER_TICKS[0],
|
|
23
|
-
numPositions: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_NUM_POSITIONS[0],
|
|
24
|
-
shares: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[0]
|
|
25
|
-
},
|
|
26
|
-
medium: {
|
|
27
|
-
tickLower: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_LOWER_TICKS[1],
|
|
28
|
-
tickUpper: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_UPPER_TICKS[1],
|
|
29
|
-
numPositions: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_NUM_POSITIONS[1],
|
|
30
|
-
shares: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[1]
|
|
31
|
-
},
|
|
32
|
-
high: {
|
|
33
|
-
tickLower: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_LOWER_TICKS[2],
|
|
34
|
-
tickUpper: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_UPPER_TICKS[2],
|
|
35
|
-
numPositions: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_NUM_POSITIONS[2],
|
|
36
|
-
shares: chunk6BQY5EPB_js.DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[2]
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
function buildCurvesFromPresets(params) {
|
|
40
|
-
const fee = params?.fee ?? chunk6BQY5EPB_js.FEE_TIERS.LOW;
|
|
41
|
-
const tickSpacing = params?.tickSpacing ?? chunk6BQY5EPB_js.TICK_SPACINGS[fee];
|
|
42
|
-
if (tickSpacing === void 0) {
|
|
43
|
-
throw new Error(
|
|
44
|
-
"tickSpacing must be provided when using a custom fee tier"
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
const requestedPresets = params?.presets ?? [...MARKET_CAP_PRESET_ORDER];
|
|
48
|
-
const uniquePresets = [];
|
|
49
|
-
for (const preset of requestedPresets) {
|
|
50
|
-
if (!(preset in MARKET_CAP_PRESETS)) {
|
|
51
|
-
throw new Error(`Unsupported market cap preset: ${preset}`);
|
|
52
|
-
}
|
|
53
|
-
if (!uniquePresets.includes(preset)) {
|
|
54
|
-
uniquePresets.push(preset);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (uniquePresets.length === 0) {
|
|
58
|
-
throw new Error("At least one market cap preset must be provided");
|
|
59
|
-
}
|
|
60
|
-
const presetCurves = uniquePresets.map((preset) => {
|
|
61
|
-
const base = MARKET_CAP_PRESETS[preset];
|
|
62
|
-
const override = params?.overrides?.[preset];
|
|
63
|
-
return {
|
|
64
|
-
tickLower: override?.tickLower ?? base.tickLower,
|
|
65
|
-
tickUpper: override?.tickUpper ?? base.tickUpper,
|
|
66
|
-
numPositions: override?.numPositions ?? base.numPositions,
|
|
67
|
-
shares: override?.shares ?? base.shares
|
|
68
|
-
};
|
|
69
|
-
});
|
|
70
|
-
let totalShares = presetCurves.reduce((acc, curve) => {
|
|
71
|
-
if (curve.shares <= 0n) {
|
|
72
|
-
throw new Error("Preset shares must be greater than zero");
|
|
73
|
-
}
|
|
74
|
-
return acc + curve.shares;
|
|
75
|
-
}, 0n);
|
|
76
|
-
if (totalShares > chunk6BQY5EPB_js.WAD) {
|
|
77
|
-
throw new Error("Total preset shares cannot exceed 100% (1e18)");
|
|
78
|
-
}
|
|
79
|
-
const curves = [...presetCurves];
|
|
80
|
-
if (totalShares < chunk6BQY5EPB_js.WAD) {
|
|
81
|
-
const remainder = chunk6BQY5EPB_js.WAD - totalShares;
|
|
82
|
-
const lastCurve = curves[curves.length - 1];
|
|
83
|
-
let fillerTickLower = lastCurve?.tickUpper ?? 0;
|
|
84
|
-
let fillerNumPositions = lastCurve?.numPositions ?? 1;
|
|
85
|
-
if (fillerNumPositions <= 0) {
|
|
86
|
-
fillerNumPositions = 1;
|
|
87
|
-
}
|
|
88
|
-
const minTickAllowed = Math.ceil(chunk4VWQNNNW_js.MIN_TICK / tickSpacing) * tickSpacing;
|
|
89
|
-
const rawMaxTick = Math.floor(chunk4VWQNNNW_js.MAX_TICK / tickSpacing) * tickSpacing;
|
|
90
|
-
const maxTickAllowed = rawMaxTick - tickSpacing;
|
|
91
|
-
fillerTickLower = Math.max(fillerTickLower, minTickAllowed);
|
|
92
|
-
let fillerTickUpper = fillerTickLower + fillerNumPositions * tickSpacing;
|
|
93
|
-
if (fillerTickUpper > maxTickAllowed) {
|
|
94
|
-
fillerTickUpper = maxTickAllowed;
|
|
95
|
-
fillerTickLower = Math.min(fillerTickLower, maxTickAllowed - tickSpacing);
|
|
96
|
-
}
|
|
97
|
-
if (fillerTickUpper <= fillerTickLower) {
|
|
98
|
-
fillerTickLower = Math.max(minTickAllowed, maxTickAllowed - tickSpacing);
|
|
99
|
-
fillerTickUpper = fillerTickLower + tickSpacing;
|
|
100
|
-
}
|
|
101
|
-
curves.push({
|
|
102
|
-
tickLower: fillerTickLower,
|
|
103
|
-
tickUpper: fillerTickUpper,
|
|
104
|
-
numPositions: fillerNumPositions,
|
|
105
|
-
shares: remainder
|
|
106
|
-
});
|
|
107
|
-
totalShares = chunk6BQY5EPB_js.WAD;
|
|
108
|
-
}
|
|
109
|
-
if (totalShares !== chunk6BQY5EPB_js.WAD) {
|
|
110
|
-
throw new Error("Failed to normalize preset shares to 100%");
|
|
111
|
-
}
|
|
112
|
-
return { fee, tickSpacing, curves };
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
exports.MARKET_CAP_PRESETS = MARKET_CAP_PRESETS;
|
|
116
|
-
exports.MARKET_CAP_PRESET_ORDER = MARKET_CAP_PRESET_ORDER;
|
|
117
|
-
exports.buildCurvesFromPresets = buildCurvesFromPresets;
|
|
118
|
-
exports.computeTicks = computeTicks;
|
|
119
|
-
//# sourceMappingURL=chunk-HJFVRV47.js.map
|
|
120
|
-
//# sourceMappingURL=chunk-HJFVRV47.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/builders/shared.ts"],"names":["DEFAULT_MULTICURVE_LOWER_TICKS","DEFAULT_MULTICURVE_UPPER_TICKS","DEFAULT_MULTICURVE_NUM_POSITIONS","DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES","FEE_TIERS","TICK_SPACINGS","WAD","MIN_TICK","MAX_TICK"],"mappings":"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","file":"chunk-HJFVRV47.js","sourcesContent":["import type { Address } from 'viem';\nimport {\n DEFAULT_MULTICURVE_LOWER_TICKS,\n DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES,\n DEFAULT_MULTICURVE_NUM_POSITIONS,\n DEFAULT_MULTICURVE_UPPER_TICKS,\n FEE_TIERS,\n TICK_SPACINGS,\n WAD,\n} from '../constants';\nimport { MAX_TICK, MIN_TICK } from '../utils';\nimport type {\n PriceRange,\n TickRange,\n MulticurveMarketCapPreset,\n GovernanceOption,\n MigrationConfig,\n} from '../types';\nimport type { SupportedChainId } from '../addresses';\n\n// ============================================================================\n// Common Builder Interface\n// ============================================================================\n\n/**\n * Common interface shared by all auction builders.\n *\n * Defines the methods that all builders (Static, Dynamic, Multicurve) implement.\n * Useful for documentation and ensuring API consistency across builders.\n *\n * @template C - The chain ID type\n */\nexport interface BaseAuctionBuilder<C extends SupportedChainId> {\n /** The chain ID this builder is configured for */\n readonly chainId: C;\n\n /**\n * Configure the token to be created.\n * Supports standard ERC20 or Doppler404 token types.\n */\n tokenConfig(\n params:\n | {\n type?: 'standard';\n name: string;\n symbol: string;\n tokenURI: string;\n yearlyMintRate?: bigint;\n }\n | {\n type: 'doppler404';\n name: string;\n symbol: string;\n baseURI: string;\n unit?: bigint;\n },\n ): this;\n\n /**\n * Configure the token sale parameters.\n * @param params.initialSupply - Total token supply to mint\n * @param params.numTokensToSell - Number of tokens allocated for the bonding curve\n * @param params.numeraire - The quote token address (e.g., WETH)\n */\n saleConfig(params: {\n initialSupply: bigint;\n numTokensToSell: bigint;\n numeraire: Address;\n }): this;\n\n /**\n * Configure token vesting for team/investor allocations.\n * Pass undefined or omit to disable vesting.\n */\n withVesting(params?: {\n duration?: bigint;\n cliffDuration?: number;\n recipients?: Address[];\n amounts?: bigint[];\n }): this;\n\n /**\n * Configure governance for the token.\n * @param params - Use { type: 'default' }, { type: 'noOp' }, { type: 'launchpad', multisig: '0x...' }, or { type: 'custom', ... }\n */\n withGovernance(params: GovernanceOption<C>): this;\n\n /**\n * Configure post-auction liquidity migration.\n * @param migration - Migration target (uniswapV2, uniswapV4, dopplerHook, or noOp)\n */\n withMigration(migration: MigrationConfig): this;\n\n /**\n * Set the user address (token creator/owner).\n * Required for build().\n */\n withUserAddress(address: Address): this;\n\n /**\n * Set the integrator address for fee attribution.\n * Defaults to zero address if not provided.\n */\n withIntegrator(address?: Address): this;\n\n /**\n * Override the default gas limit for the create transaction.\n */\n withGasLimit(gas?: bigint): this;\n\n // Module address overrides\n withTokenFactory(address: Address): this;\n withAirlock(address: Address): this;\n withGovernanceFactory(address: Address): this;\n withV2Migrator(address: Address): this;\n withV4Migrator(address: Address): this;\n withNoOpMigrator(address: Address): this;\n}\n\nexport function computeTicks(\n priceRange: PriceRange,\n tickSpacing: number,\n): TickRange {\n const startTick =\n Math.floor(\n Math.log(priceRange.startPrice) / Math.log(1.0001) / tickSpacing,\n ) * tickSpacing;\n const endTick =\n Math.ceil(Math.log(priceRange.endPrice) / Math.log(1.0001) / tickSpacing) *\n tickSpacing;\n return { startTick, endTick };\n}\n\nexport const MARKET_CAP_PRESET_ORDER = [\n 'low',\n 'medium',\n 'high',\n] as const satisfies readonly MulticurveMarketCapPreset[];\n\nexport type MarketCapPresetConfig = {\n tickLower: number;\n tickUpper: number;\n numPositions: number;\n shares: bigint;\n};\n\nexport const MARKET_CAP_PRESETS: Record<\n MulticurveMarketCapPreset,\n MarketCapPresetConfig\n> = {\n low: {\n tickLower: DEFAULT_MULTICURVE_LOWER_TICKS[0],\n tickUpper: DEFAULT_MULTICURVE_UPPER_TICKS[0],\n numPositions: DEFAULT_MULTICURVE_NUM_POSITIONS[0],\n shares: DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[0],\n },\n medium: {\n tickLower: DEFAULT_MULTICURVE_LOWER_TICKS[1],\n tickUpper: DEFAULT_MULTICURVE_UPPER_TICKS[1],\n numPositions: DEFAULT_MULTICURVE_NUM_POSITIONS[1],\n shares: DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[1],\n },\n high: {\n tickLower: DEFAULT_MULTICURVE_LOWER_TICKS[2],\n tickUpper: DEFAULT_MULTICURVE_UPPER_TICKS[2],\n numPositions: DEFAULT_MULTICURVE_NUM_POSITIONS[2],\n shares: DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[2],\n },\n};\n\nexport type MarketCapPresetOverrides = Partial<\n Record<\n MulticurveMarketCapPreset,\n {\n tickLower?: number;\n tickUpper?: number;\n numPositions?: number;\n shares?: bigint;\n }\n >\n>;\n\n/**\n * Helper to build curves from market cap presets with optional filler curve\n */\nexport function buildCurvesFromPresets(params: {\n fee?: number;\n tickSpacing?: number;\n presets?: MulticurveMarketCapPreset[];\n overrides?: MarketCapPresetOverrides;\n}): { fee: number; tickSpacing: number; curves: MarketCapPresetConfig[] } {\n const fee = params?.fee ?? FEE_TIERS.LOW;\n const tickSpacing =\n params?.tickSpacing ?? (TICK_SPACINGS as Record<number, number>)[fee];\n\n if (tickSpacing === undefined) {\n throw new Error(\n 'tickSpacing must be provided when using a custom fee tier',\n );\n }\n\n const requestedPresets = params?.presets ?? [...MARKET_CAP_PRESET_ORDER];\n const uniquePresets: MulticurveMarketCapPreset[] = [];\n for (const preset of requestedPresets) {\n if (!(preset in MARKET_CAP_PRESETS)) {\n throw new Error(`Unsupported market cap preset: ${preset}`);\n }\n if (!uniquePresets.includes(preset)) {\n uniquePresets.push(preset);\n }\n }\n\n if (uniquePresets.length === 0) {\n throw new Error('At least one market cap preset must be provided');\n }\n\n const presetCurves = uniquePresets.map((preset) => {\n const base = MARKET_CAP_PRESETS[preset];\n const override = params?.overrides?.[preset];\n return {\n tickLower: override?.tickLower ?? base.tickLower,\n tickUpper: override?.tickUpper ?? base.tickUpper,\n numPositions: override?.numPositions ?? base.numPositions,\n shares: override?.shares ?? base.shares,\n };\n });\n\n let totalShares = presetCurves.reduce((acc, curve) => {\n if (curve.shares <= 0n) {\n throw new Error('Preset shares must be greater than zero');\n }\n return acc + curve.shares;\n }, 0n);\n\n if (totalShares > WAD) {\n throw new Error('Total preset shares cannot exceed 100% (1e18)');\n }\n\n const curves = [...presetCurves];\n\n // Add filler curve if shares don't sum to 100%\n if (totalShares < WAD) {\n const remainder = WAD - totalShares;\n const lastCurve = curves[curves.length - 1];\n let fillerTickLower = lastCurve?.tickUpper ?? 0;\n let fillerNumPositions = lastCurve?.numPositions ?? 1;\n\n if (fillerNumPositions <= 0) {\n fillerNumPositions = 1;\n }\n\n const minTickAllowed = Math.ceil(MIN_TICK / tickSpacing) * tickSpacing;\n const rawMaxTick = Math.floor(MAX_TICK / tickSpacing) * tickSpacing;\n const maxTickAllowed = rawMaxTick - tickSpacing;\n\n fillerTickLower = Math.max(fillerTickLower, minTickAllowed);\n let fillerTickUpper = fillerTickLower + fillerNumPositions * tickSpacing;\n\n if (fillerTickUpper > maxTickAllowed) {\n fillerTickUpper = maxTickAllowed;\n fillerTickLower = Math.min(fillerTickLower, maxTickAllowed - tickSpacing);\n }\n\n if (fillerTickUpper <= fillerTickLower) {\n fillerTickLower = Math.max(minTickAllowed, maxTickAllowed - tickSpacing);\n fillerTickUpper = fillerTickLower + tickSpacing;\n }\n\n curves.push({\n tickLower: fillerTickLower,\n tickUpper: fillerTickUpper,\n numPositions: fillerNumPositions,\n shares: remainder,\n });\n\n totalShares = WAD;\n }\n\n if (totalShares !== WAD) {\n throw new Error('Failed to normalize preset shares to 100%');\n }\n\n return { fee, tickSpacing, curves };\n}\n"]}
|